%%
%% This is file `xintcfrac.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% xint.dtx  (with options: `xintcfrac')
%% 
%% IMPORTANT NOTICE:
%% 
%% For the copyright see the source file.
%% 
%% Any modified versions of this file must be renamed
%% with new filenames distinct from xintcfrac.sty.
%% 
%% For distribution of the original source see the terms
%% for copying and modification in the file xint.dtx.
%% 
%% This generated file may be distributed as long as the
%% original source files, as listed above, are part of the
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%%
%%----------------------------------------------------------------
%% The xint bundle (version 1.06 of May 7th, 2013)
%% xintcfrac: Expandable continued fractions with xint package
%% Copyright (C) 2013 by Jean-Francois Burnol
%%----------------------------------------------------------------
%%
\begingroup\catcode61\catcode48\catcode32=10\relax%
  \catcode13=5    % ^^M
  \endlinechar=13 %
  \catcode123=1   % {
  \catcode125=2   % }
  \catcode64=11   % @
  \catcode35=6    % #
  \catcode44=12   % ,
  \catcode45=12   % -
  \catcode46=12   % .
  \catcode58=12   % :
  \def\space { }%
  \let\z\endgroup
  \expandafter\let\expandafter\x\csname ver@xintcfrac.sty\endcsname
  \expandafter\let\expandafter\w\csname ver@xintfrac.sty\endcsname
  \expandafter
    \ifx\csname PackageInfo\endcsname\relax
      \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}%
    \else
      \def\y#1#2{\PackageInfo{#1}{#2}}%
    \fi
  \expandafter
  \ifx\csname numexpr\endcsname\relax
     \y{xintcfrac}{\numexpr not available, aborting input}%
     \aftergroup\endinput
  \else
    \ifx\x\relax   % plain-TeX, first loading of xintcfrac.sty
      \ifx\w\relax % but xintfrac.sty not yet loaded.
         \y{xintcfrac}{Package xintfrac is required}%
         \y{xintcfrac}{Will try \string\input\space xintfrac.sty}%
         \def\z{\endgroup\input xintfrac.sty\relax}%
      \fi
    \else
      \def\empty {}%
      \ifx\x\empty % LaTeX, first loading,
      % variable is initialized, but \ProvidesPackage not yet seen
          \ifx\w\relax % xintfrac.sty not yet loaded.
            \y{xintcfrac}{Package xintfrac is required}%
            \y{xintcfrac}{Will try \string\RequirePackage{xintfrac}}%
            \def\z{\endgroup\RequirePackage{xintfrac}}%
          \fi
      \else
        \y{xintcfrac}{I was already loaded, aborting input}%
        \aftergroup\endinput
      \fi
    \fi
  \fi
\z%
\begingroup\catcode61\catcode48\catcode32=10\relax%
  \catcode13=5    % ^^M
  \endlinechar=13 %
  \catcode123=1   % {
  \catcode125=2   % }
  \catcode64=11   % @
  \catcode35=6    % #
  \catcode44=12   % ,
  \catcode45=12   % -
  \catcode46=12   % .
  \catcode58=12   % :
  \expandafter
    \ifx\csname PackageInfo\endcsname\relax
      \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}%
    \else
      \def\y#1#2{\PackageInfo{#1}{#2}}%
    \fi
  \def\empty {}%
  \expandafter\let\expandafter\w\csname ver@xintfrac.sty\endcsname
  \ifx\w\relax % Plain TeX, user gave a file name at the prompt
      \y{xintcfrac}{Loading of package xintfrac failed, aborting input}%
      \aftergroup\endinput
  \fi
  \ifx\w\empty % LaTeX, user gave a file name at the prompt
      \y{xintcfrac}{Loading of package xintfrac failed, aborting input}%
      \aftergroup\endinput
  \fi
