%% %% This is file `xintfrac.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% xint.dtx (with options: `xintfrac') %% %% IMPORTANT NOTICE: %% %% For the copyright see the source file. %% %% Any modified versions of this file must be renamed %% with new filenames distinct from xintfrac.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.09n of April 1st, 2014) %% xintfrac: Expandable operations on fractions %% Copyright (C) 2013-2014 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@xintfrac.sty\endcsname \expandafter\let\expandafter\w\csname ver@xint.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{xintfrac}{\numexpr not available, aborting input}% \aftergroup\endinput \else \ifx\x\relax % plain-TeX, first loading of xintfrac.sty \ifx\w\relax % but xint.sty not yet loaded. \y{xintfrac}{now issuing \string\input\space xint.sty}% \def\z{\endgroup\input xint.sty\relax}% \fi \else \def\empty {}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen \ifx\w\relax % xint.sty not yet loaded. \y{xintfrac}{now issuing \string\RequirePackage{xint}}% \def\z{\endgroup\RequirePackage{xint}}% \fi \else \y{xintfrac}{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 % : \ifdefined\PackageInfo \def\y#1#2{\PackageInfo{#1}{#2}}% \else \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% \fi \def\empty {}% \expandafter\let\expandafter\w\csname ver@xint.sty\endcsname \ifx\w\relax % Plain TeX, user gave a file name at the prompt \y{xintfrac}{Loading of package xint failed, aborting input}% \aftergroup\endinput \fi \ifx\w\empty % LaTeX, user gave a file name at the prompt \y{xintfrac}{Loading of package xint failed, aborting input}% \aftergroup\endinput \fi \endgroup% \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintfrac}% [2014/04/01 v1.09n Expandable operations on fractions (jfB)]% \chardef\xint_c_xviii 18 \def\xintLen {\romannumeral0\xintlen }% \def\xintlen #1% {% \expandafter\XINT_flen\romannumeral0\XINT_infrac {#1}% }% \def\XINT_flen #1#2#3% {% \expandafter\space \the\numexpr -1+\XINT_Abs {#1}+\XINT_Len {#2}+\XINT_Len {#3}\relax }% \def\XINT_lenrord_loop #1#2#3#4#5#6#7#8#9% {% faire \romannumeral-`0\XINT_lenrord_loop 0{}#1\Z\W\W\W\W\W\W\W\Z \xint_gob_til_W #9\XINT_lenrord_W\W \expandafter\XINT_lenrord_loop\expandafter {\the\numexpr #1+7}{#9#8#7#6#5#4#3#2}% }% \def\XINT_lenrord_W\W\expandafter\XINT_lenrord_loop\expandafter #1#2#3\Z {% \expandafter\XINT_lenrord_X\expandafter {#1}#2\Z }% \def\XINT_lenrord_X #1#2\Z {% \XINT_lenrord_Y #2\R\R\R\R\R\R\T {#1}% }% \def\XINT_lenrord_Y #1#2#3#4#5#6#7#8\T {% \xint_gob_til_W #7\XINT_lenrord_Z \xint_c_viii #6\XINT_lenrord_Z \xint_c_vii #5\XINT_lenrord_Z \xint_c_vi #4\XINT_lenrord_Z \xint_c_v #3\XINT_lenrord_Z \xint_c_iv #2\XINT_lenrord_Z \xint_c_iii \W\XINT_lenrord_Z \xint_c_ii \Z }% \def\XINT_lenrord_Z #1#2\Z #3% retourne: {longueur}renverse\Z {% \expandafter{\the\numexpr #3-#1\relax}% }% \def\XINT_outfrac #1#2#3% {% \ifcase\XINT_cntSgn #3\Z \expandafter \XINT_outfrac_divisionbyzero \or \expandafter \XINT_outfrac_P \else \expandafter \XINT_outfrac_N \fi {#2}{#3}[#1]% }% \def\XINT_outfrac_divisionbyzero #1#2{\xintError:DivisionByZero\space #1/0}% \edef\XINT_outfrac_P #1#2% {% \noexpand\if0\noexpand\XINT_Sgn #1\noexpand\Z \noexpand\expandafter\noexpand\XINT_outfrac_Zero \noexpand\fi \space #1/#2% }% \def\XINT_outfrac_Zero #1[#2]{ 0/1[0]}% \def\XINT_outfrac_N #1#2% {% \expandafter\XINT_outfrac_N_a\expandafter {\romannumeral0\XINT_opp #2}{\romannumeral0\XINT_opp #1}% }% \def\XINT_outfrac_N_a #1#2% {% \expandafter\XINT_outfrac_P\expandafter {#2}{#1}% }% \def\XINT_inFrac {\romannumeral0\XINT_infrac }% \def\XINT_infrac #1% {% \expandafter\XINT_infrac_ \romannumeral-`0#1[\W]\Z\T }% \def\XINT_infrac_ #1[#2#3]#4\Z {% \xint_UDwfork #2\XINT_infrac_A \W\XINT_infrac_B \krof #1[#2#3]#4% }% \def\XINT_infrac_A #1[\W]\T {% \XINT_frac #1/\W\Z }% \def\XINT_infrac_B #1% {% \xint_gob_til_zero #1\XINT_infrac_Zero0\XINT_infrac_BB #1% }% \def\XINT_infrac_BB #1[\W]\T {\XINT_infrac_BC #1/\W\Z }% \def\XINT_infrac_BC #1/#2#3\Z {% \xint_UDwfork #2\XINT_infrac_BCa \W{\expandafter\XINT_infrac_BCb \romannumeral-`0#2}% \krof #3\Z #1\Z }% \def\XINT_infrac_BCa \Z #1[#2]#3\Z { {#2}{#1}{1}}% \def\XINT_infrac_BCb #1[#2]/\W\Z #3\Z { {#2}{#3}{#1}}% \def\XINT_infrac_Zero #1\T { {0}{0}{1}}% \def\XINT_frac #1/#2#3\Z {% \xint_UDwfork #2\XINT_frac_A \W{\expandafter\XINT_frac_U \romannumeral-`0#2}% \krof #3e\W\Z #1e\W\Z }% \def\XINT_frac_U #1e#2#3\Z {% \xint_UDwfork #2\XINT_frac_Ua \W{\XINT_frac_Ub #2}% \krof #3\Z #1\Z }% \def\XINT_frac_Ua \Z #1/\W\Z {\XINT_frac_B #1.\W\Z {0}}% \def\XINT_frac_Ub #1/\W e\W\Z #2\Z {\XINT_frac_B #2.\W\Z {#1}}% \def\XINT_frac_B #1.#2#3\Z {% \xint_UDwfork #2\XINT_frac_Ba \W{\XINT_frac_Bb #2}% \krof #3\Z #1\Z }% \def\XINT_frac_Ba \Z #1\Z {\XINT_frac_T {0}{#1}}% \def\XINT_frac_Bb #1.\W\Z #2\Z {% \expandafter \XINT_frac_T \expandafter {\romannumeral0\xintlength {#1}}{#2#1}% }% \def\XINT_frac_A e\W\Z {\XINT_frac_T {0}{1}{0}}% \def\XINT_frac_T #1#2#3#4e#5#6\Z {% \xint_UDwfork #5\XINT_frac_Ta \W{\XINT_frac_Tb #5}% \krof #6\Z #4\Z {#1}{#2}{#3}% }% \def\XINT_frac_Ta \Z #1\Z {\XINT_frac_C #1.\W\Z {0}}% \def\XINT_frac_Tb #1e\W\Z #2\Z {\XINT_frac_C #2.\W\Z {#1}}% \def\XINT_frac_C #1.#2#3\Z {% \xint_UDwfork #2\XINT_frac_Ca \W{\XINT_frac_Cb #2}% \krof #3\Z #1\Z }% \def\XINT_frac_Ca \Z #1\Z {\XINT_frac_D {0}{#1}}% \def\XINT_frac_Cb #1.\W\Z #2\Z {% \expandafter\XINT_frac_D\expandafter {\romannumeral0\xintlength {#1}}{#2#1}% }% \def\XINT_frac_D #1#2#3#4#5#6% {% \expandafter \XINT_frac_E \expandafter {\the\numexpr -#1+#3+#4-#6\expandafter}\expandafter {\romannumeral0\XINT_num_loop #2% \xint_relax\xint_relax\xint_relax\xint_relax \xint_relax\xint_relax\xint_relax\xint_relax\Z }% {\romannumeral0\XINT_num_loop #5% \xint_relax\xint_relax\xint_relax\xint_relax \xint_relax\xint_relax\xint_relax\xint_relax\Z }% }% \def\XINT_frac_E #1#2#3% {% \expandafter \XINT_frac_F #3\Z {#2}{#1}% }% \def\XINT_frac_F #1% {% \xint_UDzerominusfork #1-\XINT_frac_Gdivisionbyzero 0#1\XINT_frac_Gneg 0-{\XINT_frac_Gpos #1}% \krof }% \edef\XINT_frac_Gdivisionbyzero #1\Z #2#3% {% \noexpand\xintError:DivisionByZero\space {0}{#2}{0}% }% \def\XINT_frac_Gneg #1\Z #2#3% {% \expandafter\XINT_frac_H \expandafter{\romannumeral0\XINT_opp #2}{#3}{#1}% }% \def\XINT_frac_H #1#2{ {#2}{#1}}% \def\XINT_frac_Gpos #1\Z #2#3{ {#3}{#2}{#1}}% \def\XINT_factortens #1% {% \expandafter\XINT_cuz_cnt_loop\expandafter {\expandafter}\romannumeral0\XINT_rord_main {}#1% \xint_relax \xint_bye\xint_bye\xint_bye\xint_bye \xint_bye\xint_bye\xint_bye\xint_bye \xint_relax \R\R\R\R\R\R\R\R\Z }% \def\XINT_cuz_cnt #1% {% \XINT_cuz_cnt_loop {}#1\R\R\R\R\R\R\R\R\Z }% \def\XINT_cuz_cnt_loop #1#2#3#4#5#6#7#8#9% {% \xint_gob_til_R #9\XINT_cuz_cnt_toofara \R \expandafter\XINT_cuz_cnt_checka\expandafter {\the\numexpr #1+8\relax}{#2#3#4#5#6#7#8#9}% }% \def\XINT_cuz_cnt_toofara\R \expandafter\XINT_cuz_cnt_checka\expandafter #1#2% {% \XINT_cuz_cnt_toofarb {#1}#2% }% \def\XINT_cuz_cnt_toofarb #1#2\Z {\XINT_cuz_cnt_toofarc #2\Z {#1}}% \def\XINT_cuz_cnt_toofarc #1#2#3#4#5#6#7#8% {% \xint_gob_til_R #2\XINT_cuz_cnt_toofard 7% #3\XINT_cuz_cnt_toofard 6% #4\XINT_cuz_cnt_toofard 5% #5\XINT_cuz_cnt_toofard 4% #6\XINT_cuz_cnt_toofard 3% #7\XINT_cuz_cnt_toofard 2% #8\XINT_cuz_cnt_toofard 1% \Z #1#2#3#4#5#6#7#8% }% \def\XINT_cuz_cnt_toofard #1#2\Z #3\R #4\Z #5% {% \expandafter\XINT_cuz_cnt_toofare \the\numexpr #3\relax \R\R\R\R\R\R\R\R\Z {\the\numexpr #5-#1\relax}\R\Z }% \def\XINT_cuz_cnt_toofare #1#2#3#4#5#6#7#8% {% \xint_gob_til_R #2\XINT_cuz_cnt_stopc 1% #3\XINT_cuz_cnt_stopc 2% #4\XINT_cuz_cnt_stopc 3% #5\XINT_cuz_cnt_stopc 4% #6\XINT_cuz_cnt_stopc 5% #7\XINT_cuz_cnt_stopc 6% #8\XINT_cuz_cnt_stopc 7% \Z #1#2#3#4#5#6#7#8% }% \def\XINT_cuz_cnt_checka #1#2% {% \expandafter\XINT_cuz_cnt_checkb\the\numexpr #2\relax \Z {#1}% }% \def\XINT_cuz_cnt_checkb #1% {% \xint_gob_til_zero #1\expandafter\XINT_cuz_cnt_loop\xint_gob_til_Z 0\XINT_cuz_cnt_stopa #1% }% \def\XINT_cuz_cnt_stopa #1\Z {% \XINT_cuz_cnt_stopb #1\R\R\R\R\R\R\R\R\Z % }% \def\XINT_cuz_cnt_stopb #1#2#3#4#5#6#7#8#9% {% \xint_gob_til_R #2\XINT_cuz_cnt_stopc 1% #3\XINT_cuz_cnt_stopc 2% #4\XINT_cuz_cnt_stopc 3% #5\XINT_cuz_cnt_stopc 4% #6\XINT_cuz_cnt_stopc 5% #7\XINT_cuz_cnt_stopc 6% #8\XINT_cuz_cnt_stopc 7% #9\XINT_cuz_cnt_stopc 8% \Z #1#2#3#4#5#6#7#8#9% }% \def\XINT_cuz_cnt_stopc #1#2\Z #3\R #4\Z #5% {% \expandafter\XINT_cuz_cnt_stopd\expandafter {\the\numexpr #5-#1}#3% }% \def\XINT_cuz_cnt_stopd #1#2\R #3\Z {% \expandafter\space\expandafter {\romannumeral0\XINT_rord_main {}#2% \xint_relax \xint_bye\xint_bye\xint_bye\xint_bye \xint_bye\xint_bye\xint_bye\xint_bye \xint_relax }{#1}% }% \def\xintRaw {\romannumeral0\xintraw }% \def\xintraw {% \expandafter\XINT_raw\romannumeral0\XINT_infrac }% \def\XINT_raw #1#2#3{ #2/#3[#1]}% \def\xintPRaw {\romannumeral0\xintpraw }% \def\xintpraw {% \expandafter\XINT_praw\romannumeral0\XINT_infrac }% \def\XINT_praw #1% {% \ifnum #1=\xint_c_ \expandafter\XINT_praw_a\fi \XINT_praw_A {#1}% }% \def\XINT_praw_A #1#2#3% {% \if\XINT_isOne{#3}1\expandafter\xint_firstoftwo \else\expandafter\xint_secondoftwo \fi { #2[#1]}{ #2/#3[#1]}% }% \def\XINT_praw_a\XINT_praw_A #1#2#3% {% \if\XINT_isOne{#3}1\expandafter\xint_firstoftwo \else\expandafter\xint_secondoftwo \fi { #2}{ #2/#3}% }% \def\xintRawWithZeros {\romannumeral0\xintrawwithzeros }% \def\xintrawwithzeros {% \expandafter\XINT_rawz\romannumeral0\XINT_infrac }% \def\XINT_rawz #1% {% \ifcase\XINT_cntSgn #1\Z \expandafter\XINT_rawz_Ba \or \expandafter\XINT_rawz_A \else \expandafter\XINT_rawz_Ba \fi {#1}% }% \def\XINT_rawz_A #1#2#3{\xint_dsh {#2}{-#1}/#3}% \def\XINT_rawz_Ba #1#2#3{\expandafter\XINT_rawz_Bb \expandafter{\romannumeral0\xint_dsh {#3}{#1}}{#2}}% \def\XINT_rawz_Bb #1#2{ #2/#1}% \def\xintFloor {\romannumeral0\xintfloor }% \def\xintfloor #1{\expandafter\XINT_floor \romannumeral0\xintrawwithzeros {#1}.}% \def\XINT_floor #1/#2.{\xintiiquo {#1}{#2}}% \def\xintCeil {\romannumeral0\xintceil }% \def\xintceil #1{\xintiiopp {\xintFloor {\xintOpp{#1}}}}% \def\xintNumerator {\romannumeral0\xintnumerator }% \def\xintnumerator {% \expandafter\XINT_numer\romannumeral0\XINT_infrac }% \def\XINT_numer #1% {% \ifcase\XINT_cntSgn #1\Z \expandafter\XINT_numer_B \or \expandafter\XINT_numer_A \else \expandafter\XINT_numer_B \fi {#1}% }% \def\XINT_numer_A #1#2#3{\xint_dsh {#2}{-#1}}% \def\XINT_numer_B #1#2#3{ #2}% \def\xintDenominator {\romannumeral0\xintdenominator }% \def\xintdenominator {% \expandafter\XINT_denom\romannumeral0\XINT_infrac }% \def\XINT_denom #1% {% \ifcase\XINT_cntSgn #1\Z \expandafter\XINT_denom_B \or \expandafter\XINT_denom_A \else \expandafter\XINT_denom_B \fi {#1}% }% \def\XINT_denom_A #1#2#3{ #3}% \def\XINT_denom_B #1#2#3{\xint_dsh {#3}{#1}}% \def\xintFrac {\romannumeral0\xintfrac }% \def\xintfrac #1% {% \expandafter\XINT_fracfrac_A\romannumeral0\XINT_infrac {#1}% }% \def\XINT_fracfrac_A #1{\XINT_fracfrac_B #1\Z }% \catcode`^=7 \def\XINT_fracfrac_B #1#2\Z {% \xint_gob_til_zero #1\XINT_fracfrac_C 0\XINT_fracfrac_D {10^{#1#2}}% }% \def\XINT_fracfrac_C 0\XINT_fracfrac_D #1#2#3% {% \if1\XINT_isOne {#3}% \xint_afterfi {\expandafter\xint_firstoftwo_thenstop\xint_gobble_ii }% \fi \space \frac {#2}{#3}% }% \def\XINT_fracfrac_D #1#2#3% {% \if1\XINT_isOne {#3}\XINT_fracfrac_E\fi \space \frac {#2}{#3}#1% }% \def\XINT_fracfrac_E \fi\space\frac #1#2{\fi \space #1\cdot }% \def\xintSignedFrac {\romannumeral0\xintsignedfrac }% \def\xintsignedfrac #1% {% \expandafter\XINT_sgnfrac_a\romannumeral0\XINT_infrac {#1}% }% \def\XINT_sgnfrac_a #1#2% {% \XINT_sgnfrac_b #2\Z {#1}% }% \def\XINT_sgnfrac_b #1% {% \xint_UDsignfork #1\XINT_sgnfrac_N -{\XINT_sgnfrac_P #1}% \krof }% \def\XINT_sgnfrac_P #1\Z #2% {% \XINT_fracfrac_A {#2}{#1}% }% \def\XINT_sgnfrac_N {% \expandafter\xint_minus_thenstop\romannumeral0\XINT_sgnfrac_P }% \def\xintFwOver {\romannumeral0\xintfwover }% \def\xintfwover #1% {% \expandafter\XINT_fwover_A\romannumeral0\XINT_infrac {#1}% }% \def\XINT_fwover_A #1{\XINT_fwover_B #1\Z }% \def\XINT_fwover_B #1#2\Z {% \xint_gob_til_zero #1\XINT_fwover_C 0\XINT_fwover_D {10^{#1#2}}% }% \catcode`^=11 \def\XINT_fwover_C #1#2#3#4#5% {% \if0\XINT_isOne {#5}\xint_afterfi { {#4\over #5}}% \else\xint_afterfi { #4}% \fi }% \def\XINT_fwover_D #1#2#3% {% \if0\XINT_isOne {#3}\xint_afterfi { {#2\over #3}}% \else\xint_afterfi { #2\cdot }% \fi #1% }% \def\xintSignedFwOver {\romannumeral0\xintsignedfwover }% \def\xintsignedfwover #1% {% \expandafter\XINT_sgnfwover_a\romannumeral0\XINT_infrac {#1}% }% \def\XINT_sgnfwover_a #1#2% {% \XINT_sgnfwover_b #2\Z {#1}% }% \def\XINT_sgnfwover_b #1% {% \xint_UDsignfork #1\XINT_sgnfwover_N -{\XINT_sgnfwover_P #1}% \krof }% \def\XINT_sgnfwover_P #1\Z #2% {% \XINT_fwover_A {#2}{#1}% }% \def\XINT_sgnfwover_N {% \expandafter\xint_minus_thenstop\romannumeral0\XINT_sgnfwover_P }% \def\xintREZ {\romannumeral0\xintrez }% \def\xintrez {% \expandafter\XINT_rez_A\romannumeral0\XINT_infrac }% \def\XINT_rez_A #1#2% {% \XINT_rez_AB #2\Z {#1}% }% \def\XINT_rez_AB #1% {% \xint_UDzerominusfork #1-\XINT_rez_zero 0#1\XINT_rez_neg 0-{\XINT_rez_B #1}% \krof }% \def\XINT_rez_zero #1\Z #2#3{ 0/1[0]}% \def\XINT_rez_neg {\expandafter\xint_minus_thenstop\romannumeral0\XINT_rez_B }% \def\XINT_rez_B #1\Z {% \expandafter\XINT_rez_C\romannumeral0\XINT_factortens {#1}% }% \def\XINT_rez_C #1#2#3#4% {% \expandafter\XINT_rez_D\romannumeral0\XINT_factortens {#4}{#3}{#2}{#1}% }% \def\XINT_rez_D #1#2#3#4#5% {% \expandafter\XINT_rez_E\expandafter {\the\numexpr #3+#4-#2}{#1}{#5}% }% \def\XINT_rez_E #1#2#3{ #3/#2[#1]}% \def\xintE {\romannumeral0\xinte }% \def\xinte #1% {% \expandafter\XINT_e \romannumeral0\XINT_infrac {#1}% }% \def\XINT_e #1#2#3#4% {% \expandafter\XINT_e_end\expandafter{\the\numexpr #1+#4}{#2}{#3}% }% \def\XINT_e_end #1#2#3{ #2/#3[#1]}% \def\xintfE {\romannumeral0\xintfe }% \def\xintfe #1% {% \expandafter\XINT_fe \romannumeral0\XINT_infrac {#1}% }% \def\XINT_fe #1#2#3#4% {% \expandafter\XINT_e_end\expandafter{\the\numexpr #1+\xintNum{#4}}{#2}{#3}% }% \def\xintFloatE {\romannumeral0\xintfloate }% \def\xintfloate #1{\XINT_floate_chkopt #1\xint_relax }% \def\XINT_floate_chkopt #1% {% \ifx [#1\expandafter\XINT_floate_opt \else\expandafter\XINT_floate_noopt \fi #1% }% \def\XINT_floate_noopt #1\xint_relax {% \expandafter\XINT_floate_a\expandafter\XINTdigits \romannumeral0\XINT_infrac {#1}% }% \def\XINT_floate_opt [\xint_relax #1]#2% {% \expandafter\XINT_floate_a\expandafter {\the\numexpr #1\expandafter}\romannumeral0\XINT_infrac {#2}% }% \def\XINT_floate_a #1#2#3#4#5% {% \expandafter\expandafter\expandafter\XINT_float_a \expandafter\xint_exchangetwo_keepbraces\expandafter {\the\numexpr #2+#5}{#1}{#3}{#4}\XINT_float_Q }% \def\XINTinFloatfE {\romannumeral0\XINTinfloatfe }% \def\XINTinfloatfe [#1]#2% {% \expandafter\XINT_infloatfe_a\expandafter {\the\numexpr #1\expandafter}\romannumeral0\XINT_infrac {#2}% }% \def\XINT_infloatfe_a #1#2#3#4#5% {% \expandafter\expandafter\expandafter\XINT_infloat_a \expandafter\xint_exchangetwo_keepbraces\expandafter {\the\numexpr #2+\xintNum{#5}}{#1}{#3}{#4}\XINT_infloat_Q }% \def\xintiE {\romannumeral0\xintie }% for \xintiiexpr only \def\xintie #1% {% \expandafter\XINT_ie \romannumeral0\XINT_infrac {#1}% allows 3.123e3 }% \def\XINT_ie #1#2#3#4% assumes #3=1 and uses \xint_dsh with its \numexpr {% \xint_dsh {#2}{0-(#1+#4)}% could have \xintNum{#4} for a bit more general }% \def\xintIrr {\romannumeral0\xintirr }% \def\xintirr #1% {% \expandafter\XINT_irr_start\romannumeral0\xintrawwithzeros {#1}\Z }% \def\XINT_irr_start #1#2/#3\Z {% \if0\XINT_isOne {#3}% \xint_afterfi {\xint_UDsignfork #1\XINT_irr_negative -{\XINT_irr_nonneg #1}% \krof}% \else \xint_afterfi{\XINT_irr_denomisone #1}% \fi #2\Z {#3}% }% \def\XINT_irr_denomisone #1\Z #2{ #1/1}% changed in 1.08 \def\XINT_irr_negative #1\Z #2{\XINT_irr_D #1\Z #2\Z \xint_minus_thenstop}% \def\XINT_irr_nonneg #1\Z #2{\XINT_irr_D #1\Z #2\Z \space}% \def\XINT_irr_D #1#2\Z #3#4\Z {% \xint_UDzerosfork #3#1\XINT_irr_indeterminate #30\XINT_irr_divisionbyzero #10\XINT_irr_zero 00\XINT_irr_loop_a \krof {#3#4}{#1#2}{#3#4}{#1#2}% }% \def\XINT_irr_indeterminate #1#2#3#4#5{\xintError:NaN\space 0/0}% \def\XINT_irr_divisionbyzero #1#2#3#4#5{\xintError:DivisionByZero #5#2/0}% \def\XINT_irr_zero #1#2#3#4#5{ 0/1}% changed in 1.08 \def\XINT_irr_loop_a #1#2% {% \expandafter\XINT_irr_loop_d \romannumeral0\XINT_div_prepare {#1}{#2}{#1}% }% \def\XINT_irr_loop_d #1#2% {% \XINT_irr_loop_e #2\Z }% \def\XINT_irr_loop_e #1#2\Z {% \xint_gob_til_zero #1\xint_irr_loop_exit0\XINT_irr_loop_a {#1#2}% }% \def\xint_irr_loop_exit0\XINT_irr_loop_a #1#2#3#4% {% \expandafter\XINT_irr_loop_exitb\expandafter {\romannumeral0\xintiiquo {#3}{#2}}% {\romannumeral0\xintiiquo {#4}{#2}}% }% \def\XINT_irr_loop_exitb #1#2% {% \expandafter\XINT_irr_finish\expandafter {#2}{#1}% }% \def\XINT_irr_finish #1#2#3{#3#1/#2}% changed in 1.08 \def\xintNum {\romannumeral0\xintnum }% \def\xintnum #1{\expandafter\XINT_intcheck\romannumeral0\xintirr {#1}\Z }% \edef\XINT_intcheck #1/#2\Z {% \noexpand\if 0\noexpand\XINT_isOne {#2}\noexpand\xintError:NotAnInteger \noexpand\fi\space #1% }% \def\xintifInt {\romannumeral0\xintifint }% \def\xintifint #1{\expandafter\XINT_ifint\romannumeral0\xintirr {#1}\Z }% \def\XINT_ifint #1/#2\Z {% \if\XINT_isOne {#2}1% \expandafter\xint_firstoftwo_thenstop \else \expandafter\xint_secondoftwo_thenstop \fi }% \def\xintJrr {\romannumeral0\xintjrr }% \def\xintjrr #1% {% \expandafter\XINT_jrr_start\romannumeral0\xintrawwithzeros {#1}\Z }% \def\XINT_jrr_start #1#2/#3\Z {% \if0\XINT_isOne {#3}\xint_afterfi {\xint_UDsignfork #1\XINT_jrr_negative -{\XINT_jrr_nonneg #1}% \krof}% \else \xint_afterfi{\XINT_jrr_denomisone #1}% \fi #2\Z {#3}% }% \def\XINT_jrr_denomisone #1\Z #2{ #1/1}% changed in 1.08 \def\XINT_jrr_negative #1\Z #2{\XINT_jrr_D #1\Z #2\Z \xint_minus_thenstop }% \def\XINT_jrr_nonneg #1\Z #2{\XINT_jrr_D #1\Z #2\Z \space}% \def\XINT_jrr_D #1#2\Z #3#4\Z {% \xint_UDzerosfork #3#1\XINT_jrr_indeterminate #30\XINT_jrr_divisionbyzero #10\XINT_jrr_zero 00\XINT_jrr_loop_a \krof {#3#4}{#1#2}1001% }% \def\XINT_jrr_indeterminate #1#2#3#4#5#6#7{\xintError:NaN\space 0/0}% \def\XINT_jrr_divisionbyzero #1#2#3#4#5#6#7{\xintError:DivisionByZero #7#2/0}% \def\XINT_jrr_zero #1#2#3#4#5#6#7{ 0/1}% changed in 1.08 \def\XINT_jrr_loop_a #1#2% {% \expandafter\XINT_jrr_loop_b \romannumeral0\XINT_div_prepare {#1}{#2}{#1}% }% \def\XINT_jrr_loop_b #1#2#3#4#5#6#7% {% \expandafter \XINT_jrr_loop_c \expandafter {\romannumeral0\xintiiadd{\XINT_Mul{#4}{#1}}{#6}}% {\romannumeral0\xintiiadd{\XINT_Mul{#5}{#1}}{#7}}% {#2}{#3}{#4}{#5}% }% \def\XINT_jrr_loop_c #1#2% {% \expandafter \XINT_jrr_loop_d \expandafter{#2}{#1}% }% \def\XINT_jrr_loop_d #1#2#3#4% {% \XINT_jrr_loop_e #3\Z {#4}{#2}{#1}% }% \def\XINT_jrr_loop_e #1#2\Z {% \xint_gob_til_zero #1\xint_jrr_loop_exit0\XINT_jrr_loop_a {#1#2}% }% \def\xint_jrr_loop_exit0\XINT_jrr_loop_a #1#2#3#4#5#6% {% \XINT_irr_finish {#3}{#4}% }% \def\xintTFrac {\romannumeral0\xinttfrac }% \def\xinttfrac #1% {\expandafter\XINT_tfrac_fork\romannumeral0\xintrawwithzeros {#1}\Z }% \def\XINT_tfrac_fork #1% {% \xint_UDzerominusfork #1-\XINT_tfrac_zero 0#1\XINT_tfrac_N 0-{\XINT_tfrac_P #1}% \krof }% \def\XINT_tfrac_zero #1\Z { 0/1[0]}% \def\XINT_tfrac_N {\expandafter\XINT_opp\romannumeral0\XINT_tfrac_P }% \def\XINT_tfrac_P #1/#2\Z {% \expandafter\XINT_rez_AB\romannumeral0\xintiirem{#1}{#2}\Z {0}{#2}% }% \def\XINTinFloatFrac {\romannumeral0\XINTinfloatfrac }% \def\XINTinfloatfrac [#1]#2% {% \expandafter\XINT_infloatfrac_a\expandafter {\romannumeral0\xinttfrac{#2}}{#1}% }% \def\XINT_infloatfrac_a #1#2{\XINTinFloat [#2]{#1}}% \def\xintTrunc {\romannumeral0\xinttrunc }% \def\xintiTrunc {\romannumeral0\xintitrunc }% \def\xinttrunc #1% {% \expandafter\XINT_trunc\expandafter {\the\numexpr #1}% }% \def\XINT_trunc #1#2% {% \expandafter\XINT_trunc_G \romannumeral0\expandafter\XINT_trunc_A \romannumeral0\XINT_infrac {#2}{#1}{#1}% }% \def\xintitrunc #1% {% \expandafter\XINT_itrunc\expandafter {\the\numexpr #1}% }% \def\XINT_itrunc #1#2% {% \expandafter\XINT_itrunc_G \romannumeral0\expandafter\XINT_trunc_A \romannumeral0\XINT_infrac {#2}{#1}{#1}% }% \def\XINT_trunc_A #1#2#3#4% {% \expandafter\XINT_trunc_checkifzero \expandafter{\the\numexpr #1+#4}#2\Z {#3}% }% \def\XINT_trunc_checkifzero #1#2#3\Z {% \xint_gob_til_zero #2\XINT_trunc_iszero0\XINT_trunc_B {#1}{#2#3}% }% \def\XINT_trunc_iszero0\XINT_trunc_B #1#2#3{ 0\Z 0}% \def\XINT_trunc_B #1% {% \ifcase\XINT_cntSgn #1\Z \expandafter\XINT_trunc_D \or \expandafter\XINT_trunc_D \else \expandafter\XINT_trunc_C \fi {#1}% }% \def\XINT_trunc_C #1#2#3% {% \expandafter\XINT_trunc_CE\expandafter {\romannumeral0\XINT_dsx_zeroloop {-#1}{}\Z {#3}}{#2}% }% \def\XINT_trunc_CE #1#2{\XINT_trunc_E #2.{#1}}% \def\XINT_trunc_D #1#2% {% \expandafter\XINT_trunc_E \romannumeral0\XINT_dsx_zeroloop {#1}{}\Z {#2}.% }% \def\XINT_trunc_E #1% {% \xint_UDsignfork #1\XINT_trunc_Fneg -{\XINT_trunc_Fpos #1}% \krof }% \def\XINT_trunc_Fneg #1.#2{\expandafter\xint_firstoftwo_thenstop \romannumeral0\XINT_div_prepare {#2}{#1}\Z \xint_minus_thenstop}% \def\XINT_trunc_Fpos #1.#2{\expandafter\xint_firstoftwo_thenstop \romannumeral0\XINT_div_prepare {#2}{#1}\Z \space }% \def\XINT_itrunc_G #1#2\Z #3#4% {% \xint_gob_til_zero #1\XINT_trunc_zero 0#3#1#2% }% \def\XINT_trunc_zero 0#1#20{ 0}% \def\XINT_trunc_G #1\Z #2#3% {% \xint_gob_til_zero #2\XINT_trunc_zero 0% \expandafter\XINT_trunc_H\expandafter {\the\numexpr\romannumeral0\xintlength {#1}-#3}{#3}{#1}#2% }% \def\XINT_trunc_H #1#2% {% \ifnum #1 > \xint_c_ \xint_afterfi {\XINT_trunc_Ha {#2}}% \else \xint_afterfi {\XINT_trunc_Hb {-#1}}% -0,--1,--2, .... \fi }% \def\XINT_trunc_Ha {% \expandafter\XINT_trunc_Haa\romannumeral0\xintdecsplit }% \def\XINT_trunc_Haa #1#2#3% {% #3#1.#2% }% \def\XINT_trunc_Hb #1#2#3% {% \expandafter #3\expandafter0\expandafter.% \romannumeral0\XINT_dsx_zeroloop {#1}{}\Z {}#2% #1=-0 autoris^^e9 ! }% \def\xintRound {\romannumeral0\xintround }% \def\xintiRound {\romannumeral0\xintiround }% \def\xintround #1% {% \expandafter\XINT_round\expandafter {\the\numexpr #1}% }% \def\XINT_round {% \expandafter\XINT_trunc_G\romannumeral0\XINT_round_A }% \def\xintiround #1% {% \expandafter\XINT_iround\expandafter {\the\numexpr #1}% }% \def\XINT_iround {% \expandafter\XINT_itrunc_G\romannumeral0\XINT_round_A }% \def\XINT_round_A #1#2% {% \expandafter\XINT_round_B \romannumeral0\expandafter\XINT_trunc_A \romannumeral0\XINT_infrac {#2}{\the\numexpr #1+1\relax}{#1}% }% \def\XINT_round_B #1\Z {% \expandafter\XINT_round_C \romannumeral0\XINT_rord_main {}#1% \xint_relax \xint_bye\xint_bye\xint_bye\xint_bye \xint_bye\xint_bye\xint_bye\xint_bye \xint_relax \Z }% \def\XINT_round_C #1% {% \ifnum #1<5 \expandafter\XINT_round_Daa \else \expandafter\XINT_round_Dba \fi }% \def\XINT_round_Daa #1% {% \xint_gob_til_Z #1\XINT_round_Daz\Z \XINT_round_Da #1% }% \def\XINT_round_Daz\Z \XINT_round_Da \Z { 0\Z }% \def\XINT_round_Da #1\Z {% \XINT_rord_main {}#1% \xint_relax \xint_bye\xint_bye\xint_bye\xint_bye \xint_bye\xint_bye\xint_bye\xint_bye \xint_relax \Z }% \def\XINT_round_Dba #1% {% \xint_gob_til_Z #1\XINT_round_Dbz\Z \XINT_round_Db #1% }% \def\XINT_round_Dbz\Z \XINT_round_Db \Z { 1\Z }% \def\XINT_round_Db #1\Z {% \XINT_addm_A 0{}1000\W\X\Y\Z #1000\W\X\Y\Z \Z }% \def\xintXTrunc #1#2% {% \expandafter\XINT_xtrunc_a\expandafter {\the\numexpr #1\expandafter}\romannumeral0\xintraw {#2}% }% \def\XINT_xtrunc_a #1% {% \expandafter\XINT_xtrunc_b\expandafter {\the\numexpr\ifnum#1<\xint_c_i \xint_c_i-\fi #1}% }% \def\XINT_xtrunc_b #1% {% \expandafter\XINT_xtrunc_c\expandafter {\the\numexpr (#1+\xint_c_ii^v)/\xint_c_ii^vi-\xint_c_i}{#1}% }% \def\XINT_xtrunc_c #1#2% {% \expandafter\XINT_xtrunc_d\expandafter {\the\numexpr #2-\xint_c_ii^vi*#1}{#1}{#2}% }% \def\XINT_xtrunc_d #1#2#3#4/#5[#6]% {% \XINT_xtrunc_e #4.{#6}{#5}{#3}{#2}{#1}% }% \def\XINT_xtrunc_e #1% {% \xint_UDzerominusfork #1-\XINT_xtrunc_zero 0#1\XINT_xtrunc_N 0-{\XINT_xtrunc_P #1}% \krof }% \def\XINT_xtrunc_zero .#1#2#3#4#5% {% 0.\romannumeral0\expandafter\XINT_dsx_zeroloop\expandafter {\the\numexpr #5}{}\Z {}% \xintiloop [#4+-1] \ifnum \xintiloopindex>\xint_c_ 0000000000000000000000000000000000000000000000000000000000000000% \repeat }% \def\XINT_xtrunc_N {-\XINT_xtrunc_P }% \def\XINT_xtrunc_P #1.#2% {% \ifnum #2<\xint_c_ \expandafter\XINT_xtrunc_negN_Q \else \expandafter\XINT_xtrunc_Q \fi {#2}{#1}.% }% \def\XINT_xtrunc_negN_Q #1#2.#3#4#5#6% {% \expandafter\XINT_xtrunc_negN_R \romannumeral0\XINT_div_prepare {#3}{#2}{#3}{#1}{#4}% }% \def\XINT_xtrunc_negN_R #1#2#3#4#5% {% \expandafter\XINT_xtrunc_negN_S\expandafter {\the\numexpr -#4}{#5}{#2}{#3}{#1}% }% \def\XINT_xtrunc_negN_S #1#2% {% \expandafter\XINT_xtrunc_negN_T\expandafter {\the\numexpr #2-#1}{#1}{#2}% }% \def\XINT_xtrunc_negN_T #1% {% \ifnum \xint_c_<#1 \expandafter\XINT_xtrunc_negNA \else \expandafter\XINT_xtrunc_negNW \fi {#1}% }% \def\XINT_xtrunc_unlock #10.{ }% \def\XINT_xtrunc_negNA #1#2#3#4#5#6% {% \expandafter\XINT_xtrunc_negNB\expandafter {\romannumeral0\expandafter\expandafter\expandafter \XINT_xtrunc_unlock\expandafter\string \csname\XINT_xtrunc_b {#1}#4/#5[0]\expandafter\endcsname \expandafter}\expandafter {\the\numexpr\xintLength{#6}-#2}{#6}% }% \def\XINT_xtrunc_negNB #1#2#3{\XINT_xtrunc_negNC {#2}{#3}#1}% \def\XINT_xtrunc_negNC #1% {% \ifnum \xint_c_ < #1 \expandafter\XINT_xtrunc_negNDa \else \expandafter\XINT_xtrunc_negNE \fi {#1}% }% \def\XINT_xtrunc_negNDa #1#2% {% \expandafter\XINT_xtrunc_negNDb% \romannumeral0\XINT_split_fromleft_loop {#1}{}#2\W\W\W\W\W\W\W\W\Z }% \def\XINT_xtrunc_negNDb #1#2{#1.#2}% \def\XINT_xtrunc_negNE #1#2% {% 0.\romannumeral0\XINT_dsx_zeroloop {-#1}{}\Z {}#2% }% \def\XINT_xtrunc_negNW #1#2#3#4#5#6% {% \expandafter\XINT_xtrunc_negNX\expandafter {\romannumeral0\xintnum{\xintDecSplitL {-#1}{#6}}}{#3}% }% \def\XINT_xtrunc_negNX #1#2% {% \expandafter\XINT_xtrunc_negNC\expandafter {\the\numexpr\xintLength {#1}-#2}{#1}% }% \def\XINT_xtrunc_Q #1% {% \expandafter\XINT_xtrunc_prepare_I \romannumeral0\XINT_dsx_zeroloop {#1}{}\Z }% \def\XINT_xtrunc_prepare_I #1.#2#3% {% \expandafter\XINT_xtrunc_prepareB_aa\expandafter {\romannumeral0\xintlength {#2}}{#2}{#1}% }% \def\XINT_xtrunc_prepareB_aa #1% {% \ifnum #1=\xint_c_i \expandafter\XINT_xtrunc_prepareB_onedigit \else \expandafter\XINT_xtrunc_prepareB_PaBa \fi {#1}% }% \def\XINT_xtrunc_prepareB_onedigit #1#2% {% \ifcase#2 \or\expandafter\XINT_xtrunc_BisOne \or\expandafter\XINT_xtrunc_BisTwo \else\expandafter\XINT_xtrunc_prepareB_PaBe \fi {000}{0}{4}{#2}% }% \def\XINT_xtrunc_BisOne #1#2#3#4#5#6#7% {% #5.\romannumeral0\expandafter\XINT_dsx_zeroloop\expandafter {\the\numexpr #7}{}\Z {}% \xintiloop [#6+-1] \ifnum \xintiloopindex>\xint_c_ 0000000000000000000000000000000000000000000000000000000000000000% \repeat }% \def\XINT_xtrunc_BisTwo #1#2#3#4#5#6#7% {% \xintHalf {#5}.\ifodd\xintiiLDg{#5} 5\else 0\fi \romannumeral0\expandafter\XINT_dsx_zeroloop\expandafter {\the\numexpr #7-\xint_c_i}{}\Z {}% \xintiloop [#6+-1] \ifnum \xintiloopindex>\xint_c_ 0000000000000000000000000000000000000000000000000000000000000000% \repeat }% \def\XINT_xtrunc_prepareB_PaBa #1#2% {% \expandafter\XINT_xtrunc_Pa\expandafter {\romannumeral0\XINT_xtrunc_prepareB_a {#1}{#2}}% }% \def\XINT_xtrunc_prepareB_a #1% {% \expandafter\XINT_xtrunc_prepareB_c\expandafter {\the\numexpr \xint_c_iv*((#1+\xint_c_i)/\xint_c_iv)}{#1}% }% \def\XINT_xtrunc_prepareB_c #1#2% {% \csname XINT_xtrunc_prepareB_d\romannumeral\numexpr#1-#2\endcsname {#1}% }% \def\XINT_xtrunc_prepareB_d {\XINT_xtrunc_prepareB_e {}{0000}}% \def\XINT_xtrunc_prepareB_di {\XINT_xtrunc_prepareB_e {0}{000}}% \def\XINT_xtrunc_prepareB_dii {\XINT_xtrunc_prepareB_e {00}{00}}% \def\XINT_xtrunc_prepareB_diii {\XINT_xtrunc_prepareB_e {000}{0}}% \def\XINT_xtrunc_prepareB_PaBe #1#2#3#4% {% \expandafter\XINT_xtrunc_Pa\expandafter {\romannumeral0\XINT_xtrunc_prepareB_e {#1}{#2}{#3}{#4}}% }% \def\XINT_xtrunc_prepareB_e #1#2#3#4% {% \ifnum#3=\xint_c_iv\expandafter\XINT_xtrunc_prepareLittleB_f \else\expandafter\XINT_xtrunc_prepareB_f \fi #4#1{#3}{#2}{#1}% }% \def\XINT_xtrunc_prepareB_f #1#2#3#4#5#{% \expandafter\space \expandafter\XINT_div_prepareB_g \the\numexpr #1#2#3#4+\xint_c_i\expandafter .\the\numexpr (#1#2#3#4+\xint_c_i)/\xint_c_ii\expandafter .\romannumeral0\xintreverseorder {#1#2#3#4#5}.{#1#2#3#4}% }% \def\XINT_xtrunc_prepareLittleB_f #1#{% \expandafter\space\expandafter \XINT_div_prepareB_g \the\numexpr #1/\xint_c_ii.{}.{}.{#1}% }% \def\XINT_xtrunc_Pa #1#2% {% \expandafter\XINT_xtrunc_Pb\romannumeral0#1{#2}{#1}% }% \def\XINT_xtrunc_Pb #1#2#3#4{#1.\XINT_xtrunc_A {#4}{#2}{#3}}% \def\XINT_xtrunc_A #1% {% \unless\ifnum #1>\xint_c_ \XINT_xtrunc_transition\fi \expandafter\XINT_xtrunc_B\expandafter{\the\numexpr #1-\xint_c_i}% }% \def\XINT_xtrunc_B #1#2#3% {% \expandafter\XINT_xtrunc_D\romannumeral0#3% {#20000000000000000000000000000000000000000000000000000000000000000}% {#1}{#3}% }% \def\XINT_xtrunc_D #1#2#3% {% \romannumeral0\expandafter\XINT_dsx_zeroloop\expandafter {\the\numexpr \xint_c_ii^vi-\xintLength{#1}}{}\Z {}#1% \XINT_xtrunc_A {#3}{#2}% }% \def\XINT_xtrunc_transition\fi \expandafter\XINT_xtrunc_B\expandafter #1#2#3#4% {% \fi \ifnum #4=\xint_c_ \XINT_xtrunc_abort\fi \expandafter\XINT_xtrunc_x\expandafter {\romannumeral0\XINT_dsx_zeroloop {#4}{}\Z {#2}}{#3}{#4}% }% \def\XINT_xtrunc_x #1#2% {% \expandafter\XINT_xtrunc_y\romannumeral0#2{#1}% }% \def\XINT_xtrunc_y #1#2#3% {% \romannumeral0\expandafter\XINT_dsx_zeroloop\expandafter {\the\numexpr #3-\xintLength{#1}}{}\Z {}#1% }% \def\XINT_xtrunc_abort\fi\expandafter\XINT_xtrunc_x\expandafter #1#2#3{\fi}% \mathchardef\XINTdigits 16 \def\xintDigits #1#2% {\afterassignment \xint_gobble_i \mathchardef\XINTdigits=}% \def\xinttheDigits {\number\XINTdigits }% \def\xintFloat {\romannumeral0\xintfloat }% \def\xintfloat #1{\XINT_float_chkopt #1\xint_relax }% \def\XINT_float_chkopt #1% {% \ifx [#1\expandafter\XINT_float_opt \else\expandafter\XINT_float_noopt \fi #1% }% \def\XINT_float_noopt #1\xint_relax {% \expandafter\XINT_float_a\expandafter\XINTdigits \romannumeral0\XINT_infrac {#1}\XINT_float_Q }% \def\XINT_float_opt [\xint_relax #1]#2% {% \expandafter\XINT_float_a\expandafter {\the\numexpr #1\expandafter}% \romannumeral0\XINT_infrac {#2}\XINT_float_Q }% \def\XINT_float_a #1#2#3% #1=P, #2=n, #3=A, #4=B {% \XINT_float_fork #3\Z {#1}{#2}% #1 = precision, #2=n }% \def\XINT_float_fork #1% {% \xint_UDzerominusfork #1-\XINT_float_zero 0#1\XINT_float_J 0-{\XINT_float_K #1}% \krof }% \def\XINT_float_zero #1\Z #2#3#4#5{ 0.e0}% \def\XINT_float_J {\expandafter\xint_minus_thenstop\romannumeral0\XINT_float_K }% \def\XINT_float_K #1\Z #2% #1=A, #2=P, #3=n, #4=B {% \expandafter\XINT_float_L\expandafter {\the\numexpr\xintLength{#1}\expandafter}\expandafter {\the\numexpr #2+\xint_c_ii}{#1}{#2}% }% \def\XINT_float_L #1#2% {% \ifnum #1>#2 \expandafter\XINT_float_Ma \else \expandafter\XINT_float_Mc \fi {#1}{#2}% }% \def\XINT_float_Ma #1#2#3% {% \expandafter\XINT_float_Mb\expandafter {\the\numexpr #1-#2\expandafter\expandafter\expandafter}% \expandafter\expandafter\expandafter {\expandafter\xint_firstoftwo \romannumeral0\XINT_split_fromleft_loop {#2}{}#3\W\W\W\W\W\W\W\W\Z }{#2}% }% \def\XINT_float_Mb #1#2#3#4#5#6% #2=A', #3=P+2, #4=P, #5=n, #6=B {% \expandafter\XINT_float_N\expandafter {\the\numexpr\xintLength{#6}\expandafter}\expandafter {\the\numexpr #3\expandafter}\expandafter {\the\numexpr #1+#5}% {#6}{#3}{#2}{#4}% }% long de B, P+2, n', B, |A'|=P+2, A', P \def\XINT_float_Mc #1#2#3#4#5#6% {% \expandafter\XINT_float_N\expandafter {\romannumeral0\xintlength{#6}}{#2}{#5}{#6}{#1}{#3}{#4}% }% long de B, P+2, n, B, |A|, A, P \def\XINT_float_N #1#2% {% \ifnum #1>#2 \expandafter\XINT_float_O \else \expandafter\XINT_float_P \fi {#1}{#2}% }% \def\XINT_float_O #1#2#3#4% {% \expandafter\XINT_float_P\expandafter {\the\numexpr #2\expandafter}\expandafter {\the\numexpr #2\expandafter}\expandafter {\the\numexpr #3-#1+#2\expandafter\expandafter\expandafter}% \expandafter\expandafter\expandafter {\expandafter\xint_firstoftwo \romannumeral0\XINT_split_fromleft_loop {#2}{}#4\W\W\W\W\W\W\W\W\Z }% }% |B|,P+2,n,B,|A|,A,P \def\XINT_float_P #1#2#3#4#5#6#7#8% {% \expandafter #8\expandafter {\the\numexpr #1-#5+#2-\xint_c_i}% {#6}{#4}{#7}{#3}% }% |B|-|A|+P+1,A,B,P,n \def\XINT_float_Q #1% {% \ifnum #1<\xint_c_ \expandafter\XINT_float_Ri \else \expandafter\XINT_float_Rii \fi {#1}% }% \def\XINT_float_Ri #1#2#3% {% \expandafter\XINT_float_Sa \romannumeral0\xintiiquo {#2}% {\XINT_dsx_addzerosnofuss {-#1}{#3}}\Z {#1}% }% \def\XINT_float_Rii #1#2#3% {% \expandafter\XINT_float_Sa \romannumeral0\xintiiquo {\XINT_dsx_addzerosnofuss {#1}{#2}}{#3}\Z {#1}% }% \def\XINT_float_Sa #1% {% \if #19% \xint_afterfi {\XINT_float_Sb\XINT_float_Wb }% \else \xint_afterfi {\XINT_float_Sb\XINT_float_Wa }% \fi #1% }% \def\XINT_float_Sb #1#2\Z #3#4% {% \expandafter\XINT_float_T\expandafter {\the\numexpr #4+\xint_c_i\expandafter}% \romannumeral-`0\XINT_lenrord_loop 0{}#2\Z\W\W\W\W\W\W\W\Z #1{#3}{#4}% }% \def\XINT_float_T #1#2#3% {% \ifnum #2>#1 \xint_afterfi{\XINT_float_U\XINT_float_Xb}% \else \xint_afterfi{\XINT_float_U\XINT_float_Xa #3}% \fi }% \def\XINT_float_U #1#2% {% \ifnum #2<\xint_c_v \expandafter\XINT_float_Va \else \expandafter\XINT_float_Vb \fi #1% }% \def\XINT_float_Va #1#2\Z #3% {% \expandafter#1% \romannumeral0\expandafter\XINT_float_Wa \romannumeral0\XINT_rord_main {}#2% \xint_relax \xint_bye\xint_bye\xint_bye\xint_bye \xint_bye\xint_bye\xint_bye\xint_bye \xint_relax \Z }% \def\XINT_float_Vb #1#2\Z #3% {% \expandafter #1% \romannumeral0\expandafter #3% \romannumeral0\XINT_addm_A 0{}1000\W\X\Y\Z #2000\W\X\Y\Z \Z }% \def\XINT_float_Wa #1{ #1.}% \def\XINT_float_Wb #1#2% {\if #11\xint_afterfi{ 10.}\else\xint_afterfi{ #1.#2}\fi }% \def\XINT_float_Xa #1\Z #2#3#4% {% \expandafter\XINT_float_Y\expandafter {\the\numexpr #3+#4-#2}{#1}% }% \def\XINT_float_Xb #1\Z #2#3#4% {% \expandafter\XINT_float_Y\expandafter {\the\numexpr #3+#4+\xint_c_i-#2}{#1}% }% \def\XINT_float_Y #1#2{ #2e#1}% \def\XINTinFloat {\romannumeral0\XINTinfloat }% \def\XINTinfloat [#1]#2% {% \expandafter\XINT_infloat_a\expandafter {\the\numexpr #1\expandafter}% \romannumeral0\XINT_infrac {#2}\XINT_infloat_Q }% \def\XINT_infloat_a #1#2#3% #1=P, #2=n, #3=A, #4=B {% \XINT_infloat_fork #3\Z {#1}{#2}% #1 = precision, #2=n }% \def\XINT_infloat_fork #1% {% \xint_UDzerominusfork #1-\XINT_infloat_zero 0#1\XINT_infloat_J 0-{\XINT_float_K #1}% \krof }% \def\XINT_infloat_zero #1\Z #2#3#4#5{ 0[0]}% \def\XINT_infloat_J {\expandafter-\romannumeral0\XINT_float_K }% \def\XINT_infloat_Q #1% {% \ifnum #1<\xint_c_ \expandafter\XINT_infloat_Ri \else \expandafter\XINT_infloat_Rii \fi {#1}% }% \def\XINT_infloat_Ri #1#2#3% {% \expandafter\XINT_infloat_S\expandafter {\romannumeral0\xintiiquo {#2}% {\XINT_dsx_addzerosnofuss {-#1}{#3}}}{#1}% }% \def\XINT_infloat_Rii #1#2#3% {% \expandafter\XINT_infloat_S\expandafter {\romannumeral0\xintiiquo {\XINT_dsx_addzerosnofuss {#1}{#2}}{#3}}{#1}% }% \def\XINT_infloat_S #1#2#3% {% \expandafter\XINT_infloat_T\expandafter {\the\numexpr #3+\xint_c_i\expandafter}% \romannumeral-`0\XINT_lenrord_loop 0{}#1\Z\W\W\W\W\W\W\W\Z {#2}% }% \def\XINT_infloat_T #1#2#3% {% \ifnum #2>#1 \xint_afterfi{\XINT_infloat_U\XINT_infloat_Wb}% \else \xint_afterfi{\XINT_infloat_U\XINT_infloat_Wa #3}% \fi }% \def\XINT_infloat_U #1#2% {% \ifnum #2<\xint_c_v \expandafter\XINT_infloat_Va \else \expandafter\XINT_infloat_Vb \fi #1% }% \def\XINT_infloat_Va #1#2\Z {% \expandafter#1% \romannumeral0\XINT_rord_main {}#2% \xint_relax \xint_bye\xint_bye\xint_bye\xint_bye \xint_bye\xint_bye\xint_bye\xint_bye \xint_relax \Z }% \def\XINT_infloat_Vb #1#2\Z {% \expandafter #1% \romannumeral0\XINT_addm_A 0{}1000\W\X\Y\Z #2000\W\X\Y\Z \Z }% \def\XINT_infloat_Wa #1\Z #2#3% {% \expandafter\XINT_infloat_X\expandafter {\the\numexpr #3+\xint_c_i-#2}{#1}% }% \def\XINT_infloat_Wb #1\Z #2#3% {% \expandafter\XINT_infloat_X\expandafter {\the\numexpr #3+\xint_c_ii-#2}{#1}% }% \def\XINT_infloat_X #1#2{ #2[#1]}% \def\xintAdd {\romannumeral0\xintadd }% \def\xintadd #1% {% \expandafter\xint_fadd\expandafter {\romannumeral0\XINT_infrac {#1}}% }% \def\xint_fadd #1#2{\expandafter\XINT_fadd_A\romannumeral0\XINT_infrac{#2}#1}% \def\XINT_fadd_A #1#2#3#4% {% \ifnum #4 > #1 \xint_afterfi {\XINT_fadd_B {#1}}% \else \xint_afterfi {\XINT_fadd_B {#4}}% \fi {#1}{#4}{#2}{#3}% }% \def\XINT_fadd_B #1#2#3#4#5#6#7% {% \expandafter\XINT_fadd_C\expandafter {\romannumeral0\xintiimul {#7}{#5}}% {\romannumeral0\xintiiadd {\romannumeral0\xintiimul {\xintDSH {\the\numexpr -#3+#1\relax}{#6}}{#5}}% {\romannumeral0\xintiimul {#7}{\xintDSH {\the\numexpr -#2+#1\relax}{#4}}}% }% {#1}% }% \def\XINT_fadd_C #1#2#3% {% \expandafter\XINT_fadd_D\expandafter {#2}{#3}{#1}% }% \def\XINT_fadd_D #1#2{\XINT_outfrac {#2}{#1}}% \def\xintSub {\romannumeral0\xintsub }% \def\xintsub #1% {% \expandafter\xint_fsub\expandafter {\romannumeral0\XINT_infrac {#1}}% }% \def\xint_fsub #1#2% {\expandafter\XINT_fsub_A\romannumeral0\XINT_infrac {#2}#1}% \def\XINT_fsub_A #1#2#3#4% {% \ifnum #4 > #1 \xint_afterfi {\XINT_fsub_B {#1}}% \else \xint_afterfi {\XINT_fsub_B {#4}}% \fi {#1}{#4}{#2}{#3}% }% \def\XINT_fsub_B #1#2#3#4#5#6#7% {% \expandafter\XINT_fsub_C\expandafter {\romannumeral0\xintiimul {#7}{#5}}% {\romannumeral0\xintiisub {\romannumeral0\xintiimul {\xintDSH {\the\numexpr -#3+#1\relax}{#6}}{#5}}% {\romannumeral0\xintiimul {#7}{\xintDSH {\the\numexpr -#2+#1\relax}{#4}}}% }% {#1}% }% \def\XINT_fsub_C #1#2#3% {% \expandafter\XINT_fsub_D\expandafter {#2}{#3}{#1}% }% \def\XINT_fsub_D #1#2{\XINT_outfrac {#2}{#1}}% \def\xintSum {\romannumeral0\xintsum }% \def\xintsum #1{\xintsumexpr #1\relax }% \def\xintSumExpr {\romannumeral0\xintsumexpr }% \def\xintsumexpr {\expandafter\XINT_fsumexpr\romannumeral-`0}% \def\XINT_fsumexpr {\XINT_fsum_loop_a {0/1[0]}}% \def\XINT_fsum_loop_a #1#2% {% \expandafter\XINT_fsum_loop_b \romannumeral-`0#2\Z {#1}% }% \def\XINT_fsum_loop_b #1% {% \xint_gob_til_relax #1\XINT_fsum_finished\relax \XINT_fsum_loop_c #1% }% \def\XINT_fsum_loop_c #1\Z #2% {% \expandafter\XINT_fsum_loop_a\expandafter{\romannumeral0\xintadd {#2}{#1}}% }% \def\XINT_fsum_finished #1\Z #2{ #2}% \def\xintMul {\romannumeral0\xintmul }% \def\xintmul #1% {% \expandafter\xint_fmul\expandafter {\romannumeral0\XINT_infrac {#1}}% }% \def\xint_fmul #1#2% {\expandafter\XINT_fmul_A\romannumeral0\XINT_infrac {#2}#1}% \def\XINT_fmul_A #1#2#3#4#5#6% {% \expandafter\XINT_fmul_B \expandafter{\the\numexpr #1+#4\expandafter}% \expandafter{\romannumeral0\xintiimul {#6}{#3}}% {\romannumeral0\xintiimul {#5}{#2}}% }% \def\XINT_fmul_B #1#2#3% {% \expandafter \XINT_fmul_C \expandafter{#3}{#1}{#2}% }% \def\XINT_fmul_C #1#2{\XINT_outfrac {#2}{#1}}% \def\xintSqr {\romannumeral0\xintsqr }% \def\xintsqr #1% {% \expandafter\xint_fsqr\expandafter{\romannumeral0\XINT_infrac {#1}}% }% \def\xint_fsqr #1{\XINT_fmul_A #1#1}% \def\xintPow {\romannumeral0\xintpow }% \def\xintpow #1% {% \expandafter\xint_fpow\expandafter {\romannumeral0\XINT_infrac {#1}}% }% \def\xint_fpow #1#2% {% \expandafter\XINT_fpow_fork\the\numexpr \xintNum{#2}\relax\Z #1% }% \def\XINT_fpow_fork #1#2\Z {% \xint_UDzerominusfork #1-\XINT_fpow_zero 0#1\XINT_fpow_neg 0-{\XINT_fpow_pos #1}% \krof {#2}% }% \def\XINT_fpow_zero #1#2#3#4{ 1/1[0]}% \def\XINT_fpow_pos #1#2#3#4#5% {% \expandafter\XINT_fpow_pos_A\expandafter {\the\numexpr #1#2*#3\expandafter}\expandafter {\romannumeral0\xintiipow {#5}{#1#2}}% {\romannumeral0\xintiipow {#4}{#1#2}}% }% \def\XINT_fpow_neg #1#2#3#4% {% \expandafter\XINT_fpow_pos_A\expandafter {\the\numexpr -#1*#2\expandafter}\expandafter {\romannumeral0\xintiipow {#3}{#1}}% {\romannumeral0\xintiipow {#4}{#1}}% }% \def\XINT_fpow_pos_A #1#2#3% {% \expandafter\XINT_fpow_pos_B\expandafter {#3}{#1}{#2}% }% \def\XINT_fpow_pos_B #1#2{\XINT_outfrac {#2}{#1}}% \def\xintFac {\romannumeral0\xintfac }% \def\xintfac #1% {% \expandafter\XINT_fac_fork\expandafter{\the\numexpr \xintNum{#1}}% }% \def\xintPrd {\romannumeral0\xintprd }% \def\xintprd #1{\xintprdexpr #1\relax }% \def\xintPrdExpr {\romannumeral0\xintprdexpr }% \def\xintprdexpr {\expandafter\XINT_fprdexpr \romannumeral-`0}% \def\XINT_fprdexpr {\XINT_fprod_loop_a {1/1[0]}}% \def\XINT_fprod_loop_a #1#2% {% \expandafter\XINT_fprod_loop_b \romannumeral-`0#2\Z {#1}% }% \def\XINT_fprod_loop_b #1% {% \xint_gob_til_relax #1\XINT_fprod_finished\relax \XINT_fprod_loop_c #1% }% \def\XINT_fprod_loop_c #1\Z #2% {% \expandafter\XINT_fprod_loop_a\expandafter{\romannumeral0\xintmul {#1}{#2}}% }% \def\XINT_fprod_finished #1\Z #2{ #2}% \def\xintDiv {\romannumeral0\xintdiv }% \def\xintdiv #1% {% \expandafter\xint_fdiv\expandafter {\romannumeral0\XINT_infrac {#1}}% }% \def\xint_fdiv #1#2% {\expandafter\XINT_fdiv_A\romannumeral0\XINT_infrac {#2}#1}% \def\XINT_fdiv_A #1#2#3#4#5#6% {% \expandafter\XINT_fdiv_B \expandafter{\the\numexpr #4-#1\expandafter}% \expandafter{\romannumeral0\xintiimul {#2}{#6}}% {\romannumeral0\xintiimul {#3}{#5}}% }% \def\XINT_fdiv_B #1#2#3% {% \expandafter\XINT_fdiv_C \expandafter{#3}{#1}{#2}% }% \def\XINT_fdiv_C #1#2{\XINT_outfrac {#2}{#1}}% \def\xintIsOne {\romannumeral0\xintisone }% \def\xintisone #1{\expandafter\XINT_fracisone \romannumeral0\xintrawwithzeros{#1}\Z }% \def\XINT_fracisone #1/#2\Z {\if0\XINT_Cmp {#1}{#2}\xint_afterfi{ 1}\else\xint_afterfi{ 0}\fi}% \def\xintGeq {\romannumeral0\xintgeq }% \def\xintgeq #1% {% \expandafter\xint_fgeq\expandafter {\romannumeral0\xintabs {#1}}% }% \def\xint_fgeq #1#2% {% \expandafter\XINT_fgeq_A \romannumeral0\xintabs {#2}#1% }% \def\XINT_fgeq_A #1% {% \xint_gob_til_zero #1\XINT_fgeq_Zii 0% \XINT_fgeq_B #1% }% \def\XINT_fgeq_Zii 0\XINT_fgeq_B #1[#2]#3[#4]{ 1}% \def\XINT_fgeq_B #1/#2[#3]#4#5/#6[#7]% {% \xint_gob_til_zero #4\XINT_fgeq_Zi 0% \expandafter\XINT_fgeq_C\expandafter {\the\numexpr #7-#3\expandafter}\expandafter {\romannumeral0\xintiimul {#4#5}{#2}}% {\romannumeral0\xintiimul {#6}{#1}}% }% \def\XINT_fgeq_Zi 0#1#2#3#4#5#6#7{ 0}% \def\XINT_fgeq_C #1#2#3% {% \expandafter\XINT_fgeq_D\expandafter {#3}{#1}{#2}% }% \def\XINT_fgeq_D #1#2#3% {% \expandafter\XINT_cntSgnFork\romannumeral-`0\expandafter\XINT_cntSgn \the\numexpr #2+\xintLength{#3}-\xintLength{#1}\relax\Z { 0}{\XINT_fgeq_E #2\Z {#3}{#1}}{ 1}% }% \def\XINT_fgeq_E #1% {% \xint_UDsignfork #1\XINT_fgeq_Fd -{\XINT_fgeq_Fn #1}% \krof }% \def\XINT_fgeq_Fd #1\Z #2#3% {% \expandafter\XINT_fgeq_Fe\expandafter {\romannumeral0\XINT_dsx_addzerosnofuss {#1}{#3}}{#2}% }% \def\XINT_fgeq_Fe #1#2{\XINT_geq_pre {#2}{#1}}% \def\XINT_fgeq_Fn #1\Z #2#3% {% \expandafter\XINT_geq_pre\expandafter {\romannumeral0\XINT_dsx_addzerosnofuss {#1}{#2}}{#3}% }% \def\xintMax {\romannumeral0\xintmax }% \def\xintmax #1% {% \expandafter\xint_fmax\expandafter {\romannumeral0\xintraw {#1}}% }% \def\xint_fmax #1#2% {% \expandafter\XINT_fmax_A\romannumeral0\xintraw {#2}#1% }% \def\XINT_fmax_A #1#2/#3[#4]#5#6/#7[#8]% {% \xint_UDsignsfork #1#5\XINT_fmax_minusminus -#5\XINT_fmax_firstneg #1-\XINT_fmax_secondneg --\XINT_fmax_nonneg_a \krof #1#5{#2/#3[#4]}{#6/#7[#8]}% }% \def\XINT_fmax_minusminus --% {\expandafter\xint_minus_thenstop\romannumeral0\XINT_fmin_nonneg_b }% \def\XINT_fmax_firstneg #1-#2#3{ #1#2}% \def\XINT_fmax_secondneg -#1#2#3{ #1#3}% \def\XINT_fmax_nonneg_a #1#2#3#4% {% \XINT_fmax_nonneg_b {#1#3}{#2#4}% }% \def\XINT_fmax_nonneg_b #1#2% {% \if0\romannumeral0\XINT_fgeq_A #1#2% \xint_afterfi{ #1}% \else \xint_afterfi{ #2}% \fi }% \def\xintMaxof {\romannumeral0\xintmaxof }% \def\xintmaxof #1{\expandafter\XINT_maxof_a\romannumeral-`0#1\relax }% \def\XINT_maxof_a #1{\expandafter\XINT_maxof_b\romannumeral0\xintraw{#1}\Z }% \def\XINT_maxof_b #1\Z #2% {\expandafter\XINT_maxof_c\romannumeral-`0#2\Z {#1}\Z}% \def\XINT_maxof_c #1% {\xint_gob_til_relax #1\XINT_maxof_e\relax\XINT_maxof_d #1}% \def\XINT_maxof_d #1\Z {\expandafter\XINT_maxof_b\romannumeral0\xintmax {#1}}% \def\XINT_maxof_e #1\Z #2\Z { #2}% \def\xintMin {\romannumeral0\xintmin }% \def\xintmin #1% {% \expandafter\xint_fmin\expandafter {\romannumeral0\xintraw {#1}}% }% \def\xint_fmin #1#2% {% \expandafter\XINT_fmin_A\romannumeral0\xintraw {#2}#1% }% \def\XINT_fmin_A #1#2/#3[#4]#5#6/#7[#8]% {% \xint_UDsignsfork #1#5\XINT_fmin_minusminus -#5\XINT_fmin_firstneg #1-\XINT_fmin_secondneg --\XINT_fmin_nonneg_a \krof #1#5{#2/#3[#4]}{#6/#7[#8]}% }% \def\XINT_fmin_minusminus --% {\expandafter\xint_minus_thenstop\romannumeral0\XINT_fmax_nonneg_b }% \def\XINT_fmin_firstneg #1-#2#3{ -#3}% \def\XINT_fmin_secondneg -#1#2#3{ -#2}% \def\XINT_fmin_nonneg_a #1#2#3#4% {% \XINT_fmin_nonneg_b {#1#3}{#2#4}% }% \def\XINT_fmin_nonneg_b #1#2% {% \if0\romannumeral0\XINT_fgeq_A #1#2% \xint_afterfi{ #2}% \else \xint_afterfi{ #1}% \fi }% \def\xintMinof {\romannumeral0\xintminof }% \def\xintminof #1{\expandafter\XINT_minof_a\romannumeral-`0#1\relax }% \def\XINT_minof_a #1{\expandafter\XINT_minof_b\romannumeral0\xintraw{#1}\Z }% \def\XINT_minof_b #1\Z #2% {\expandafter\XINT_minof_c\romannumeral-`0#2\Z {#1}\Z}% \def\XINT_minof_c #1% {\xint_gob_til_relax #1\XINT_minof_e\relax\XINT_minof_d #1}% \def\XINT_minof_d #1\Z {\expandafter\XINT_minof_b\romannumeral0\xintmin {#1}}% \def\XINT_minof_e #1\Z #2\Z { #2}% \def\xintCmp {\romannumeral0\xintcmp }% \def\xintcmp #1% {% \expandafter\xint_fcmp\expandafter {\romannumeral0\xintraw {#1}}% }% \def\xint_fcmp #1#2% {% \expandafter\XINT_fcmp_A\romannumeral0\xintraw {#2}#1% }% \def\XINT_fcmp_A #1#2/#3[#4]#5#6/#7[#8]% {% \xint_UDsignsfork #1#5\XINT_fcmp_minusminus -#5\XINT_fcmp_firstneg #1-\XINT_fcmp_secondneg --\XINT_fcmp_nonneg_a \krof #1#5{#2/#3[#4]}{#6/#7[#8]}% }% \def\XINT_fcmp_minusminus --#1#2{\XINT_fcmp_B #2#1}% \def\XINT_fcmp_firstneg #1-#2#3{ -1}% \def\XINT_fcmp_secondneg -#1#2#3{ 1}% \def\XINT_fcmp_nonneg_a #1#2% {% \xint_UDzerosfork #1#2\XINT_fcmp_zerozero 0#2\XINT_fcmp_firstzero #10\XINT_fcmp_secondzero 00\XINT_fcmp_pos \krof #1#2% }% \def\XINT_fcmp_zerozero #1#2#3#4{ 0}% 1.08b had some [ and ] here!!! \def\XINT_fcmp_firstzero #1#2#3#4{ -1}% incredibly I never saw that until \def\XINT_fcmp_secondzero #1#2#3#4{ 1}% preparing 1.09a. \def\XINT_fcmp_pos #1#2#3#4% {% \XINT_fcmp_B #1#3#2#4% }% \def\XINT_fcmp_B #1/#2[#3]#4/#5[#6]% {% \expandafter\XINT_fcmp_C\expandafter {\the\numexpr #6-#3\expandafter}\expandafter {\romannumeral0\xintiimul {#4}{#2}}% {\romannumeral0\xintiimul {#5}{#1}}% }% \def\XINT_fcmp_C #1#2#3% {% \expandafter\XINT_fcmp_D\expandafter {#3}{#1}{#2}% }% \def\XINT_fcmp_D #1#2#3% {% \expandafter\XINT_cntSgnFork\romannumeral-`0\expandafter\XINT_cntSgn \the\numexpr #2+\xintLength{#3}-\xintLength{#1}\relax\Z { -1}{\XINT_fcmp_E #2\Z {#3}{#1}}{ 1}% }% \def\XINT_fcmp_E #1% {% \xint_UDsignfork #1\XINT_fcmp_Fd -{\XINT_fcmp_Fn #1}% \krof }% \def\XINT_fcmp_Fd #1\Z #2#3% {% \expandafter\XINT_fcmp_Fe\expandafter {\romannumeral0\XINT_dsx_addzerosnofuss {#1}{#3}}{#2}% }% \def\XINT_fcmp_Fe #1#2{\XINT_cmp_pre {#2}{#1}}% \def\XINT_fcmp_Fn #1\Z #2#3% {% \expandafter\XINT_cmp_pre\expandafter {\romannumeral0\XINT_dsx_addzerosnofuss {#1}{#2}}{#3}% }% \def\xintAbs {\romannumeral0\xintabs }% \def\xintabs #1{\expandafter\XINT_abs\romannumeral0\xintraw {#1}}% \def\xintOpp {\romannumeral0\xintopp }% \def\xintopp #1{\expandafter\XINT_opp\romannumeral0\xintraw {#1}}% \def\xintSgn {\romannumeral0\xintsgn }% \def\xintsgn #1{\expandafter\XINT_sgn\romannumeral0\xintraw {#1}\Z }% \def\xintFloatAdd {\romannumeral0\xintfloatadd }% \def\xintfloatadd #1{\XINT_fladd_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatAdd {\romannumeral0\XINTinfloatadd }% \def\XINTinfloatadd #1{\XINT_fladd_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_fladd_chkopt #1#2% {% \ifx [#2\expandafter\XINT_fladd_opt \else\expandafter\XINT_fladd_noopt \fi #1#2% }% \def\XINT_fladd_noopt #1#2\xint_relax #3% {% #1[\XINTdigits]{\XINT_FL_Add {\XINTdigits+\xint_c_ii}{#2}{#3}}% }% \def\XINT_fladd_opt #1[\xint_relax #2]#3#4% {% #1[#2]{\XINT_FL_Add {#2+\xint_c_ii}{#3}{#4}}% }% \def\XINT_FL_Add #1#2% {% \expandafter\XINT_FL_Add_a\expandafter{\the\numexpr #1\expandafter}% \expandafter{\romannumeral0\XINTinfloat [#1]{#2}}% }% \def\XINT_FL_Add_a #1#2#3% {% \expandafter\XINT_FL_Add_b\romannumeral0\XINTinfloat [#1]{#3}#2{#1}% }% \def\XINT_FL_Add_b #1% {% \xint_gob_til_zero #1\XINT_FL_Add_zero 0\XINT_FL_Add_c #1% }% \def\XINT_FL_Add_c #1[#2]#3% {% \xint_gob_til_zero #3\XINT_FL_Add_zerobis 0\XINT_FL_Add_d #1[#2]#3% }% \def\XINT_FL_Add_d #1[#2]#3[#4]#5% {% \ifnum \numexpr #2-#4-#5>\xint_c_i \expandafter \xint_secondofthree_thenstop \else \ifnum \numexpr #4-#2-#5>\xint_c_i \expandafter\expandafter\expandafter\xint_thirdofthree_thenstop \fi \fi \xintadd {#1[#2]}{#3[#4]}% }% \def\XINT_FL_Add_zero 0\XINT_FL_Add_c 0[0]#1[#2]#3{#1[#2]}% \def\XINT_FL_Add_zerobis 0\XINT_FL_Add_d #1[#2]0[0]#3{#1[#2]}% \def\xintFloatSub {\romannumeral0\xintfloatsub }% \def\xintfloatsub #1{\XINT_flsub_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatSub {\romannumeral0\XINTinfloatsub }% \def\XINTinfloatsub #1{\XINT_flsub_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_flsub_chkopt #1#2% {% \ifx [#2\expandafter\XINT_flsub_opt \else\expandafter\XINT_flsub_noopt \fi #1#2% }% \def\XINT_flsub_noopt #1#2\xint_relax #3% {% #1[\XINTdigits]{\XINT_FL_Add {\XINTdigits+\xint_c_ii}{#2}{\xintOpp{#3}}}% }% \def\XINT_flsub_opt #1[\xint_relax #2]#3#4% {% #1[#2]{\XINT_FL_Add {#2+\xint_c_ii}{#3}{\xintOpp{#4}}}% }% \def\xintFloatMul {\romannumeral0\xintfloatmul}% \def\xintfloatmul #1{\XINT_flmul_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatMul {\romannumeral0\XINTinfloatmul }% \def\XINTinfloatmul #1{\XINT_flmul_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_flmul_chkopt #1#2% {% \ifx [#2\expandafter\XINT_flmul_opt \else\expandafter\XINT_flmul_noopt \fi #1#2% }% \def\XINT_flmul_noopt #1#2\xint_relax #3% {% #1[\XINTdigits]{\XINT_FL_Mul {\XINTdigits+\xint_c_ii}{#2}{#3}}% }% \def\XINT_flmul_opt #1[\xint_relax #2]#3#4% {% #1[#2]{\XINT_FL_Mul {#2+\xint_c_ii}{#3}{#4}}% }% \def\XINT_FL_Mul #1#2% {% \expandafter\XINT_FL_Mul_a\expandafter{\the\numexpr #1\expandafter}% \expandafter{\romannumeral0\XINTinfloat [#1]{#2}}% }% \def\XINT_FL_Mul_a #1#2#3% {% \expandafter\XINT_FL_Mul_b\romannumeral0\XINTinfloat [#1]{#3}#2% }% \def\XINT_FL_Mul_b #1[#2]#3[#4]{\xintE{\xintiiMul {#1}{#3}}{#2+#4}}% \def\xintFloatDiv {\romannumeral0\xintfloatdiv}% \def\xintfloatdiv #1{\XINT_fldiv_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatDiv {\romannumeral0\XINTinfloatdiv }% \def\XINTinfloatdiv #1{\XINT_fldiv_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_fldiv_chkopt #1#2% {% \ifx [#2\expandafter\XINT_fldiv_opt \else\expandafter\XINT_fldiv_noopt \fi #1#2% }% \def\XINT_fldiv_noopt #1#2\xint_relax #3% {% #1[\XINTdigits]{\XINT_FL_Div {\XINTdigits+\xint_c_ii}{#2}{#3}}% }% \def\XINT_fldiv_opt #1[\xint_relax #2]#3#4% {% #1[#2]{\XINT_FL_Div {#2+\xint_c_ii}{#3}{#4}}% }% \def\XINT_FL_Div #1#2% {% \expandafter\XINT_FL_Div_a\expandafter{\the\numexpr #1\expandafter}% \expandafter{\romannumeral0\XINTinfloat [#1]{#2}}% }% \def\XINT_FL_Div_a #1#2#3% {% \expandafter\XINT_FL_Div_b\romannumeral0\XINTinfloat [#1]{#3}#2% }% \def\XINT_FL_Div_b #1[#2]#3[#4]{\xintE{#3/#1}{#4-#2}}% \def\XINTinFloatSum {\romannumeral0\XINTinfloatsum }% \def\XINTinfloatsum #1{\expandafter\XINT_floatsum_a\romannumeral-`0#1\relax }% \def\XINT_floatsum_a #1{\expandafter\XINT_floatsum_b \romannumeral0\XINTinfloat[\XINTdigits]{#1}\Z }% \def\XINT_floatsum_b #1\Z #2% {\expandafter\XINT_floatsum_c\romannumeral-`0#2\Z {#1}\Z}% \def\XINT_floatsum_c #1% {\xint_gob_til_relax #1\XINT_floatsum_e\relax\XINT_floatsum_d #1}% \def\XINT_floatsum_d #1\Z {\expandafter\XINT_floatsum_b\romannumeral0\XINTinfloatadd {#1}}% \def\XINT_floatsum_e #1\Z #2\Z { #2}% \def\XINTinFloatPrd {\romannumeral0\XINTinfloatprd }% \def\XINTinfloatprd #1{\expandafter\XINT_floatprd_a\romannumeral-`0#1\relax }% \def\XINT_floatprd_a #1{\expandafter\XINT_floatprd_b \romannumeral0\XINTinfloat[\XINTdigits]{#1}\Z }% \def\XINT_floatprd_b #1\Z #2% {\expandafter\XINT_floatprd_c\romannumeral-`0#2\Z {#1}\Z}% \def\XINT_floatprd_c #1% {\xint_gob_til_relax #1\XINT_floatprd_e\relax\XINT_floatprd_d #1}% \def\XINT_floatprd_d #1\Z {\expandafter\XINT_floatprd_b\romannumeral0\XINTinfloatmul {#1}}% \def\XINT_floatprd_e #1\Z #2\Z { #2}% \def\xintFloatPow {\romannumeral0\xintfloatpow}% \def\xintfloatpow #1{\XINT_flpow_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatPow {\romannumeral0\XINTinfloatpow }% \def\XINTinfloatpow #1{\XINT_flpow_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_flpow_chkopt #1#2% {% \ifx [#2\expandafter\XINT_flpow_opt \else\expandafter\XINT_flpow_noopt \fi #1#2% }% \def\XINT_flpow_noopt #1#2\xint_relax #3% {% \expandafter\XINT_flpow_checkB_start\expandafter {\the\numexpr #3\expandafter}\expandafter {\the\numexpr \XINTdigits}{#2}{#1[\XINTdigits]}% }% \def\XINT_flpow_opt #1[\xint_relax #2]#3#4% {% \expandafter\XINT_flpow_checkB_start\expandafter {\the\numexpr #4\expandafter}\expandafter {\the\numexpr #2}{#3}{#1[#2]}% }% \def\XINT_flpow_checkB_start #1{\XINT_flpow_checkB_a #1\Z }% \def\XINT_flpow_checkB_a #1% {% \xint_UDzerominusfork #1-\XINT_flpow_BisZero 0#1{\XINT_flpow_checkB_b 1}% 0-{\XINT_flpow_checkB_b 0#1}% \krof }% \def\XINT_flpow_BisZero \Z #1#2#3{#3{1/1[0]}}% \def\XINT_flpow_checkB_b #1#2\Z #3% {% \expandafter\XINT_flpow_checkB_c \expandafter {\romannumeral0\xintlength{#2}}{#3}{#2}#1% }% \def\XINT_flpow_checkB_c #1#2% {% \expandafter\XINT_flpow_checkB_d \expandafter {\the\numexpr \expandafter\xintLength\expandafter {\the\numexpr #1*20/\xint_c_iii }+#1+#2+\xint_c_i }% }% \def\XINT_flpow_checkB_d #1#2#3#4% {% \expandafter \XINT_flpow_a \romannumeral0\XINTinfloat [#1]{#4}{#1}{#2}#3% }% \def\XINT_flpow_a #1% {% \xint_UDzerominusfork #1-\XINT_flpow_zero 0#1{\XINT_flpow_b 1}% 0-{\XINT_flpow_b 0#1}% \krof }% \def\XINT_flpow_b #1#2[#3]#4#5% {% \XINT_flpow_loopI {#5}{#2[#3]}{\romannumeral0\XINTinfloatmul [#4]}% {#1*\ifodd #5 1\else 0\fi}% }% \def\XINT_flpow_zero [#1]#2#3#4#5% {% \if #41\xint_afterfi {\xintError:DivisionByZero #5{1[2147483648]}}% \else \xint_afterfi {#5{0[0]}}\fi }% \def\XINT_flpow_loopI #1% {% \ifnum #1=\xint_c_i\XINT_flpow_ItoIII\fi \ifodd #1 \expandafter\XINT_flpow_loopI_odd \else \expandafter\XINT_flpow_loopI_even \fi {#1}% }% \def\XINT_flpow_ItoIII\fi #1\fi #2#3#4#5% {% \fi\expandafter\XINT_flpow_III\the\numexpr #5\relax #3% }% \def\XINT_flpow_loopI_even #1#2#3% {% \expandafter\XINT_flpow_loopI\expandafter {\the\numexpr #1/\xint_c_ii\expandafter}\expandafter {#3{#2}{#2}}{#3}% }% \def\XINT_flpow_loopI_odd #1#2#3% {% \expandafter\XINT_flpow_loopII\expandafter {\the\numexpr #1/\xint_c_ii-\xint_c_i\expandafter}\expandafter {#3{#2}{#2}}{#3}{#2}% }% \def\XINT_flpow_loopII #1% {% \ifnum #1 = \xint_c_i\XINT_flpow_IItoIII\fi \ifodd #1 \expandafter\XINT_flpow_loopII_odd \else \expandafter\XINT_flpow_loopII_even \fi {#1}% }% \def\XINT_flpow_loopII_even #1#2#3% {% \expandafter\XINT_flpow_loopII\expandafter {\the\numexpr #1/\xint_c_ii\expandafter}\expandafter {#3{#2}{#2}}{#3}% }% \def\XINT_flpow_loopII_odd #1#2#3#4% {% \expandafter\XINT_flpow_loopII_odda\expandafter {#3{#2}{#4}}{#1}{#2}{#3}% }% \def\XINT_flpow_loopII_odda #1#2#3#4% {% \expandafter\XINT_flpow_loopII\expandafter {\the\numexpr #2/\xint_c_ii-\xint_c_i\expandafter}\expandafter {#4{#3}{#3}}{#4}{#1}% }% \def\XINT_flpow_IItoIII\fi #1\fi #2#3#4#5#6% {% \fi\expandafter\XINT_flpow_III\the\numexpr #6\expandafter\relax #4{#3}{#5}% }% \def\XINT_flpow_III #1#2[#3]#4% {% \expandafter\XINT_flpow_IIIend\expandafter {\the\numexpr\if #41-\fi#3\expandafter}% \xint_UDzerofork #4{{#2}}% 0{{1/#2}}% \krof #1% }% \def\XINT_flpow_IIIend #1#2#3#4% {% \xint_UDzerofork #3{#4{#2[#1]}}% 0{#4{-#2[#1]}}% \krof }% \def\xintFloatPower {\romannumeral0\xintfloatpower}% \def\xintfloatpower #1{\XINT_flpower_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatPower {\romannumeral0\XINTinfloatpower}% \def\XINTinfloatpower #1{\XINT_flpower_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_flpower_chkopt #1#2% {% \ifx [#2\expandafter\XINT_flpower_opt \else\expandafter\XINT_flpower_noopt \fi #1#2% }% \def\XINT_flpower_noopt #1#2\xint_relax #3% {% \expandafter\XINT_flpower_checkB_start\expandafter {\the\numexpr \XINTdigits\expandafter}\expandafter {\romannumeral0\xintnum{#3}}{#2}{#1[\XINTdigits]}% }% \def\XINT_flpower_opt #1[\xint_relax #2]#3#4% {% \expandafter\XINT_flpower_checkB_start\expandafter {\the\numexpr #2\expandafter}\expandafter {\romannumeral0\xintnum{#4}}{#3}{#1[#2]}% }% \def\XINT_flpower_checkB_start #1#2{\XINT_flpower_checkB_a #2\Z {#1}}% \def\XINT_flpower_checkB_a #1% {% \xint_UDzerominusfork #1-\XINT_flpower_BisZero 0#1{\XINT_flpower_checkB_b 1}% 0-{\XINT_flpower_checkB_b 0#1}% \krof }% \def\XINT_flpower_BisZero \Z #1#2#3{#3{1/1[0]}}% \def\XINT_flpower_checkB_b #1#2\Z #3% {% \expandafter\XINT_flpower_checkB_c \expandafter {\romannumeral0\xintlength{#2}}{#3}{#2}#1% }% \def\XINT_flpower_checkB_c #1#2% {% \expandafter\XINT_flpower_checkB_d \expandafter {\the\numexpr \expandafter\xintLength\expandafter {\the\numexpr #1*20/\xint_c_iii }+#1+#2+\xint_c_i }% }% \def\XINT_flpower_checkB_d #1#2#3#4% {% \expandafter \XINT_flpower_a \romannumeral0\XINTinfloat [#1]{#4}{#1}{#2}#3% }% \def\XINT_flpower_a #1% {% \xint_UDzerominusfork #1-\XINT_flpow_zero 0#1{\XINT_flpower_b 1}% 0-{\XINT_flpower_b 0#1}% \krof }% \def\XINT_flpower_b #1#2[#3]#4#5% {% \XINT_flpower_loopI {#5}{#2[#3]}{\romannumeral0\XINTinfloatmul [#4]}% {#1*\xintiiOdd {#5}}% }% \def\XINT_flpower_loopI #1% {% \if1\XINT_isOne {#1}\XINT_flpower_ItoIII\fi \if1\xintiiOdd{#1}% \expandafter\expandafter\expandafter\XINT_flpower_loopI_odd \else \expandafter\expandafter\expandafter\XINT_flpower_loopI_even \fi \expandafter {\romannumeral0\xinthalf{#1}}% }% \def\XINT_flpower_ItoIII\fi #1\fi\expandafter #2#3#4#5% {% \fi\expandafter\XINT_flpow_III \the\numexpr #5\relax #3% }% \def\XINT_flpower_loopI_even #1#2#3% {% \expandafter\XINT_flpower_toI\expandafter {#3{#2}{#2}}{#1}{#3}% }% \def\XINT_flpower_loopI_odd #1#2#3% {% \expandafter\XINT_flpower_toII\expandafter {#3{#2}{#2}}{#1}{#3}{#2}% }% \def\XINT_flpower_toI #1#2{\XINT_flpower_loopI {#2}{#1}}% \def\XINT_flpower_toII #1#2{\XINT_flpower_loopII {#2}{#1}}% \def\XINT_flpower_loopII #1% {% \if1\XINT_isOne {#1}\XINT_flpower_IItoIII\fi \if1\xintiiOdd{#1}% \expandafter\expandafter\expandafter\XINT_flpower_loopII_odd \else \expandafter\expandafter\expandafter\XINT_flpower_loopII_even \fi \expandafter {\romannumeral0\xinthalf{#1}}% }% \def\XINT_flpower_loopII_even #1#2#3% {% \expandafter\XINT_flpower_toII\expandafter {#3{#2}{#2}}{#1}{#3}% }% \def\XINT_flpower_loopII_odd #1#2#3#4% {% \expandafter\XINT_flpower_loopII_odda\expandafter {#3{#2}{#4}}{#2}{#3}{#1}% }% \def\XINT_flpower_loopII_odda #1#2#3#4% {% \expandafter\XINT_flpower_toII\expandafter {#3{#2}{#2}}{#4}{#3}{#1}% }% \def\XINT_flpower_IItoIII\fi #1\fi\expandafter #2#3#4#5#6% {% \fi\expandafter\XINT_flpow_III\the\numexpr #6\expandafter\relax #4{#3}{#5}% }% \def\xintFloatSqrt {\romannumeral0\xintfloatsqrt }% \def\xintfloatsqrt #1{\XINT_flsqrt_chkopt \xintfloat #1\xint_relax }% \def\XINTinFloatSqrt {\romannumeral0\XINTinfloatsqrt }% \def\XINTinfloatsqrt #1{\XINT_flsqrt_chkopt \XINTinfloat #1\xint_relax }% \def\XINT_flsqrt_chkopt #1#2% {% \ifx [#2\expandafter\XINT_flsqrt_opt \else\expandafter\XINT_flsqrt_noopt \fi #1#2% }% \def\XINT_flsqrt_noopt #1#2\xint_relax {% #1[\XINTdigits]{\XINT_FL_sqrt \XINTdigits {#2}}% }% \def\XINT_flsqrt_opt #1[\xint_relax #2]#3% {% #1[#2]{\XINT_FL_sqrt {#2}{#3}}% }% \def\XINT_FL_sqrt #1% {% \ifnum\numexpr #1<\xint_c_xviii \xint_afterfi {\XINT_FL_sqrt_a\xint_c_xviii}% \else \xint_afterfi {\XINT_FL_sqrt_a {#1+\xint_c_i}}% \fi }% \def\XINT_FL_sqrt_a #1#2% {% \expandafter\XINT_FL_sqrt_checkifzeroorneg \romannumeral0\XINTinfloat [#1]{#2}% }% \def\XINT_FL_sqrt_checkifzeroorneg #1% {% \xint_UDzerominusfork #1-\XINT_FL_sqrt_iszero 0#1\XINT_FL_sqrt_isneg 0-{\XINT_FL_sqrt_b #1}% \krof }% \def\XINT_FL_sqrt_iszero #1[#2]{0[0]}% \def\XINT_FL_sqrt_isneg #1[#2]{\xintError:RootOfNegative 0[0]}% \def\XINT_FL_sqrt_b #1[#2]% {% \ifodd #2 \xint_afterfi{\XINT_FL_sqrt_c 01}% \else \xint_afterfi{\XINT_FL_sqrt_c {}0}% \fi {#1}{#2}% }% \def\XINT_FL_sqrt_c #1#2#3#4% {% \expandafter\XINT_flsqrt\expandafter {\the\numexpr #4-#2}{#3#1}% }% \def\XINT_flsqrt #1#2% {% \expandafter\XINT_sqrt_a \expandafter{\romannumeral0\xintlength {#2}}\XINT_flsqrt_big_d {#2}{#1}% }% \def\XINT_flsqrt_big_d #1#2% {% \ifodd #2 \expandafter\expandafter\expandafter\XINT_flsqrt_big_eB \else \expandafter\expandafter\expandafter\XINT_flsqrt_big_eA \fi \expandafter {\the\numexpr (#2-\xint_c_i)/\xint_c_ii }{#1}% }% \def\XINT_flsqrt_big_eA #1#2#3% {% \XINT_flsqrt_big_eA_a #3\Z {#2}{#1}{#3}% }% \def\XINT_flsqrt_big_eA_a #1#2#3#4#5#6#7#8#9\Z {% \XINT_flsqrt_big_eA_b {#1#2#3#4#5#6#7#8}% }% \def\XINT_flsqrt_big_eA_b #1#2% {% \expandafter\XINT_flsqrt_big_f \romannumeral0\XINT_flsqrt_small_e {#2001}{#1}% }% \def\XINT_flsqrt_big_eB #1#2#3% {% \XINT_flsqrt_big_eB_a #3\Z {#2}{#1}{#3}% }% \def\XINT_flsqrt_big_eB_a #1#2#3#4#5#6#7#8#9% {% \XINT_flsqrt_big_eB_b {#1#2#3#4#5#6#7#8#9}% }% \def\XINT_flsqrt_big_eB_b #1#2\Z #3% {% \expandafter\XINT_flsqrt_big_f \romannumeral0\XINT_flsqrt_small_e {#30001}{#1}% }% \def\XINT_flsqrt_small_e #1#2% {% \expandafter\XINT_flsqrt_small_f\expandafter {\the\numexpr #1*#1-#2-\xint_c_i}{#1}% }% \def\XINT_flsqrt_small_f #1#2% {% \expandafter\XINT_flsqrt_small_g\expandafter {\the\numexpr (#1+#2)/(2*#2)-\xint_c_i }{#1}{#2}% }% \def\XINT_flsqrt_small_g #1% {% \ifnum #1>\xint_c_ \expandafter\XINT_flsqrt_small_h \else \expandafter\XINT_flsqrt_small_end \fi {#1}% }% \def\XINT_flsqrt_small_h #1#2#3% {% \expandafter\XINT_flsqrt_small_f\expandafter {\the\numexpr #2-\xint_c_ii*#1*#3+#1*#1\expandafter}\expandafter {\the\numexpr #3-#1}% }% \def\XINT_flsqrt_small_end #1#2#3% {% \expandafter\space\expandafter {\the\numexpr \xint_c_i+#3*\xint_c_x^iv- (#2*\xint_c_x^iv+#3)/(\xint_c_ii*#3)}% }% \def\XINT_flsqrt_big_f #1% {% \expandafter\XINT_flsqrt_big_fa\expandafter {\romannumeral0\xintiisqr {#1}}{#1}% }% \def\XINT_flsqrt_big_fa #1#2#3#4% {% \expandafter\XINT_flsqrt_big_fb\expandafter {\romannumeral0\XINT_dsx_addzerosnofuss {\numexpr #3-\xint_c_viii\relax}{#2}}% {\romannumeral0\xintiisub {\XINT_dsx_addzerosnofuss {\numexpr \xint_c_ii*(#3-\xint_c_viii)\relax}{#1}}{#4}}% {#3}% }% \def\XINT_flsqrt_big_fb #1#2% {% \expandafter\XINT_flsqrt_big_g\expandafter {#2}{#1}% }% \def\XINT_flsqrt_big_g #1#2% {% \expandafter\XINT_flsqrt_big_j \romannumeral0\xintiidivision {#1}{\romannumeral0\XINT_dbl_pos #2\R\R\R\R\R\R\R\Z \W\W\W\W\W\W\W }{#2}% }% \def\XINT_flsqrt_big_j #1% {% \if0\XINT_Sgn #1\Z \expandafter \XINT_flsqrt_big_end_a \else \expandafter \XINT_flsqrt_big_k \fi {#1}% }% \def\XINT_flsqrt_big_k #1#2#3% {% \expandafter\XINT_flsqrt_big_l\expandafter {\romannumeral0\XINT_sub_pre {#3}{#1}}% {\romannumeral0\xintiiadd {#2}{\romannumeral0\XINT_sqr {#1}}}% }% \def\XINT_flsqrt_big_l #1#2% {% \expandafter\XINT_flsqrt_big_g\expandafter {#2}{#1}% }% \def\XINT_flsqrt_big_end_a #1#2#3#4#5% {% \expandafter\XINT_flsqrt_big_end_b\expandafter {\the\numexpr -#4+#5/\xint_c_ii\expandafter}\expandafter {\romannumeral0\xintiisub {\XINT_dsx_addzerosnofuss {#4}{#3}}% {\xintHalf{\xintiiQuo{\XINT_dsx_addzerosnofuss {#4}{#2}}{#3}}}}% }% \def\XINT_flsqrt_big_end_b #1#2{#2[#1]}% \def\XINTinFloatMaxof {\romannumeral0\XINTinfloatmaxof }% \def\XINTinfloatmaxof #1{\expandafter\XINT_flmaxof_a\romannumeral-`0#1\relax }% \def\XINT_flmaxof_a #1{\expandafter\XINT_flmaxof_b \romannumeral0\XINTinfloat [\XINTdigits]{#1}\Z }% \def\XINT_flmaxof_b #1\Z #2% {\expandafter\XINT_flmaxof_c\romannumeral-`0#2\Z {#1}\Z}% \def\XINT_flmaxof_c #1% {\xint_gob_til_relax #1\XINT_flmaxof_e\relax\XINT_flmaxof_d #1}% \def\XINT_flmaxof_d #1\Z {\expandafter\XINT_flmaxof_b\romannumeral0\xintmax {\XINTinFloat [\XINTdigits]{#1}}}% \def\XINT_flmaxof_e #1\Z #2\Z { #2}% \def\XINTinFloatMinof {\romannumeral0\XINTinfloatminof }% \def\XINTinfloatminof #1{\expandafter\XINT_flminof_a\romannumeral-`0#1\relax }% \def\XINT_flminof_a #1{\expandafter\XINT_flminof_b \romannumeral0\XINTinfloat [\XINTdigits]{#1}\Z }% \def\XINT_flminof_b #1\Z #2% {\expandafter\XINT_flminof_c\romannumeral-`0#2\Z {#1}\Z}% \def\XINT_flminof_c #1% {\xint_gob_til_relax #1\XINT_flminof_e\relax\XINT_flminof_d #1}% \def\XINT_flminof_d #1\Z {\expandafter\XINT_flminof_b\romannumeral0\xintmin {\XINTinFloat [\XINTdigits]{#1}}}% \def\XINT_flminof_e #1\Z #2\Z { #2}% \def\xintRound:csv #1{\expandafter\XINT_round:_a\romannumeral-`0#1,,^}% \def\XINT_round:_a {\XINT_round:_b {}}% \def\XINT_round:_b #1#2,% {\expandafter\XINT_round:_c\romannumeral-`0#2,{#1}}% \def\XINT_round:_c #1{\if #1,\expandafter\XINT_:_f \else\expandafter\XINT_round:_d\fi #1}% \def\XINT_round:_d #1,% {\expandafter\XINT_round:_e\romannumeral0\xintiround 0{#1},}% \def\XINT_round:_e #1,#2{\XINT_round:_b {#2,#1}}% \def\xintFloat:csv #1{\expandafter\XINT_float:_a\romannumeral-`0#1,,^}% \def\XINT_float:_a {\XINT_float:_b {}}% \def\XINT_float:_b #1#2,% {\expandafter\XINT_float:_c\romannumeral-`0#2,{#1}}% \def\XINT_float:_c #1{\if #1,\expandafter\XINT_:_f \else\expandafter\XINT_float:_d\fi #1}% \def\XINT_float:_d #1,% {\expandafter\XINT_float:_e\romannumeral0\xintfloat {#1},}% \def\XINT_float:_e #1,#2{\XINT_float:_b {#2,#1}}% \def\xintSum:csv #1{\expandafter\XINT_sum:_a\romannumeral-`0#1,,^}% \def\XINT_sum:_a {\XINT_sum:_b {0/1[0]}}% \def\XINT_sum:_b #1#2,{\expandafter\XINT_sum:_c\romannumeral-`0#2,{#1}}% \def\XINT_sum:_c #1{\if #1,\expandafter\XINT_:_e \else\expandafter\XINT_sum:_d\fi #1}% \def\XINT_sum:_d #1,#2{\expandafter\XINT_sum:_b\expandafter {\romannumeral0\xintadd {#2}{#1}}}% \def\xintPrd:csv #1{\expandafter\XINT_prd:_a\romannumeral-`0#1,,^}% \def\XINT_prd:_a {\XINT_prd:_b {1/1[0]}}% \def\XINT_prd:_b #1#2,{\expandafter\XINT_prd:_c\romannumeral-`0#2,{#1}}% \def\XINT_prd:_c #1{\if #1,\expandafter\XINT_:_e \else\expandafter\XINT_prd:_d\fi #1}% \def\XINT_prd:_d #1,#2{\expandafter\XINT_prd:_b\expandafter {\romannumeral0\xintmul {#2}{#1}}}% \def\xintMaxof:csv #1{\expandafter\XINT_maxof:_b\romannumeral-`0#1,,}% \def\XINT_maxof:_b #1,#2,{\expandafter\XINT_maxof:_c\romannumeral-`0#2,{#1},}% \def\XINT_maxof:_c #1{\if #1,\expandafter\XINT_of:_e \else\expandafter\XINT_maxof:_d\fi #1}% \def\XINT_maxof:_d #1,{\expandafter\XINT_maxof:_b\romannumeral0\xintmax {#1}}% \def\xintMinof:csv #1{\expandafter\XINT_minof:_b\romannumeral-`0#1,,}% \def\XINT_minof:_b #1,#2,{\expandafter\XINT_minof:_c\romannumeral-`0#2,{#1},}% \def\XINT_minof:_c #1{\if #1,\expandafter\XINT_of:_e \else\expandafter\XINT_minof:_d\fi #1}% \def\XINT_minof:_d #1,{\expandafter\XINT_minof:_b\romannumeral0\xintmin {#1}}% \def\XINTinFloatMinof:csv #1{\expandafter\XINT_flminof:_a\romannumeral-`0#1,,}% \def\XINT_flminof:_a #1,{\expandafter\XINT_flminof:_b \romannumeral0\XINTinfloat [\XINTdigits]{#1},}% \def\XINT_flminof:_b #1,#2,% {\expandafter\XINT_flminof:_c\romannumeral-`0#2,{#1},}% \def\XINT_flminof:_c #1{\if #1,\expandafter\XINT_of:_e \else\expandafter\XINT_flminof:_d\fi #1}% \def\XINT_flminof:_d #1,% {\expandafter\XINT_flminof:_b\romannumeral0\xintmin {\XINTinFloat [\XINTdigits]{#1}}}% \def\XINTinFloatMaxof:csv #1{\expandafter\XINT_flmaxof:_a\romannumeral-`0#1,,}% \def\XINT_flmaxof:_a #1,{\expandafter\XINT_flmaxof:_b \romannumeral0\XINTinfloat [\XINTdigits]{#1},}% \def\XINT_flmaxof:_b #1,#2,% {\expandafter\XINT_flmaxof:_c\romannumeral-`0#2,{#1},}% \def\XINT_flmaxof:_c #1{\if #1,\expandafter\XINT_of:_e \else\expandafter\XINT_flmaxof:_d\fi #1}% \def\XINT_flmaxof:_d #1,% {\expandafter\XINT_flmaxof:_b\romannumeral0\xintmax {\XINTinFloat [\XINTdigits]{#1}}}% \def\XINTinFloatSum:csv #1{\expandafter\XINT_floatsum:_a\romannumeral-`0#1,,^}% \def\XINT_floatsum:_a {\XINT_floatsum:_b {0[0]}}% \def\XINT_floatsum:_b #1#2,% {\expandafter\XINT_floatsum:_c\romannumeral-`0#2,{#1}}% \def\XINT_floatsum:_c #1{\if #1,\expandafter\XINT_:_e \else\expandafter\XINT_floatsum:_d\fi #1}% \def\XINT_floatsum:_d #1,#2{\expandafter\XINT_floatsum:_b\expandafter {\romannumeral0\XINTinfloatadd {#2}{#1}}}% \def\XINTinFloatPred:csv #1{\expandafter\XINT_floatprd:_a\romannumeral-`0#1,,^}% \def\XINT_floatprd:_a {\XINT_floatprd:_b {1[0]}}% \def\XINT_floatprd:_b #1#2,% {\expandafter\XINT_floatprd:_c\romannumeral-`0#2,{#1}}% \def\XINT_floatprd:_c #1{\if #1,\expandafter\XINT_:_e \else\expandafter\XINT_floatprd:_d\fi #1}% \def\XINT_floatprd:_d #1,#2{\expandafter\XINT_floatprd:_b\expandafter {\romannumeral0\XINTinfloatmul {#2}{#1}}}% \XINT_restorecatcodes_endinput% \endinput %% %% End of file `xintfrac.sty'.