\endgroup%
\begingroup\catcode61\catcode48\catcode32=10\relax%
  \catcode13=5    % ^^M
  \endlinechar=13 %
  \catcode123=1   % {
  \catcode125=2   % }
  \catcode64=11   % @
  \def\x
  {%
      \endgroup
      \edef\XINT@cfrac@restorecatcodes@endinput
      {%
        \catcode93=\the\catcode93   % ]
        \catcode91=\the\catcode91   % [
        \catcode96=\the\catcode96   % `
        \catcode47=\the\catcode47   % /
        \catcode41=\the\catcode41   % )
        \catcode40=\the\catcode40   % (
        \catcode42=\the\catcode42   % *
        \catcode43=\the\catcode43   % +
        \catcode62=\the\catcode62   % >
        \catcode60=\the\catcode60   % <
        \catcode58=\the\catcode58   % :
        \catcode46=\the\catcode46   % .
        \catcode45=\the\catcode45   % -
        \catcode44=\the\catcode44   % ,
        \catcode35=\the\catcode35   % #
        \catcode64=\the\catcode64   % @
        \catcode125=\the\catcode125 % }
        \catcode123=\the\catcode123 % {
        \endlinechar=\the\endlinechar
        \catcode13=\the\catcode13   % ^^M
        \catcode32=\the\catcode32   %
        \catcode61=\the\catcode61\relax   % =
        \noexpand\endinput
      }%
      \XINT@setcatcodes
      \catcode91=12 % [
      \catcode93=12 % ]
  }%
\x
\begingroup
  \catcode58=12 % :
  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
    \def\x#1#2#3[#4]{\endgroup
      \immediate\write-1{Package: #3 #4}%
      \xdef#1{#4}%
    }%
  \else
    \def\x#1#2[#3]{\endgroup
      #2[{#3}]%
      \ifx#1\@undefined
        \xdef#1{#3}%
      \fi
      \ifx#1\relax
        \xdef#1{#3}%
      \fi
    }%
  \fi
\expandafter\x\csname ver@xintcfrac.sty\endcsname
\ProvidesPackage{xintcfrac}%
  [2013/05/07 v1.06 Expandable continued fractions with xint package (jfB)]%
\def\xintCFrac {\romannumeral0\xintcfrac }%
\def\xintcfrac #1%
{%
    \XINT@cfrac@opt@a #1\Z
}%
\def\XINT@cfrac@opt@a #1%
{%
    \ifx#1[\XINT@cfrac@opt@b\fi \XINT@cfrac@noopt #1%
}%
\def\XINT@cfrac@noopt #1\Z
{%
    \expandafter\XINT@cfrac@A\romannumeral0\xintraw {#1}\Z
    \relax\relax
}%
\def\XINT@cfrac@opt@b\fi\XINT@cfrac@noopt [\Z #1]%
{%
    \fi\csname XINT@cfrac@opt#1\endcsname
}%
\def\XINT@cfrac@optl #1%
{%
    \expandafter\XINT@cfrac@A\romannumeral0\xintraw {#1}\Z
    \relax\hfill
}%
\def\XINT@cfrac@optc #1%
{%
    \expandafter\XINT@cfrac@A\romannumeral0\xintraw {#1}\Z
    \relax\relax
}%
\def\XINT@cfrac@optr #1%
{%
    \expandafter\XINT@cfrac@A\romannumeral0\xintraw {#1}\Z
    \hfill\relax
}%
\def\XINT@cfrac@A #1/#2\Z
{%
    \expandafter\XINT@cfrac@B\romannumeral0\xintidivision {#1}{#2}{#2}%
}%
\def\XINT@cfrac@B #1#2%
{%
    \XINT@cfrac@C #2\Z {#1}%
}%
\def\XINT@cfrac@C #1%
{%
    \xint@zero #1\XINT@cfrac@integer 0\XINT@cfrac@D #1%
}%
\def\XINT@cfrac@integer 0\XINT@cfrac@D 0#1\Z #2#3#4#5{ #2}%
\def\XINT@cfrac@D #1\Z #2#3{\XINT@cfrac@loop@a {#1}{#3}{#1}{{#2}}}%
\def\XINT@cfrac@loop@a
{%
    \expandafter\XINT@cfrac@loop@d\romannumeral0\XINT@div@prepare
}%
\def\XINT@cfrac@loop@d #1#2%
{%
    \XINT@cfrac@loop@e #2.{#1}%
}%
\def\XINT@cfrac@loop@e #1%
{%
    \xint@zero #1\xint@cfrac@loop@exit0\XINT@cfrac@loop@f #1%
}%
\def\XINT@cfrac@loop@f #1.#2#3#4%
{%
    \XINT@cfrac@loop@a {#1}{#3}{#1}{{#2}#4}%
}%
\def\xint@cfrac@loop@exit0\XINT@cfrac@loop@f #1.#2#3#4#5#6%
   {\XINT@cfrac@T #5#6{#2}#4\Z }%
\def\XINT@cfrac@T #1#2#3#4%
{%
    \xint@z #4\XINT@cfrac@end\Z\XINT@cfrac@T #1#2{#4+\cfrac{#11#2}{#3}}%
}%
\def\XINT@cfrac@end\Z\XINT@cfrac@T #1#2#3%
{%
    \XINT@cfrac@@end #3%
}%
\def\XINT@cfrac@@end \Z+\cfrac#1#2{ #2}%
\def\xintGCFrac {\romannumeral0\xintgcfrac }%
\def\xintgcfrac #1%
{%
    \XINT@gcfrac@opt@a #1\Z
}%
\def\XINT@gcfrac@opt@a #1%
{%
    \ifx#1[\XINT@gcfrac@opt@b\fi \XINT@gcfrac@noopt #1%
}%
\def\XINT@gcfrac@noopt #1\Z
{%
    \XINT@gcfrac #1+\W/\relax\relax
}%
\def\XINT@gcfrac@opt@b\fi\XINT@gcfrac@noopt [\Z #1]%
{%
    \fi\csname XINT@gcfrac@opt#1\endcsname
}%
\def\XINT@gcfrac@optl #1%
{%
    \XINT@gcfrac #1+\W/\relax\hfill
}%
\def\XINT@gcfrac@optc #1%
{%
    \XINT@gcfrac #1+\W/\relax\relax
}%
\def\XINT@gcfrac@optr #1%
{%
    \XINT@gcfrac #1+\W/\hfill\relax
}%
\def\XINT@gcfrac
{%
    \expandafter\XINT@gcfrac@enter\romannumeral-`0%
}%
\def\XINT@gcfrac@enter {\XINT@gcfrac@loop {}}%
\def\XINT@gcfrac@loop #1#2+#3/%
{%
    \xint@w #3\XINT@gcfrac@endloop\W\XINT@gcfrac@loop {{#3}{#2}#1}%
}%
\def\XINT@gcfrac@endloop\W\XINT@gcfrac@loop #1#2#3%
{%
    \XINT@gcfrac@T #2#3#1\Z\Z
}%
\def\XINT@gcfrac@T #1#2#3#4{\XINT@gcfrac@U #1#2{\xintFrac{#4}}}%
\def\XINT@gcfrac@U #1#2#3#4#5%
{%
    \xint@z #5\XINT@gcfrac@end\Z\XINT@gcfrac@U
              #1#2{\xintFrac{#5}%
               \ifcase\xintSgn{#4}
               +\or+\else-\fi
               \cfrac{#1\xintFrac{\xintAbs{#4}}#2}{#3}}%
}%
\def\XINT@gcfrac@end\Z\XINT@gcfrac@U #1#2#3%
{%
    \XINT@gcfrac@@end #3%
}%
\def\XINT@gcfrac@@end #1\cfrac#2#3{ #3}%
\def\xintGCtoGCx {\romannumeral0\xintgctogcx }%
\def\xintgctogcx #1#2#3%
{%
    \expandafter\XINT@gctgcx@start\expandafter {\romannumeral-`0#3}{#1}{#2}%
}%
\def\XINT@gctgcx@start #1#2#3{\XINT@gctgcx@loop@a {}{#2}{#3}#1+\W/}%
\def\XINT@gctgcx@loop@a #1#2#3#4+#5/%
{%
    \xint@w #5\XINT@gctgcx@end\W
    \XINT@gctgcx@loop@b {#1{#4}}{#2{#5}#3}{#2}{#3}%
}%
\def\XINT@gctgcx@loop@b #1#2%
{%
    \XINT@gctgcx@loop@a {#1#2}%
}%
\def\XINT@gctgcx@end\W\XINT@gctgcx@loop@b #1#2#3#4{ #1}%
\def\xintFtoCs {\romannumeral0\xintftocs }%
\def\xintftocs #1%
{%
    \expandafter\XINT@ftc@A\romannumeral0\xintraw {#1}\Z
}%
\def\XINT@ftc@A #1/#2\Z
{%
    \expandafter\XINT@ftc@B\romannumeral0\xintidivision {#1}{#2}{#2}%
}%
\def\XINT@ftc@B #1#2%
{%
    \XINT@ftc@C #2.{#1}%
}%
\def\XINT@ftc@C #1%
{%
    \xint@zero #1\XINT@ftc@integer 0\XINT@ftc@D #1%
}%
\def\XINT@ftc@integer 0\XINT@ftc@D 0#1.#2#3{ #2}%
\def\XINT@ftc@D #1.#2#3{\XINT@ftc@loop@a {#1}{#3}{#1}{#2,}}%
\def\XINT@ftc@loop@a
{%
    \expandafter\XINT@ftc@loop@d\romannumeral0\XINT@div@prepare
}%
\def\XINT@ftc@loop@d #1#2%
{%
    \XINT@ftc@loop@e #2.{#1}%
}%
\def\XINT@ftc@loop@e #1%
{%
    \xint@zero #1\xint@ftc@loop@exit0\XINT@ftc@loop@f #1%
}%
\def\XINT@ftc@loop@f #1.#2#3#4%
{%
    \XINT@ftc@loop@a {#1}{#3}{#1}{#4#2,}%
}%
\def\xint@ftc@loop@exit0\XINT@ftc@loop@f #1.#2#3#4{ #4#2}%
\def\xintFtoCx {\romannumeral0\xintftocx }%
\def\xintftocx #1#2%
{%
    \expandafter\XINT@ftcx@A\romannumeral0\xintraw {#2}\Z {#1}%
}%
\def\XINT@ftcx@A #1/#2\Z
{%
    \expandafter\XINT@ftcx@B\romannumeral0\xintidivision {#1}{#2}{#2}%
}%
\def\XINT@ftcx@B #1#2%
{%
    \XINT@ftcx@C #2.{#1}%
}%
\def\XINT@ftcx@C #1%
{%
    \xint@zero #1\XINT@ftcx@integer 0\XINT@ftcx@D #1%
}%
\def\XINT@ftcx@integer 0\XINT@ftcx@D 0#1.#2#3#4{ #2}%
\def\XINT@ftcx@D #1.#2#3#4{\XINT@ftcx@loop@a {#1}{#3}{#1}{#2#4}{#4}}%
\def\XINT@ftcx@loop@a
{%
    \expandafter\XINT@ftcx@loop@d\romannumeral0\XINT@div@prepare
}%
\def\XINT@ftcx@loop@d #1#2%
{%
    \XINT@ftcx@loop@e #2.{#1}%
}%
\def\XINT@ftcx@loop@e #1%
{%
    \xint@zero #1\xint@ftcx@loop@exit0\XINT@ftcx@loop@f #1%
}%
\def\XINT@ftcx@loop@f #1.#2#3#4#5%
{%
    \XINT@ftcx@loop@a {#1}{#3}{#1}{#4{#2}#5}{#5}%
}%
\def\xint@ftcx@loop@exit0\XINT@ftcx@loop@f #1.#2#3#4#5{ #4{#2}}%
\def\xintFtoGC {\romannumeral0\xintftogc }%
\def\xintftogc {\xintftocx {+1/}}%
\def\xintFtoCC {\romannumeral0\xintftocc }%
\def\xintftocc #1%
{%
    \expandafter\XINT@ftcc@A\expandafter {\romannumeral0\xintraw {#1}}%
}%
\def\XINT@ftcc@A #1%
{%
    \expandafter\XINT@ftcc@B
    \romannumeral0\xintraw {\xintAdd {1/2[0]}{#1[0]}}\Z {#1[0]}%
}%
\def\XINT@ftcc@B #1/#2\Z
{%
    \expandafter\XINT@ftcc@C\expandafter {\romannumeral0\xintiquo {#1}{#2}}%
}%
\def\XINT@ftcc@C #1#2%
{%
    \expandafter\XINT@ftcc@D\romannumeral0\xintsub {#2}{#1}\Z {#1}%
}%
\def\XINT@ftcc@D #1%
{%
    \xint@UDzerominusfork
      #1-\dummy \XINT@ftcc@integer
      0#1\dummy \XINT@ftcc@En
       0-\dummy {\XINT@ftcc@Ep #1}%
    \xint@UDkrof
}%
\def\XINT@ftcc@Ep #1\Z #2%
{%
    \expandafter\XINT@ftcc@loop@a\expandafter
    {\romannumeral0\xintdiv {1[0]}{#1}}{#2+1/}%
}%
\def\XINT@ftcc@En #1\Z #2%
{%
    \expandafter\XINT@ftcc@loop@a\expandafter
    {\romannumeral0\xintdiv {1[0]}{#1}}{#2+-1/}%
}%
\def\XINT@ftcc@integer #1\Z #2{ #2}%
\def\XINT@ftcc@loop@a #1%
{%
    \expandafter\XINT@ftcc@loop@b
    \romannumeral0\xintraw {\xintAdd {1/2[0]}{#1}}\Z {#1}%
}%
\def\XINT@ftcc@loop@b #1/#2\Z
{%
    \expandafter\XINT@ftcc@loop@c\expandafter
    {\romannumeral0\xintiquo {#1}{#2}}%
}%
\def\XINT@ftcc@loop@c #1#2%
{%
    \expandafter\XINT@ftcc@loop@d
    \romannumeral0\xintsub {#2}{#1[0]}\Z {#1}%
}%
\def\XINT@ftcc@loop@d #1%
{%
    \xint@UDzerominusfork
      #1-\dummy \XINT@ftcc@end
      0#1\dummy \XINT@ftcc@loop@N
       0-\dummy {\XINT@ftcc@loop@P #1}%
    \xint@UDkrof
}%
\def\XINT@ftcc@end #1\Z #2#3{ #3#2}%
\def\XINT@ftcc@loop@P #1\Z #2#3%
{%
    \expandafter\XINT@ftcc@loop@a\expandafter
    {\romannumeral0\xintdiv {1[0]}{#1}}{#3#2+1/}%
}%
\def\XINT@ftcc@loop@N #1\Z #2#3%
{%
    \expandafter\XINT@ftcc@loop@a\expandafter
    {\romannumeral0\xintdiv {1[0]}{#1}}{#3#2+-1/}%
}%
\def\xintFtoCv {\romannumeral0\xintftocv }%
\def\xintftocv #1%
{%
    \xinticstocv {\xintFtoCs {#1}}%
}%
\def\xintFtoCCv {\romannumeral0\xintftoccv }%
\def\xintftoccv #1%
{%
    \xintigctocv {\xintFtoCC {#1}}%
}%
\def\xintCstoF {\romannumeral0\xintcstof }%
\def\xintcstof #1%
{%
    \expandafter\XINT@cstf@prep \romannumeral-`0#1,\W,%
}%
\def\XINT@cstf@prep
{%
    \XINT@cstf@loop@a 1001%
}%
\def\XINT@cstf@loop@a #1#2#3#4#5,%
{%
    \xint@w #5\XINT@cstf@end\W\expandafter\XINT@cstf@loop@b
    \romannumeral0\xintraw {#5}.{#1}{#2}{#3}{#4}%
}%
\def\XINT@cstf@loop@b #1/#2.#3#4#5#6%
{%
    \expandafter\XINT@cstf@loop@c\expandafter
    {\romannumeral0\XINT@mul@fork #2\Z #4\Z }%
    {\romannumeral0\XINT@mul@fork #2\Z #3\Z }%
    {\romannumeral0\xintiadd {\XINT@Mul {#2}{#6}}{\XINT@Mul {#1}{#4}}}%
    {\romannumeral0\xintiadd {\XINT@Mul {#2}{#5}}{\XINT@Mul {#1}{#3}}}%
}%
\def\XINT@cstf@loop@c #1#2%
{%
    \expandafter\XINT@cstf@loop@d\expandafter {\expandafter{#2}{#1}}%
}%
\def\XINT@cstf@loop@d #1#2%
{%
    \expandafter\XINT@cstf@loop@e\expandafter {\expandafter{#2}#1}%
}%
\def\XINT@cstf@loop@e #1#2%
{%
    \expandafter\XINT@cstf@loop@a\expandafter{#2}#1%
}%
\def\XINT@cstf@end #1.#2#3#4#5{\xintraw {#2/#3}[0]}%
\def\xintiCstoF {\romannumeral0\xinticstof }%
\def\xinticstof #1%
{%
    \expandafter\XINT@icstf@prep \romannumeral-`0#1,\W,%
}%
\def\XINT@icstf@prep
{%
    \XINT@icstf@loop@a 1001%
}%
\def\XINT@icstf@loop@a #1#2#3#4#5,%
{%
    \xint@w #5\XINT@icstf@end\W
    \expandafter
    \XINT@icstf@loop@b \romannumeral-`0#5.{#1}{#2}{#3}{#4}%
}%
\def\XINT@icstf@loop@b #1.#2#3#4#5%
{%
    \expandafter\XINT@icstf@loop@c\expandafter
    {\romannumeral0\xintiadd {#5}{\XINT@Mul {#1}{#3}}}%
    {\romannumeral0\xintiadd {#4}{\XINT@Mul {#1}{#2}}}%
    {#2}{#3}%
}%
\def\XINT@icstf@loop@c #1#2%
{%
    \expandafter\XINT@icstf@loop@a\expandafter {#2}{#1}%
}%
\def\XINT@icstf@end#1.#2#3#4#5{\xintraw {#2/#3}[0]}%
\def\xintGCtoF {\romannumeral0\xintgctof }%
\def\xintgctof #1%
{%
    \expandafter\XINT@gctf@prep \romannumeral-`0#1+\W/%
}%
\def\XINT@gctf@prep
{%
    \XINT@gctf@loop@a 1001%
}%
\def\XINT@gctf@loop@a #1#2#3#4#5+%
{%
    \expandafter\XINT@gctf@loop@b
    \romannumeral0\xintraw {#5}.{#1}{#2}{#3}{#4}%
}%
\def\XINT@gctf@loop@b #1/#2.#3#4#5#6%
{%
    \expandafter\XINT@gctf@loop@c\expandafter
    {\romannumeral0\XINT@mul@fork #2\Z #4\Z }%
    {\romannumeral0\XINT@mul@fork #2\Z #3\Z }%
    {\romannumeral0\xintiadd {\XINT@Mul {#2}{#6}}{\XINT@Mul {#1}{#4}}}%
    {\romannumeral0\xintiadd {\XINT@Mul {#2}{#5}}{\XINT@Mul {#1}{#3}}}%
}%
\def\XINT@gctf@loop@c #1#2%
{%
    \expandafter\XINT@gctf@loop@d\expandafter {\expandafter{#2}{#1}}%
}%
\def\XINT@gctf@loop@d #1#2%
{%
    \expandafter\XINT@gctf@loop@e\expandafter {\expandafter{#2}#1}%
}%
\def\XINT@gctf@loop@e #1#2%
{%
    \expandafter\XINT@gctf@loop@f\expandafter {\expandafter{#2}#1}%
}%
\def\XINT@gctf@loop@f #1#2/%
{%
    \xint@w #2\XINT@gctf@end\W\expandafter\XINT@gctf@loop@g
    \romannumeral0\xintraw {#2}.#1%
}%
\def\XINT@gctf@loop@g #1/#2.#3#4#5#6%
{%
    \expandafter\XINT@gctf@loop@h\expandafter
    {\romannumeral0\XINT@mul@fork #1\Z #6\Z }%
    {\romannumeral0\XINT@mul@fork #1\Z #5\Z }%
    {\romannumeral0\XINT@mul@fork #2\Z #4\Z }%
    {\romannumeral0\XINT@mul@fork #2\Z #3\Z }%
}%
\def\XINT@gctf@loop@h #1#2%
{%
    \expandafter\XINT@gctf@loop@i\expandafter {\expandafter{#2}{#1}}%
}%
\def\XINT@gctf@loop@i #1#2%
{%
    \expandafter\XINT@gctf@loop@j\expandafter {\expandafter{#2}#1}%
}%
\def\XINT@gctf@loop@j #1#2%
{%
    \expandafter\XINT@gctf@loop@a\expandafter {#2}#1%
}%
\def\XINT@gctf@end #1.#2#3#4#5{\xintraw {#2/#3}[0]}%
\def\xintiGCtoF {\romannumeral0\xintigctof }%
\def\xintigctof #1%
{%
    \expandafter\XINT@igctf@prep \romannumeral-`0#1+\W/%
}%
\def\XINT@igctf@prep
{%
    \XINT@igctf@loop@a 1001%
}%
\def\XINT@igctf@loop@a #1#2#3#4#5+%
{%
    \expandafter\XINT@igctf@loop@b
    \romannumeral-`0#5.{#1}{#2}{#3}{#4}%
}%
\def\XINT@igctf@loop@b #1.#2#3#4#5%
{%
    \expandafter\XINT@igctf@loop@c\expandafter
    {\romannumeral0\xintiadd {#5}{\XINT@Mul {#1}{#3}}}%
    {\romannumeral0\xintiadd {#4}{\XINT@Mul {#1}{#2}}}%
    {#2}{#3}%
}%
\def\XINT@igctf@loop@c #1#2%
{%
    \expandafter\XINT@igctf@loop@f\expandafter {\expandafter{#2}{#1}}%
}%
\def\XINT@igctf@loop@f #1#2#3#4/%
{%
    \xint@w #4\XINT@igctf@end\W
    \expandafter\XINT@igctf@loop@g
    \romannumeral-`0#4.{#2}{#3}#1%
}%
\def\XINT@igctf@loop@g #1.#2#3%
{%
    \expandafter\XINT@igctf@loop@h\expandafter
    {\romannumeral0\XINT@mul@fork #1\Z #3\Z }%
    {\romannumeral0\XINT@mul@fork #1\Z #2\Z }%
}%
\def\XINT@igctf@loop@h #1#2%
{%
    \expandafter\XINT@igctf@loop@i\expandafter {#2}{#1}%
}%
\def\XINT@igctf@loop@i #1#2#3#4%
{%
    \XINT@igctf@loop@a {#3}{#4}{#1}{#2}%
}%
\def\XINT@igctf@end #1.#2#3#4#5{\xintraw {#4/#5}[0]}%
\def\xintCstoCv {\romannumeral0\xintcstocv }%
\def\xintcstocv #1%
{%
    \expandafter\XINT@cstcv@prep \romannumeral-`0#1,\W,%
}%
\def\XINT@cstcv@prep
{%
    \XINT@cstcv@loop@a {}1001%
}%
\def\XINT@cstcv@loop@a #1#2#3#4#5#6,%
{%
    \xint@w #6\XINT@cstcv@end\W
    \expandafter\XINT@cstcv@loop@b
    \romannumeral0\xintraw {#6}.{#2}{#3}{#4}{#5}{#1}%
}%
\def\XINT@cstcv@loop@b #1/#2.#3#4#5#6%
{%
    \expandafter\XINT@cstcv@loop@c\expandafter
    {\romannumeral0\XINT@mul@fork #2\Z #4\Z }%
    {\romannumeral0\XINT@mul@fork #2\Z #3\Z }%
    {\romannumeral0\xintiadd {\XINT@Mul {#2}{#6}}{\XINT@Mul {#1}{#4}}}%
    {\romannumeral0\xintiadd {\XINT@Mul {#2}{#5}}{\XINT@Mul {#1}{#3}}}%
}%
\def\XINT@cstcv@loop@c #1#2%
{%
    \expandafter\XINT@cstcv@loop@d\expandafter {\expandafter{#2}{#1}}%
}%
\def\XINT@cstcv@loop@d #1#2%
{%
    \expandafter\XINT@cstcv@loop@e\expandafter {\expandafter{#2}#1}%
}%
\def\XINT@cstcv@loop@e #1#2%
{%
    \expandafter\XINT@cstcv@loop@f\expandafter{#2}#1%
}%
\def\XINT@cstcv@loop@f #1#2#3#4#5%
{%
    \expandafter\XINT@cstcv@loop@g\expandafter
    {\romannumeral0\xintraw {#1/#2}}{#5}{#1}{#2}{#3}{#4}%
}%
\def\XINT@cstcv@loop@g #1#2{\XINT@cstcv@loop@a {#2{#1[0]}}}%
\def\XINT@cstcv@end #1.#2#3#4#5#6{ #6}%
\def\xintiCstoCv {\romannumeral0\xinticstocv }%
\def\xinticstocv #1%
{%
    \expandafter\XINT@icstcv@prep \romannumeral-`0#1,\W,%
}%
\def\XINT@icstcv@prep
{%
    \XINT@icstcv@loop@a {}1001%
}%
\def\XINT@icstcv@loop@a #1#2#3#4#5#6,%
{%
    \xint@w #6\XINT@icstcv@end\W
    \expandafter
    \XINT@icstcv@loop@b \romannumeral-`0#6.{#2}{#3}{#4}{#5}{#1}%
}%
\def\XINT@icstcv@loop@b #1.#2#3#4#5%
{%
    \expandafter\XINT@icstcv@loop@c\expandafter
    {\romannumeral0\xintiadd {#5}{\XINT@Mul {#1}{#3}}}%
    {\romannumeral0\xintiadd {#4}{\XINT@Mul {#1}{#2}}}%
    {{#2}{#3}}%
}%
\def\XINT@icstcv@loop@c #1#2%
{%
    \expandafter\XINT@icstcv@loop@d\expandafter {#2}{#1}%
}%
\def\XINT@icstcv@loop@d #1#2%
{%
    \expandafter\XINT@icstcv@loop@e\expandafter
    {\romannumeral0\xintraw {#1/#2}}{{#1}{#2}}%
}%
\def\XINT@icstcv@loop@e #1#2#3#4{\XINT@icstcv@loop@a {#4{#1[0]}}#2#3}%
\def\XINT@icstcv@end #1.#2#3#4#5#6{ #6}%
\def\xintGCtoCv {\romannumeral0\xintgctocv }%
\def\xintgctocv #1%
{%
    \expandafter\XINT@gctcv@prep \romannumeral-`0#1+\W/%
}%
\def\XINT@gctcv@prep
{%
    \XINT@gctcv@loop@a {}1001%
}%
\def\XINT@gctcv@loop@a #1#2#3#4#5#6+%
{%
    \expandafter\XINT@gctcv@loop@b
    \romannumeral0\xintraw {#6}.{#2}{#3}{#4}{#5}{#1}%
}%
\def\XINT@gctcv@loop@b #1/#2.#3#4#5#6%
{%
    \expandafter\XINT@gctcv@loop@c\expandafter
    {\romannumeral0\XINT@mul@fork #2\Z #4\Z }%
    {\romannumeral0\XINT@mul@fork #2\Z #3\Z }%
    {\romannumeral0\xintiadd {\XINT@Mul {#2}{#6}}{\XINT@Mul {#1}{#4}}}%
    {\romannumeral0\xintiadd {\XINT@Mul {#2}{#5}}{\XINT@Mul {#1}{#3}}}%
}%
\def\XINT@gctcv@loop@c #1#2%
{%
    \expandafter\XINT@gctcv@loop@d\expandafter {\expandafter{#2}{#1}}%
}%
\def\XINT@gctcv@loop@d #1#2%
{%
    \expandafter\XINT@gctcv@loop@e\expandafter {\expandafter{#2}{#1}}%
}%
\def\XINT@gctcv@loop@e #1#2%
{%
    \expandafter\XINT@gctcv@loop@f\expandafter {#2}#1%
}%
\def\XINT@gctcv@loop@f #1#2%
{%
    \expandafter\XINT@gctcv@loop@g\expandafter
    {\romannumeral0\xintraw {#1/#2}}{{#1}{#2}}%
}%
\def\XINT@gctcv@loop@g #1#2#3#4%
{%
    \XINT@gctcv@loop@h {#4{#1[0]}}{#2#3}%
}%
\def\XINT@gctcv@loop@h #1#2#3/%
{%
    \xint@w #3\XINT@gctcv@end\W\expandafter\XINT@gctcv@loop@i
    \romannumeral0\xintraw {#3}.#2{#1}%
}%
\def\XINT@gctcv@loop@i #1/#2.#3#4#5#6%
{%
    \expandafter\XINT@gctcv@loop@j\expandafter
    {\romannumeral0\XINT@mul@fork #1\Z #6\Z }%
    {\romannumeral0\XINT@mul@fork #1\Z #5\Z }%
    {\romannumeral0\XINT@mul@fork #2\Z #4\Z }%
    {\romannumeral0\XINT@mul@fork #2\Z #3\Z }%
}%
\def\XINT@gctcv@loop@j #1#2%
{%
    \expandafter\XINT@gctcv@loop@k\expandafter {\expandafter{#2}{#1}}%
}%
\def\XINT@gctcv@loop@k #1#2%
{%
    \expandafter\XINT@gctcv@loop@l\expandafter {\expandafter{#2}#1}%
}%
\def\XINT@gctcv@loop@l #1#2%
{%
    \expandafter\XINT@gctcv@loop@m\expandafter {\expandafter{#2}#1}%
}%
\def\XINT@gctcv@loop@m #1#2{\XINT@gctcv@loop@a {#2}#1}%
\def\XINT@gctcv@end #1.#2#3#4#5#6{ #6}%
\def\xintiGCtoCv {\romannumeral0\xintigctocv }%
\def\xintigctocv #1%
{%
    \expandafter\XINT@igctcv@prep \romannumeral-`0#1+\W/%
}%
\def\XINT@igctcv@prep
{%
    \XINT@igctcv@loop@a {}1001%
}%
\def\XINT@igctcv@loop@a #1#2#3#4#5#6+%
{%
    \expandafter\XINT@igctcv@loop@b
    \romannumeral-`0#6.{#2}{#3}{#4}{#5}{#1}%
}%
\def\XINT@igctcv@loop@b #1.#2#3#4#5%
{%
    \expandafter\XINT@igctcv@loop@c\expandafter
    {\romannumeral0\xintiadd {#5}{\XINT@Mul {#1}{#3}}}%
    {\romannumeral0\xintiadd {#4}{\XINT@Mul {#1}{#2}}}%
    {{#2}{#3}}%
}%
\def\XINT@igctcv@loop@c #1#2%
{%
    \expandafter\XINT@igctcv@loop@f\expandafter {\expandafter{#2}{#1}}%
}%
\def\XINT@igctcv@loop@f #1#2#3#4/%
{%
    \xint@w #4\XINT@igctcv@end@a\W
    \expandafter\XINT@igctcv@loop@g
    \romannumeral-`0#4.#1#2{#3}%
}%
\def\XINT@igctcv@loop@g #1.#2#3#4#5%
{%
    \expandafter\XINT@igctcv@loop@h\expandafter
    {\romannumeral0\XINT@mul@fork #1\Z #5\Z }%
    {\romannumeral0\XINT@mul@fork #1\Z #4\Z }%
    {{#2}{#3}}%
}%
\def\XINT@igctcv@loop@h #1#2%
{%
    \expandafter\XINT@igctcv@loop@i\expandafter {\expandafter{#2}{#1}}%
}%
\def\XINT@igctcv@loop@i #1#2{\XINT@igctcv@loop@k #2{#2#1}}%
\def\XINT@igctcv@loop@k #1#2%
{%
    \expandafter\XINT@igctcv@loop@l\expandafter
    {\romannumeral0\xintraw {#1/#2}}%
}%
\def\XINT@igctcv@loop@l #1#2#3{\XINT@igctcv@loop@a {#3{#1[0]}}#2}%
\def\XINT@igctcv@end@a #1.#2#3#4#5%
{%
    \expandafter\XINT@igctcv@end@b\expandafter
    {\romannumeral0\xintraw {#2/#3}}%
}%
\def\XINT@igctcv@end@b #1#2{ #2{#1[0]}}%
\def\xintCntoF {\romannumeral0\xintcntof }%
\def\xintcntof #1%
{%
    \expandafter\XINT@cntf\expandafter {\the\numexpr #1}%
}%
\def\XINT@cntf #1#2%
{%
   \ifnum #1>0
      \xint@afterfi {\expandafter\XINT@cntf@loop\expandafter
                     {\the\numexpr #1-1\expandafter}\expandafter
                     {\romannumeral-`0#2{#1}}{#2}}%
   \else
      \xint@afterfi
         {\ifnum #1=0
              \xint@afterfi {\expandafter\space \romannumeral-`0#2{0}}%
          \else \xint@afterfi { 0[0]}%
          \fi}%
   \fi
}%
\def\XINT@cntf@loop #1#2#3%
{%
    \ifnum #1>0 \else \XINT@cntf@exit \fi
    \expandafter\XINT@cntf@loop\expandafter
    {\the\numexpr #1-1\expandafter }\expandafter
    {\romannumeral0\xintadd {\xintDiv {1[0]}{#2}}{#3{#1}}}%
    {#3}%
}%
\def\XINT@cntf@exit \fi
    \expandafter\XINT@cntf@loop\expandafter
    #1\expandafter #2#3%
{%
    \fi\xint@gobble@ii #2%
}%
\def\xintGCntoF {\romannumeral0\xintgcntof }%
\def\xintgcntof #1%
{%
    \expandafter\XINT@gcntf\expandafter {\the\numexpr #1}%
}%
\def\XINT@gcntf #1#2#3%
{%
   \ifnum #1>0
      \xint@afterfi {\expandafter\XINT@gcntf@loop\expandafter
                     {\the\numexpr #1-1\expandafter}\expandafter
                     {\romannumeral-`0#2{#1}}{#2}{#3}}%
   \else
      \xint@afterfi
         {\ifnum #1=0
              \xint@afterfi {\expandafter\space\romannumeral-`0#2{0}}%
          \else \xint@afterfi { 0[0]}%
          \fi}%
   \fi
}%
\def\XINT@gcntf@loop #1#2#3#4%
{%
    \ifnum #1>0 \else \XINT@gcntf@exit \fi
    \expandafter\XINT@gcntf@loop\expandafter
    {\the\numexpr #1-1\expandafter }\expandafter
    {\romannumeral0\xintadd {\xintDiv {#4{#1}}{#2}}{#3{#1}}}%
    {#3}{#4}%
}%
\def\XINT@gcntf@exit \fi
    \expandafter\XINT@gcntf@loop\expandafter
    #1\expandafter #2#3#4%
{%
    \fi\xint@gobble@ii #2%
}%
\def\xintCntoCs {\romannumeral0\xintcntocs }%
\def\xintcntocs #1%
{%
    \expandafter\XINT@cntcs\expandafter {\the\numexpr #1}%
}%
\def\XINT@cntcs #1#2%
{%
   \ifnum #1<0
      \xint@afterfi { 0[0]}%
   \else
      \xint@afterfi {\expandafter\XINT@cntcs@loop\expandafter
                     {\the\numexpr #1-1\expandafter}\expandafter
                     {\expandafter{\romannumeral-`0#2{#1}}}{#2}}%
   \fi
}%
\def\XINT@cntcs@loop #1#2#3%
{%
    \ifnum #1>-1 \else \XINT@cntcs@exit \fi
    \expandafter\XINT@cntcs@loop\expandafter
    {\the\numexpr #1-1\expandafter }\expandafter
    {\expandafter{\romannumeral-`0#3{#1}},#2}{#3}%
}%
\def\XINT@cntcs@exit \fi
    \expandafter\XINT@cntcs@loop\expandafter
    #1\expandafter #2#3%
{%
    \fi\XINT@cntcs@@exit #2%
}%
\def\XINT@cntcs@@exit #1,{ }%
\def\xintCntoGC {\romannumeral0\xintcntogc }%
\def\xintcntogc #1%
{%
    \expandafter\XINT@cntgc\expandafter {\the\numexpr #1}%
}%
\def\XINT@cntgc #1#2%
{%
   \ifnum #1<0
      \xint@afterfi { 0[0]}%
   \else
      \xint@afterfi {\expandafter\XINT@cntgc@loop\expandafter
                     {\the\numexpr #1-1\expandafter}\expandafter
                     {\expandafter{\romannumeral-`0#2{#1}}}{#2}}%
   \fi
}%
\def\XINT@cntgc@loop #1#2#3%
{%
    \ifnum #1>-1 \else \XINT@cntgc@exit \fi
    \expandafter\XINT@cntgc@loop\expandafter
    {\the\numexpr #1-1\expandafter }\expandafter
    {\expandafter{\romannumeral-`0#3{#1}}+1/#2}{#3}%
}%
\def\XINT@cntgc@exit \fi
    \expandafter\XINT@cntgc@loop\expandafter
    #1\expandafter #2#3%
{%
    \fi\XINT@cntgc@@exit #2%
}%
\def\XINT@cntgc@@exit #1+1/{ }%
\def\xintGCntoGC {\romannumeral0\xintgcntogc }%
\def\xintgcntogc #1%
{%
    \expandafter\XINT@gcntgc\expandafter {\the\numexpr #1}%
}%
\def\XINT@gcntgc #1#2#3%
{%
   \ifnum #1<0
      \xint@afterfi { {0[0]}}%
   \else
      \xint@afterfi {\expandafter\XINT@gcntgc@loop\expandafter
                     {\the\numexpr #1-1\expandafter}\expandafter
                     {\expandafter{\romannumeral-`0#2{#1}}}{#2}{#3}}%
   \fi
}%
\def\XINT@gcntgc@loop #1#2#3#4%
{%
    \ifnum #1>-1 \else \XINT@gcntgc@exit \fi
    \expandafter\XINT@gcntgc@loop@b\expandafter
    {\expandafter{\romannumeral-`0#4{#1}}/#2}{#3{#1}}{#1}{#3}{#4}%
}%
\def\XINT@gcntgc@loop@b #1#2#3%
{%
    \expandafter\XINT@gcntgc@loop\expandafter
    {\the\numexpr #3-1\expandafter}\expandafter
    {\expandafter{\romannumeral-`0#2}+#1}%
}%
\def\XINT@gcntgc@exit \fi
    \expandafter\XINT@gcntgc@loop@b\expandafter #1#2#3#4#5%
{%
    \fi\XINT@gcntgc@@exit #1%
}%
\def\XINT@gcntgc@@exit #1/{ }%
\def\xintCstoGC {\romannumeral0\xintcstogc }%
\def\xintcstogc #1%
{%
    \expandafter\XINT@cstc@prep \romannumeral-`0#1,\W,%
}%
\def\XINT@cstc@prep #1,{\XINT@cstc@loop@a {{#1}}}%
\def\XINT@cstc@loop@a #1#2,%
{%
    \xint@w #2\XINT@cstc@end\W\XINT@cstc@loop@b {#1}{#2}%
}%
\def\XINT@cstc@loop@b #1#2{\XINT@cstc@loop@a {#1+1/{#2}}}%
\def\XINT@cstc@end\W\XINT@cstc@loop@b #1#2{ #1}%
\def\xintGCtoGC {\romannumeral0\xintgctogc }%
\def\xintgctogc #1%
{%
    \expandafter\XINT@gctgc@start \romannumeral-`0#1+\W/%
}%
\def\XINT@gctgc@start {\XINT@gctgc@loop@a {}}%
\def\XINT@gctgc@loop@a #1#2+#3/%
{%
    \xint@w #3\XINT@gctgc@end\W\expandafter\XINT@gctgc@loop@b\expandafter
    {\romannumeral-`0#2}{#3}{#1}%
}%
\def\XINT@gctgc@loop@b #1#2%
{%
    \expandafter\XINT@gctgc@loop@c\expandafter
    {\romannumeral-`0#2}{#1}%
}%
\def\XINT@gctgc@loop@c #1#2#3%
{%
    \XINT@gctgc@loop@a {#3{#2}+{#1}/}%
}%
\def\XINT@gctgc@end\W\expandafter\XINT@gctgc@loop@b
{%
    \expandafter\XINT@gctgc@@end
}%
\def\XINT@gctgc@@end #1#2#3{ #3{#1}}%
\XINT@cfrac@restorecatcodes@endinput%
\endinput
%%
%% End of file `xintcfrac.sty'.
