diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/xint/xintlog.sty')
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintlog.sty | 1717 |
1 files changed, 1614 insertions, 103 deletions
diff --git a/Master/texmf-dist/tex/generic/xint/xintlog.sty b/Master/texmf-dist/tex/generic/xint/xintlog.sty index 5b4877cd764..e20e40bebcc 100644 --- a/Master/texmf-dist/tex/generic/xint/xintlog.sty +++ b/Master/texmf-dist/tex/generic/xint/xintlog.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4d 2021/03/29 +%% The xint bundle 1.4e 2021/05/05 %% Copyright (C) 2013-2021 by Jean-Francois Burnol %% xintlog: Logarithms and exponentials for xintexpr %% --------------------------------------------------------------- @@ -40,7 +40,6 @@ \def\z{\endgroup}% \def\empty{}\def\space{ }\newlinechar10 \expandafter\let\expandafter\w\csname ver@xintexpr.sty\endcsname - \expandafter\let\expandafter\x\csname ver@xintlog.sty\endcsname \expandafter \ifx\csname PackageInfo\endcsname\relax \def\y#1#2{\immediate\write-1{Package #1 Info:^^J% @@ -59,169 +58,1681 @@ \else\string\input\space xintexpr.sty \fi rather, aborting}% \aftergroup\endinput - \else - \ifx\x\relax % first loading (initiated from xintexpr.sty) - \else - \ifx\x\empty % LaTeX first loading, \ProvidesPackage not yet seen - \else - \y{xintlog}{Already loaded, aborting}% - \aftergroup\endinput - \fi - \fi \fi \fi \z% -\xintexprSafeCatcodes\catcode`_ 11 +\edef\XINTendxintloginput{\XINTrestorecatcodes\noexpand\endinput}\XINTsetcatcodes% +\ifcsname xintlibver@log\endcsname + \expandafter\xint_firstoftwo +\else + \expandafter\xint_secondoftwo +\fi +{\immediate\write-1{Reloading xintlog library using Digits=\xinttheDigits.}}% +{\expandafter\gdef\csname xintlibver@log\endcsname{2021/05/05 v1.4e}% \XINT_providespackage \ProvidesPackage{xintlog}% -[2021/03/29 v1.4d Logarithms and exponentials for xintexpr (JFB)]% +[2021/05/05 v1.4e Logarithms and exponentials for xintexpr (JFB)]% +}% +\def\xintreloadxintlog{\input xintlog.sty }% +\xintexprSafeCatcodes\catcode`_ 11 +\unless\ifdefined\XINTinFloatPowTen \ifdefined\RequirePackage \RequirePackage{poormanlog}% \else \input poormanlog.tex +\fi\fi +\xintexprRestoreCatcodes\XINTsetcatcodes +\def\PoorManLogBaseTen{\romannumeral0\poormanlogbaseten}% +\def\poormanlogbaseten #1% +{% + \XINTinfloat[\XINTdigits]% + {\romannumeral0\expandafter\PML@logbaseten\romannumeral0\XINTinfloat[9]{#1}}% +}% +\def\PoorManLogBaseTen_raw%#1 +{% + \romannumeral0\expandafter\PML@logbaseten\romannumeral0\XINTinfloat[9]%{#1}% +}% +\def\PML@logbaseten#1[#2]% +{% + \xintiiadd{\xintDSx{-9}{\the\numexpr#2+8\relax}}{\the\numexpr\PML@#1.}[-9]% +}% +\def\PoorManLog#1% +{% + \XINTinFloat[\XINTdigits]{\xintMul{\PoorManLogBaseTen_raw{#1}}{23025850923[-10]}}% +}% +\def\PoorManPowerOfTen{\romannumeral0\poormanpoweroften}% +\def\poormanpoweroften #1% +{% + \expandafter\PML@powoften@out + \the\numexpr\expandafter\PML@powoften\romannumeral0\xintraw{#1}% +}% +\def\PML@powoften@out#1[#2]{\XINTinfloat[\XINTdigits]{#1[#2]}}% +\def\PML@powoften#1% +{% + \xint_UDzerominusfork + #1-\PML@powoften@zero + 0#1\PML@powoften@neg + 0-\PML@powoften@pos + \krof #1% +}% +\def\PML@powoften@zero 0/1[0]{1\relax/1[0]}% +\def\PML@powoften@pos#1[#2]% +{% + \expandafter\PML@powoften@pos@a\romannumeral0\xintround{9}{#1[#2]}.% +}% +\def\PML@powoften@pos@a#1.#2.{\PML@Pa#2.\expandafter[\the\numexpr-8+#1]}% +\def\PML@powoften@neg#1[#2]% +{% + \expandafter\PML@powoften@neg@a\romannumeral0\xintround{9}{#1[#2]}.% +}% +\def\PML@powoften@neg@a#1.#2.% +{% + \ifnum#2=\xint_c_ \xint_afterfi{1\relax/1[#1]}\else + \expandafter\expandafter\expandafter + \PML@Pa\expandafter\xint_gobble_i\the\numexpr2000000000-#2.% + \expandafter[\the\numexpr-9+#1\expandafter]\fi +}% +\def\PoorManExp#1{\PoorManPowerOfTen{\xintMul{#1}{43429448190325182765[-20]}}}% +\def\poormanloghack#1% +{% + \xintMessage{xintexpr}{Warning}% + {\string\poormanloghack\space is a no-op since 1.4e and will be removed at next major release}% +}% +\def\XINTinFloatSciPow{\romannumeral0\XINTinfloatscipow}% +\def\XINTinfloatscipow#1#2% +{% + \expandafter\XINT_scipow_a\romannumeral0\xintrez{#2}\XINT_scipow_int{#1}% +}% +\def\XINT_scipow_a #1% +{% + \xint_gob_til_zero#1\XINT_scipow_Biszero0\XINT_scipow_b#1% +}% +\def\XINT_scipow_Biszero#1]#2#3{ 1[0]}% +\def\XINT_scipow_b #1#2/#3[#4]#5% +{% + \unless\if1\XINT_is_One#3XY\xint_dothis\XINT_scipow_c\fi + \ifnum#4<\xint_c_mone\xint_dothis\XINT_scipow_c\fi + \ifnum#4=\xint_c_mone + \if5\xintLDg{#1#2} % + \xint_afterfi{\xint_dothis\XINT_scipow_halfint}\else + \xint_afterfi{\xint_dothis\XINT_scipow_c}% + \fi + \fi + \xint_orthat#5#1#2/#3[#4]% +}% +\def\XINT_scipow_int #1/1[#2]#3% +{% + \expandafter\XINT_flpower_checkB_a + \romannumeral0\XINT_dsx_addzeros{#2}#1;.\XINTdigits.{#3}{\XINTinfloatS[\XINTdigits]}% +}% +\def\XINT_scipow_halfint#1/1[#2]#3% +{% + \expandafter\XINT_flpower_checkB_a + \romannumeral0\xintdsr{\xintDouble{#1}}.\XINTdigits.{#3}\XINT_flpowerh_finish +}% +\def\XINT_flpowerh_finish #1% + {\XINTinfloatS[\XINTdigits]{\XINTinFloatSqrt[\XINTdigits+\xint_c_iii]{#1}}}% +\def\XINT_tmpa#1.{% +\def\XINT_scipow_c ##1[##2]##3% +{% + \expandafter\XINT_scipow_d\romannumeral0\XINTinfloatS[#1]{##3}\xint:##1[##2]\xint: +}% +}\expandafter\XINT_tmpa\the\numexpr\XINTdigits.% +\def\XINT_scipow_d #1% +{% + \xint_UDzerominusfork + #1-\XINT_scipow_Aiszero + 0#1\XINT_scipow_Aisneg + 0-\XINT_scipow_Aispos + \krof #1% +}% +\def\XINT_scipow_Aiszero #1\xint:#2#3\xint: +{% + \if-#2\xint_dothis + {\XINT_signalcondition{InvalidOperation}{Zero to negative power #2#3}{}{1["7FFF8000]}}\fi + \xint_orthat{ 0[0]}% +}% +\def\XINT_scipow_Aispos #1\xint:#2\xint: +{% + \XINTinfloatpowten{\xintMul{#2}{\XINTinFloatLogTen_xdgout#1}}% +}% +\def\XINT_scipow_Aisneg #1#2\xint:#3\xint: +{% + \XINT_signalcondition{InvalidOperation}{Fractional power of negative argument}{}{0[0]} +}% +\ifnum\XINTdigits<9 + \def\XINTinfloatscipow#1#2% + {% + \expandafter\XINT_scipow_a\romannumeral0\xintraw{#2}\relax{#1}% + }% + \def\XINT_scipow_b #1[#2]#3#4% + {% + \expandafter\XINT_scipow_d\romannumeral0\XINTinfloat[9]{#4}\xint:#1[#2]\xint: + }% + \def\XINT_scipow_Aispos #1\xint:#2\xint: + {% + \poormanpoweroften{\xintMul{#2}{\romannumeral0\expandafter\PML@logbaseten#1}}% + }% + \def\XINT_scipow_Aisneg #1#2\xint:#3\xint: + {% + \ifcase\xintFloatIntType{#3}% + \or\expandafter-\romannumeral0% + \else + \expandafter\XINT_scipow_AnegBfrac + \fi + \poormanpoweroften{\xintMul{#3}{\romannumeral0\expandafter\PML@logbaseten#2}}% + }% +\fi +\def\xintPow{\romannumeral0\xintpow}% +\def\xintpow#1#2% +{% + \expandafter\XINT_scipow_a\romannumeral0\xintrez{#2}\XINT_pow_int{#1}% +}% +\def\XINT_pow_int #1/1[#2]%#3 +{% + \expandafter\XINT_pow_int_a\romannumeral0\XINT_dsx_addzeros{#2}#1;.% +}% +\def\XINT_pow_int_a #1#2.#3% +{% + \ifnum\if-#1\xintLength{#2}\else\xintLength{#1#2}\fi>\xint_c_iv + \expandafter\XINT_pow_tosci + \fi + \expandafter\XINT_pow_int_b\romannumeral0\xintraw{#3}\xint:#1#2\xint: +}% +\def\XINT_pow_int_b#1#2/#3[#4]\xint:#5\xint: +{% + \if0\ifnum\numexpr\xint_c_x^iv/% + (\xintLength{#1#2}\if-#1-\xint_c_i\fi)<\XINT_Abs#5 % + 1\else + \ifnum\numexpr\xint_c_x^iv/\xintLength{#3}<\XINT_Abs#5 % + 1\else + 0\fi\fi + \expandafter\XINT_fpow_fork\else\expandafter\XINT_pow_tosci_i + \fi + #5\Z{#4}{#1#2}{#3}% +}% +\def\XINT_tmpa#1.{% +\def\XINT_pow_tosci##1\xintraw%##2%\xint:##3\xint: +{% + \expandafter\XINT_scipow_d\romannumeral0\XINTinfloatS[#1]% +}% +\def\XINT_pow_tosci_i##1\Z##2##3##4% +{% + \expandafter\XINT_scipow_d\romannumeral0\expandafter\XINT_infloatS_clean + \romannumeral0\XINT_infloat_a#1.{##2}{##3}{##4}\xint:##1\xint: +}% +}\expandafter\XINT_tmpa\the\numexpr\XINTdigits.% +\ifnum\XINTdigits<9 + \def\xintpow#1#2% + {% + \expandafter\XINT_poorpow_a\romannumeral0\xintrez{#2}\relax{#1}% + }% + \def\XINT_poorpow_a #1% + {% + \xint_gob_til_zero#1\XINT_scipow_Biszero0\XINT_poorpow_b#1% + }% + \def\XINT_poorpow_b #1#2/#3[#4]#5% + {% + \unless\if1\XINT_is_One#3XY\xint_dothis\XINT_poorpow_c\fi + \ifnum#4<\xint_c_\xint_dothis\XINT_poorpow_c\fi + \xint_orthat\XINT_pow_int#1#2/#3[#4]% + }% + \def\XINT_poorpow_c #1[#2]#3% + {% + \expandafter\XINT_scipow_d\romannumeral0\XINTinfloat[9]{#3}\xint:#1[#2]\xint: + }% + \def\XINT_pow_tosci#1\xintraw%#2%\xint:#3\xint: + {% + \expandafter\XINT_scipow_d\romannumeral0\XINTinfloat[9]% + }% + \def\XINT_pow_tosci_i#1\Z#2#3#4% + {% + \expandafter\XINT_scipow_d\romannumeral0\expandafter\XINT_infloat_clean + \romannumeral0\XINT_infloat_a9.{#2}{#3}{#4}\xint:#1\xint: + }% \fi -\xintexprRestoreCatcodes\csname XINT_setcatcodes\endcsname +\ifnum\XINTdigits<9 \expandafter\def\csname XINT_expr_func_log10\endcsname#1#2#3% {% \expandafter #1\expandafter #2\expandafter{% \romannumeral`&&@\XINT:NEhook:f:one:from:one {\romannumeral`&&@\PoorManLogBaseTen#3}}% }% -\expandafter\let\csname XINT_flexpr_func_log10\expandafter\endcsname - \csname XINT_expr_func_log10\endcsname \expandafter\def\csname XINT_expr_func_pow10\endcsname#1#2#3% {% \expandafter #1\expandafter #2\expandafter{% \romannumeral`&&@\XINT:NEhook:f:one:from:one {\romannumeral`&&@\PoorManPowerOfTen#3}}% }% +\else +\expandafter\def\csname XINT_expr_func_log10\endcsname#1#2#3% +{% + \expandafter #1\expandafter #2\expandafter{% + \romannumeral`&&@\XINT:NEhook:f:one:from:one + {\romannumeral`&&@\XINTinFloatLogTen#3}}% +}% +\expandafter\def\csname XINT_expr_func_pow10\endcsname#1#2#3% +{% + \expandafter #1\expandafter #2\expandafter{% + \romannumeral`&&@\XINT:NEhook:f:one:from:one + {\romannumeral`&&@\XINTinFloatPowTen#3}}% +}% +\fi +\expandafter\let\csname XINT_flexpr_func_log10\expandafter\endcsname + \csname XINT_expr_func_log10\endcsname \expandafter\let\csname XINT_flexpr_func_pow10\expandafter\endcsname \csname XINT_expr_func_pow10\endcsname +\ifnum\XINTdigits<9 \def\XINT_expr_func_log #1#2#3% {% \expandafter #1\expandafter #2\expandafter{% \romannumeral`&&@\XINT:NEhook:f:one:from:one - {\romannumeral`&&@\xintLog#3}}% + {\romannumeral`&&@\PoorManLog#3}}% }% -\def\XINT_flexpr_func_log #1#2#3% +\def\XINT_expr_func_exp #1#2#3% {% \expandafter #1\expandafter #2\expandafter{% \romannumeral`&&@\XINT:NEhook:f:one:from:one - {\romannumeral`&&@\XINTinFloatLog#3}}% + {\romannumeral`&&@\PoorManExp#3}}% }% -\def\XINT_expr_func_exp #1#2#3% +\let\XINT_flexpr_func_log\XINT_expr_func_log +\let\XINT_flexpr_func_exp\XINT_expr_func_exp +\else +\def\XINT_expr_func_log #1#2#3% {% \expandafter #1\expandafter #2\expandafter{% \romannumeral`&&@\XINT:NEhook:f:one:from:one - {\romannumeral`&&@\xintExp#3}}% + {\romannumeral`&&@\XINTinFloatLog#3}}% }% -\def\XINT_flexpr_func_exp #1#2#3% +\def\XINT_expr_func_exp #1#2#3% {% \expandafter #1\expandafter #2\expandafter{% \romannumeral`&&@\XINT:NEhook:f:one:from:one {\romannumeral`&&@\XINTinFloatExp#3}}% }% +\let\XINT_flexpr_func_log\XINT_expr_func_log +\let\XINT_flexpr_func_exp\XINT_expr_func_exp +\fi \def\XINT_expr_func_pow #1#2#3% {% \expandafter #1\expandafter #2\expandafter{% \romannumeral`&&@\XINT:NEhook:f:one:from:two - {\romannumeral`&&@\PoorManPower#3}}% + {\romannumeral`&&@\xintPow#3}}% +}% +\def\XINT_flexpr_func_pow #1#2#3% +{% + \expandafter #1\expandafter #2\expandafter{% + \romannumeral`&&@\XINT:NEhook:f:one:from:two + {\romannumeral`&&@\XINTinFloatSciPow#3}}% +}% +\ifnum\XINTdigits<9 \expandafter\XINTendxintloginput\fi% +\def\XINT_tmpa{1[0]}% +\expandafter\let\csname XINT_c_1_0\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_2_0\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_3_0\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_4_0\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_5_0\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_6_0\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_1_0_x\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_2_0_x\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_3_0_x\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_4_0_x\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_5_0_x\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_6_0_x\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_1_0_inv\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_2_0_inv\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_3_0_inv\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_4_0_inv\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_5_0_inv\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_6_0_inv\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_1_0_inv_x\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_2_0_inv_x\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_3_0_inv_x\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_4_0_inv_x\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_5_0_inv_x\endcsname\XINT_tmpa +\expandafter\let\csname XINT_c_6_0_inv_x\endcsname\XINT_tmpa +\def\XINT_tmpa#1#2#3#4;% + {\expandafter\edef\csname XINT_c_#1_#2\endcsname{\XINTinFloat[\XINTdigits+5]{#3#4[-79]}}% + \expandafter\edef\csname XINT_c_#1_#2_x\endcsname{\XINTinFloat[\XINTdigits+10]{#3#4[-79]}}% + }% +\XINT_tmpa 1 1 12589254117941672104239541063958006060936174094669310691079230195266476157825020;% +\XINT_tmpa 1 2 15848931924611134852021013733915070132694421338250390683162968123166568636684540;% +\XINT_tmpa 1 3 19952623149688796013524553967395355579862743154053460992299136670049309106980490;% +\XINT_tmpa 1 4 25118864315095801110850320677993273941585181007824754286798884209082432477235613;% +\XINT_tmpa 1 5 31622776601683793319988935444327185337195551393252168268575048527925944386392382;% +\XINT_tmpa 1 6 39810717055349725077025230508775204348767703729738044686528414806022485386945804;% +\XINT_tmpa 1 7 50118723362727228500155418688494576806047198983281926392969745588901125568883069;% +\XINT_tmpa 1 8 63095734448019324943436013662234386467294525718822872452772952883349494329768681;% +\XINT_tmpa 1 9 79432823472428150206591828283638793258896063175548433209232392931695569719148754;% +\XINT_tmpa 2 1 10232929922807541309662751748198778273411640572379813085994255856738296458625172;% +\XINT_tmpa 2 2 10471285480508995334645020315281400790567914715039292120056525299012577641023719;% +\XINT_tmpa 2 3 10715193052376064174083022246945087339158659633422172707894501914136771607653870;% +\XINT_tmpa 2 4 10964781961431850131437136061411270464271158762483023169080841607885740984711300;% +\XINT_tmpa 2 5 11220184543019634355910389464779057367223085073605529624450744481701033026862244;% +\XINT_tmpa 2 6 11481536214968827515462246116628360182562102373996119340874991068894793593040890;% +\XINT_tmpa 2 7 11748975549395295417220677651268442278134317971793124791953875805007912852226246;% +\XINT_tmpa 2 8 12022644346174129058326127151935204486942664354881189151104892745683155052368222;% +\XINT_tmpa 2 9 12302687708123815342415404364750907389955639574572144413097319170011637639124482;% +\XINT_tmpa 3 1 10023052380778996719154048893281105540536684535421606464116348523047431367720401;% +\XINT_tmpa 3 2 10046157902783951424046519858132787392010166060319618489538315083825599423438638;% +\XINT_tmpa 3 3 10069316688518041699296607872661381368099438247964820601930206419324524707606686;% +\XINT_tmpa 3 4 10092528860766844119155277641202580844111492027373621434478800545314309618714957;% +\XINT_tmpa 3 5 10115794542598985244409323144543146957419235215102899054703546688078254946034250;% +\XINT_tmpa 3 6 10139113857366794119988279023017296985954042032867436525450889437280417044987125;% +\XINT_tmpa 3 7 10162486928706956276733661150135543062420167220622552197768982666050994284378619;% +\XINT_tmpa 3 8 10185913880541169240797988673338257820431768224957171297560936579346433061037662;% +\XINT_tmpa 3 9 10209394837076799554149033101487543990018213667630072574873723356334069913329713;% +\XINT_tmpa 4 1 10002302850208247526835942556719413318678216124626534526963475845228205382579041;% +\XINT_tmpa 4 2 10004606230728403216239656646745503559081482371024284871882409614422496765669196;% +\XINT_tmpa 4 3 10006910141682589957025973521996241909035914023642264228577379693841345823180462;% +\XINT_tmpa 4 4 10009214583192958761081718336761022426385537997384755843291864010938378093197023;% +\XINT_tmpa 4 5 10011519555381688769842032367472488618040778885656970999331288116685029387850446;% +\XINT_tmpa 4 6 10013825058370987260768186632475607982636715641432550952229573271596547716373358;% +\XINT_tmpa 4 7 10016131092283089653826887255241073941084503769368844606021481400409002185558343;% +\XINT_tmpa 4 8 10018437657240259517971072914549205297136779497498835020699531587537662833033174;% +\XINT_tmpa 4 9 10020744753364788577622204725249622301332888222801030351604197113557132455165040;% +\XINT_tmpa 5 1 10000230261160268806710649793464495797824846841503180050673957122443571394978721;% +\XINT_tmpa 5 2 10000460527622557806255008596155855743730116854295068547616656160734125748005947;% +\XINT_tmpa 5 3 10000690799386989083565213461287219981856579552059660369243804541364501659468630;% +\XINT_tmpa 5 4 10000921076453684726384543254593368743049141124080210677706489564626675960578367;% +\XINT_tmpa 5 5 10001151358822766825267483384008265483772370538793312970508590203623535763866465;% +\XINT_tmpa 5 6 10001381646494357473579790530833073090516914490540536234536867917078761046656260;% +\XINT_tmpa 5 7 10001611939468578767498557382394677469502542123237272447312733350028467607076918;% +\XINT_tmpa 5 8 10001842237745552806012277366194752842273812293689190856411757410911882303011468;% +\XINT_tmpa 5 9 10002072541325401690920909385549403068574626162727745910217443397959031898734024;% +\XINT_tmpa 6 1 10000023025877439451356029805459000097926504781151663770980171880313737943886754;% +\XINT_tmpa 6 2 10000046051807898005897723104514851394069452605882077809669546315010724085277647;% +\XINT_tmpa 6 3 10000069077791375785706217087438809625967243923218032821061587553353589726808164;% +\XINT_tmpa 6 4 10000092103827872912862930047032391734439796534302560512742030066798473305401477;% +\XINT_tmpa 6 5 10000115129917389509449561379274639104559958866285946533811801963402821672829477;% +\XINT_tmpa 6 6 10000138156059925697548091583969382297005329013199894805417325991907389143667949;% +\XINT_tmpa 6 7 10000161182255481599240782265392507269793911275470978276390154932321984777772469;% +\XINT_tmpa 6 8 10000184208504057336610176132939223090407041937631374389422968832433217547184883;% +\XINT_tmpa 6 9 10000207234805653031739097001771331138303016031686764989867510425362339583809842;% +\def\XINT_tmpa#1#2#3#4;% + {\expandafter\edef\csname XINT_c_#1_#2_inv\endcsname{\XINTinFloat[\XINTdigits+5]{#3#4[-80]}}% + \expandafter\edef\csname XINT_c_#1_#2_inv_x\endcsname{\XINTinFloat[\XINTdigits+10]{#3#4[-80]}}% + }% +\XINT_tmpa 1 1 79432823472428150206591828283638793258896063175548433209232392931695569719148754;% +\XINT_tmpa 1 2 63095734448019324943436013662234386467294525718822872452772952883349494329768681;% +\XINT_tmpa 1 3 50118723362727228500155418688494576806047198983281926392969745588901125568883069;% +\XINT_tmpa 1 4 39810717055349725077025230508775204348767703729738044686528414806022485386945804;% +\XINT_tmpa 1 5 31622776601683793319988935444327185337195551393252168268575048527925944386392382;% +\XINT_tmpa 1 6 25118864315095801110850320677993273941585181007824754286798884209082432477235613;% +\XINT_tmpa 1 7 19952623149688796013524553967395355579862743154053460992299136670049309106980490;% +\XINT_tmpa 1 8 15848931924611134852021013733915070132694421338250390683162968123166568636684540;% +\XINT_tmpa 1 9 12589254117941672104239541063958006060936174094669310691079230195266476157825020;% +\XINT_tmpa 2 1 97723722095581068269707600696156123863427170069897801526639004097175507042084888;% +\XINT_tmpa 2 2 95499258602143594972395937950148401513087269708053320302465127242741421479104601;% +\XINT_tmpa 2 3 93325430079699104353209661168364840720225485199736026149257155811788093771138272;% +\XINT_tmpa 2 4 91201083935590974212095940791872333509323858755696109214760361851771695487999100;% +\XINT_tmpa 2 5 89125093813374552995310868107829696398587478293004836994794349506746891059190135;% +\XINT_tmpa 2 6 87096358995608063751082742520877054774747128501284704090761796673224328569285177;% +\XINT_tmpa 2 7 85113803820237646781712631859248682794521725442067093899553745086385146367436049;% +\XINT_tmpa 2 8 83176377110267100616669140273840405263880767161887438462740286611379995442629360;% +\XINT_tmpa 2 9 81283051616409924654127879773132980187568851100062454636602325121954484722491710;% +\XINT_tmpa 3 1 99770006382255331719442194285376231055211861394573154624878230890945476532432225;% +\XINT_tmpa 3 2 99540541735152696244806147089510943107144177264574823668081299845609359857038344;% +\XINT_tmpa 3 3 99311604842093377157642607688515474663519162181123336122073822476734517364853150;% +\XINT_tmpa 3 4 99083194489276757440828314388392035249938006860819409201135652190410238171119287;% +\XINT_tmpa 3 5 98855309465693884028524792978202683686410726723055209558576898759166522286083202;% +\XINT_tmpa 3 6 98627948563121047157261523093421290951784086730437722805070296627452491731402556;% +\XINT_tmpa 3 7 98401110576113374484101831088824192144756194053451911515003663381199842081528019;% +\XINT_tmpa 3 8 98174794301998439937928161622872240632362817134775142288598128693131032909278350;% +\XINT_tmpa 3 9 97948998540869887269961493687844910565420716785032030061251916654655049965062649;% +\XINT_tmpa 4 1 99976976799815658635141604638981297541396466984477711459083930684685186989697929;% +\XINT_tmpa 4 2 99953958900308784552845777251512089759003230012954649234748668826546533498169555;% +\XINT_tmpa 4 3 99930946300258992168693777702512591351888960684418033717545524043693899420866954;% +\XINT_tmpa 4 4 99907938998446176870082987427724649318531547584410414997787083472394558389284098;% +\XINT_tmpa 4 5 99884936993650514951538205746462968844845952521633937925370747725933629958238429;% +\XINT_tmpa 4 6 99861940284652463550037839584112909891259691850983307437097305856727153967481065;% +\XINT_tmpa 4 7 99838948870232760580354983175435314251655958968480344701699631967048474751069525;% +\XINT_tmpa 4 8 99815962749172424670413384320528274471550942114263604264788586703624513163664479;% +\XINT_tmpa 4 9 99792981920252755096658293766085025870392854106037465990011216356523334125368417;% +\XINT_tmpa 5 1 99997697441416293040019992468837639003787989306240470048763511538639048400765328;% +\XINT_tmpa 5 2 99995394935850346394065999228750187791584034668237852053859761641089829514536011;% +\XINT_tmpa 5 3 99993092483300939297147020491645017932348508508297743745039515152378182676736684;% +\XINT_tmpa 5 4 99990790083766851012380885556584619169980753943113396677545915245611923361705686;% +\XINT_tmpa 5 5 99988487737246860830993605587529673614422529030613405900998412734419982883669223;% +\XINT_tmpa 5 6 99986185443739748072318726405984801565268578044798475766025647187221659622450651;% +\XINT_tmpa 5 7 99983883203244292083796681298546635825139453823571398432959235283529730820181019;% +\XINT_tmpa 5 8 99981581015759272240974143839353881367972777961073357987943600347058023396510672;% +\XINT_tmpa 5 9 99979278881283467947503380727439017235290006415950636109257677645557027950744160;% +\XINT_tmpa 6 1 99999769741755795297487775997495948154386159348543852707438213487494386559762090;% +\XINT_tmpa 6 2 99999539484041779185217876175552674518572114763104546143049036309870762496098218;% +\XINT_tmpa 6 3 99999309226857950442387361668529812394860404492721699528707852590634886516924591;% +\XINT_tmpa 6 4 99999078970204307848196104610199226516866442484686906173860803560254163287393673;% +\XINT_tmpa 6 5 99998848714080850181846788127272455158309917012010320554498356105168896062430977;% +\XINT_tmpa 6 6 99998618458487576222544906332928167145404344730731751204389698696345970645201375;% +\XINT_tmpa 6 7 99998388203424484749498764320339633772810463403640242228131015918494067456365331;% +\XINT_tmpa 6 8 99998157948891574541919478156202215623119146605983303201215215949834619332550929;% +\XINT_tmpa 6 9 99997927694888844379020974874260864289829523807763942234420930258187873904191138;% +\edef\XINT_c_logten + {\XINTinFloat[\XINTdigits+4] + {23025850929940456840179914546843642076011014886287729760333279009675726096773525[-79]}}% +\edef\XINT_c_oneoverlogten + {\XINTinFloat[\XINTdigits+4] + {43429448190325182765112891891660508229439700580366656611445378316586464920887077[-80]}}% +\edef\XINT_c_oneoverlogten_xx + {\XINTinFloat[\XINTdigits+14] + {43429448190325182765112891891660508229439700580366656611445378316586464920887077[-80]}}% +\def\XINTinFloatExp{\romannumeral0\XINTinfloatexp}% +\def\XINT_tmpa#1.{% +\def\XINTinfloatexp##1% +{% + \XINTinfloatpowten + {\xintMul{\XINT_c_oneoverlogten_xx}{\XINTinFloatS[#1]{##1}}}% +}% +}\expandafter\XINT_tmpa\the\numexpr\XINTdigits+14.% +\def\XINTinFloatPowTen{\romannumeral0\XINTinfloatpowten}% +\def\XINT_tmpa#1.{% +\def\XINTinfloatpowten##1% +{% + \expandafter\XINT_powten_fork + \romannumeral0\xintiround{#1}{##1}[-#1]% +}% +}\expandafter\XINT_tmpa\the\numexpr\XINTdigits+4.% +\def\XINT_powten_fork#1% +{% + \xint_UDzerominusfork + #1-\XINT_powten_zero + 0#1\XINT_powten_neg + 0-\XINT_powten_pos + \krof #1% +}% +\def\XINT_powten_zero #1[#2]{ 1[0]}% +\def\XINT_powten_pos#1[#2]% +{% + \expandafter\XINT_powten_pos_a\romannumeral0\xintround{6}{#1[#2]}#1[#2]% +}% +\def\XINT_tmpa #1.#2.{% +\def\XINT_powten_pos_a ##1.##2##3##4##5##6##7##8[##9]% +{% + \expandafter\XINT_infloate + \romannumeral0\XINTinfloat[\XINTdigits]{% + \xintMul{\csname XINT_c_1_##2\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_2_##3\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_3_##4\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_4_##5\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_5_##6\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_6_##7\endcsname}{% + \xintAdd{1[0]}{% + \expandafter\XINT_Exp_series_a_ii + \romannumeral0\XINTinfloat[#2]{% + \xintMul{\XINT_c_logten}% + {\xintAdd{-##1.##2##3##4##5##6##7}{##8[##9]}}% + }% + \xint: + }% + }}}}}}}}}}}}{##1}% +}}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits+5\expandafter.% + \the\numexpr\XINTdigits-1.% +\def\XINT_powten_neg#1[#2]% +{% + \expandafter\XINT_powten_neg_a\romannumeral0\xintround{6}{#1[#2]}#1[#2]% +}% +\def\XINT_tmpa #1.#2.{% +\def\XINT_powten_neg_a -##1.##2##3##4##5##6##7##8[##9]% +{% + \expandafter\XINT_infloate + \romannumeral0\XINTinfloat[\XINTdigits]{% + \xintMul{\csname XINT_c_1_##2_inv\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_2_##3_inv\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_3_##4_inv\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_4_##5_inv\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_5_##6_inv\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_6_##7_inv\endcsname}{% + \xintAdd{1[0]}{% + \expandafter\XINT_Exp_series_a_ii + \romannumeral0\XINTinfloat[#2]{% + \xintMul{\XINT_c_logten}% + {\xintAdd{##1.##2##3##4##5##6##7}{##8[##9]}}% + }% + \xint: + }% + }}}}}}}}}}}}{-##1}% +}}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits+5\expandafter.% + \the\numexpr\XINTdigits-1.% +\def\XINT_tmpa#1.#2.{% +\def\XINT_Exp_series_a_ii##1\xint: +{% + \expandafter\XINT_Exp_series_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_Exp_series_b##1[##2]\xint: +{% + \expandafter\XINT_Exp_series_c_ + \romannumeral0\xintadd{1}{\xintHalf{##10}[##2-1]}\xint: +}% +\def\XINT_Exp_series_c_##1\xint:##2\xint: +{% + \XINTinFloat[#2]{\xintMul{##1}{##2}}% }% -\let\XINT_flexpr_func_pow\XINT_expr_func_pow -\catcode`\* 11 -\def\poormanloghack** +}% +\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-6\expandafter.% + \the\numexpr\XINTdigits-1.% +\ifnum\XINTdigits>15 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_Exp_series_a_ii##1\xint: +{% + \expandafter\XINT_Exp_series_a_iii + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_Exp_series_a_iii##1\xint: +{% + \expandafter\XINT_Exp_series_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_Exp_series_b##1[##2]\xint: +{% + \expandafter\XINT_Exp_series_c_i + \romannumeral0\xintadd{#3}{##1/6[##2]}\xint: +}% +\def\XINT_Exp_series_c_i##1\xint:##2\xint: {% - \def\XINT_tmpa ##1##2##3##4##5##6% + \expandafter\XINT_Exp_series_c_ + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-13\expandafter.% + \the\numexpr\XINTdigits-6.% + {5[-1]}.% + {1[0]}.% +\fi +\ifnum\XINTdigits>21 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_Exp_series_a_iii##1\xint: +{% + \expandafter\XINT_Exp_series_a_iv + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_Exp_series_a_iv##1\xint: +{% + \expandafter\XINT_Exp_series_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_Exp_series_b##1[##2]\xint: +{% + \expandafter\XINT_Exp_series_c_ii + \romannumeral0\xintadd{#3}{##1/24[##2]}\xint: +}% +\def\XINT_Exp_series_c_ii##1\xint:##2\xint: +{% + \expandafter\XINT_Exp_series_c_i + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-19\expandafter.% + \the\numexpr\XINTdigits-13\expandafter.% + \romannumeral0\XINTinfloat[\XINTdigits-13]{1/6[0]}.% + {5[-1]}.% +\fi +\ifnum\XINTdigits>28 +\def\XINT_tmpa #1 #2 #3 #4 #5 #6 #7 % +{% + \def\XINT_tmpb ##1##2##3##4% {% - \def ##3####1% \XINT_expr_op_<op> + \def\XINT_tmpc####1.####2.####3.####4.% {% - \expanded{\unexpanded{##4{####1}}\expandafter}% - \romannumeral`&&@\expandafter##2\romannumeral`&&@\XINT_expr_getnext + \def##2########1\xint: + {% + \expandafter##1% + \romannumeral0\XINTinfloatS[####2]{########1}\xint:########1\xint: + }% + \def##1########1\xint: + {% + \expandafter\XINT_Exp_series_b + \romannumeral0\XINTinfloatS[####1]{########1}\xint:########1\xint: + }% + \def\XINT_Exp_series_b########1[########2]\xint: + {% + \expandafter##3% + \romannumeral0\xintadd{####3}{########1/#5[########2]}\xint: + }% + \def##3########1\xint:########2\xint: + {% + \expandafter##4% + \romannumeral0\xintadd{####4}{\XINTinFloat[####2]{\xintMul{########1}{########2}}}\xint: + }% }% - \def##2####1% \XINT_expr_check-_<op> - {% + }% + \expandafter\XINT_tmpb + \csname XINT_Exp_series_a_\romannumeral\numexpr#1\expandafter\endcsname + \csname XINT_Exp_series_a_\romannumeral\numexpr#1-1\expandafter\endcsname + \csname XINT_Exp_series_c_\romannumeral\numexpr#1-2\expandafter\endcsname + \csname XINT_Exp_series_c_\romannumeral\numexpr#1-3\endcsname + \expandafter\XINT_tmpc + \the\numexpr\XINTdigits-#2\expandafter.% + \the\numexpr\XINTdigits-#3\expandafter.\expanded{% + \XINTinFloat[\XINTdigits-#3]{1/#6[0]}.% + \XINTinFloat[\XINTdigits-#4]{1/#7[0]}.% + }% +}% +\XINT_tmpa 5 26 19 13 120 24 6 %<-- keep space +\ifnum\XINTdigits>35 \XINT_tmpa 6 33 26 19 720 120 24 \fi +\ifnum\XINTdigits>42 \XINT_tmpa 7 40 33 26 5040 720 120 \fi +\ifnum\XINTdigits>48 \XINT_tmpa 8 46 40 33 40320 5040 720 \fi +\ifnum\XINTdigits>55 \XINT_tmpa 9 53 46 40 362880 40320 5040 \fi +\fi +\def\XINT_tmpa#1.{% +\def\XINTinFloatLog{\romannumeral0\XINTinfloatlog}% +\def\XINTinfloatlog +{% + \expandafter\XINT_log_out + \romannumeral0\expandafter\XINT_logten_a + \romannumeral0\XINTinfloat[#1]%{##1} +}% +\def\XINT_log_out ##1\xint:##2\xint: +{% + \XINTinfloat[#1]% + {\xintAdd{\xintMul{\XINT_c_logten}{##1}}{##2}}% +}% +\def\XINTinFloatLogTen{\romannumeral0\XINTinfloatlogten}% +\def\XINTinfloatlogten +{% + \expandafter\XINT_logten_out + \romannumeral0\expandafter\XINT_logten_a + \romannumeral0\XINTinfloat[#1]%{##1} +}% +\def\XINT_logten_out ##1\xint:##2\xint: +{% + \XINTinfloat[#1]% + {\xintAdd{##1}{\xintMul{\XINT_c_oneoverlogten}{##2}}}% +}% +}\expandafter\XINT_tmpa\the\numexpr\XINTdigits.% +\def\XINTinFloatLogTen_xdgout%#1[#2] +{% + \romannumeral0\expandafter\XINT_logten_xdgout\romannumeral0\XINT_logten_a +}% +\def\XINT_logten_xdgout #1\xint:#2\xint: +{% + \xintadd{#1}{\xintMul{\XINT_c_oneoverlogten_xx}{#2}}% +}% +\def\XINT_logten_a#1[#2]% +{% + \expandafter\XINT_logten_b + \romannumeral0\XINTinfloat[9]{#1[#2]}#1[#2]% +}% +\def\XINT_logten_b#1[#2]% +{% + \expandafter\XINT_logten_c + \romannumeral0\xintround{6}% + {\xintiiAdd{\xintDSx{-9}{\the\numexpr#2+8\relax}}% + {\the\numexpr\PML@#1.\relax}% + [-9]}% + \xint: +}% +\def\XINT_logten_c #1#2% +{% + \xint_gob_til_xint:#2\XINT_logten_IV\xint: + \XINT_logten_d #1#2% +}% +\def\XINT_logten_IV\xint:\XINT_logten_d0{\XINT_logten_f_III}% +\def\XINT_logten_d #1.#2\xint: +{% + \ifcase + \ifnum#1=\xint_c_ + \ifnum #2>100000 \xint_c_i\else + \ifnum #2>\xint_c_ \xint_c_ii\else \xint_c_iii\fi\fi + \else + \ifnum#2>\xint_c_ \xint_c_i\else \xint_c_\fi + \fi + \expandafter\XINT_logten_f_Isp + \or\expandafter\XINT_logten_f_I + \or\expandafter\XINT_logten_f_II + \else\expandafter\XINT_logten_f_III + \fi + #1.#2\xint: +}% +\def\XINT_logten_f_I#1% +{% \xint_UDsignfork - ####1{\expandafter##2\romannumeral`&&@##1}% - -{##5####1}% - \krof + #1\XINT_logten_f_I_neg + -\XINT_logten_f_I_pos + \krof #1% +}% +\def\XINT_logten_f_II#1% +{% + \xint_UDsignfork + #1\XINT_logten_f_II_neg + -\XINT_logten_f_II_pos + \krof #1% +}% +\def\XINT_tmpa#1.{% +\def\XINT_logten_f_Isp##1.000000\xint:##2[##3]% +{% + {##1[0]}\xint: + {\expandafter\XINT_LogTen_serI_a_i + \romannumeral0\XINTinfloatS[#1]{\xintAdd{##2[##3-##1]}{-1[0]}}% + \xint: + }\xint: +}% +}\expandafter\XINT_tmpa\the\numexpr\XINTdigits-2.% +\def\XINT_tmpa#1.{% +\def\XINT_logten_f_III##1\xint:##2[##3]% +{% + {0[0]}\xint: + {\expandafter\XINT_LogTen_serIII_a_ii + \romannumeral0\XINTinfloatS[#1]{\xintAdd{##2[##3]}{-1[0]}}% + \xint: + }\xint: +}}\expandafter\XINT_tmpa\the\numexpr\XINTdigits+4.% +\def\XINT_tmpa#1.#2.{% +\def\XINT_logten_f_I_pos##1.##2##3##4##5##6##7\xint:##8[##9]% +{% + {\the\numexpr##1##2##3##4##5##6##7[-6]}\xint: + {\expandafter\XINT_LogTen_serI_a_i + \romannumeral0\XINTinfloat[#2]% + {\xintAdd{-1[0]}% + {\xintMul{\csname XINT_c_1_##2_inv\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_2_##3_inv\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_3_##4_inv\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_4_##5_inv\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_5_##6_inv\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_6_##7_inv\endcsname} + {##8[##9-##1]}% + }}}}}}}}}}% + }% + }\xint: + }\xint: +}% +\def\XINT_logten_f_I_neg##1.##2##3##4##5##6##7\xint:##8[##9]% +{% + {\the\numexpr##1##2##3##4##5##6##7[-6]}\xint: + {\expandafter\XINT_LogTen_serI_a_i + \romannumeral0\XINTinfloat[#2]% + {\xintAdd{-1[0]}% + {\xintMul{\csname XINT_c_1_##2\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_2_##3\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_3_##4\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_4_##5\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_5_##6\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_6_##7\endcsname} + {##8[##9-##1]}% + }}}}}}}}}}% + }% + }\xint: + }\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits+5\expandafter.\the\numexpr\XINTdigits-1.% +\def\XINT_tmpa#1.#2.{% +\def\XINT_logten_f_II_pos0.##1##2##3##4##5##6\xint:##7[##8]% +{% + {\the\numexpr##1##2##3##4##5##6[-6]}\xint: + {\expandafter\XINT_LogTen_serII_a_ii + \romannumeral0\XINTinfloat[#2]% + {\xintAdd{-1[0]}% + {\xintMul{\csname XINT_c_1_##1_inv_x\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_2_##2_inv_x\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_3_##3_inv_x\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_4_##4_inv_x\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_5_##5_inv_x\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_6_##6_inv_x\endcsname} + {##7[##8]}% + }}}}}}}}}}% + }% + }\xint: + }\xint: +}% +\def\XINT_logten_f_II_neg-0.##1##2##3##4##5##6\xint:##7[##8]% +{% + {\the\numexpr-##1##2##3##4##5##6[-6]}\xint: + {\expandafter\XINT_LogTen_serII_a_ii + \romannumeral0\XINTinfloat[#2]% + {\xintAdd{-1[0]}% + {\xintMul{\csname XINT_c_1_##1_x\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_2_##2_x\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_3_##3_x\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_4_##4_x\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_5_##5_x\endcsname}{% + \XINTinFloat[#1]{% + \xintMul{\csname XINT_c_6_##6_x\endcsname} + {##7[##8]}% + }}}}}}}}}}% + }% + }\xint: + }\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits+10\expandafter.\the\numexpr\XINTdigits+4.% +\def\XINT_LogTen_serI_a_i#1\xint:{#1}% +\ifnum\XINTdigits>9 +\def\XINT_tmpa#1.#2.{% +\def\XINT_LogTen_serI_a_i##1\xint: +{% + \expandafter\XINT_LogTen_serI_a_ii + \romannumeral0\XINTinfloatS[#2]{##1}\xint: +}% +\def\XINT_LogTen_serI_a_ii##1\xint: +{% + \expandafter\XINT_LogTen_serI_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serI_c_ + \romannumeral0\xintadd{1}{\xintiiOpp\xintHalf{##10}[##2-1]}\xint: +}% +\def\XINT_LogTen_serI_c_##1\xint:##2\xint: +{% + \XINTinFloat[#2]{\xintMul{##1}{##2}}% +}% +}% +\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-7\expandafter.% + \the\numexpr\XINTdigits-1.% +\fi +\ifnum\XINTdigits>15 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serI_a_ii##1\xint: +{% + \expandafter\XINT_LogTen_serI_a_iii + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_a_iii##1\xint: +{% + \expandafter\XINT_LogTen_serI_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serI_c_i + \romannumeral0\xintadd{#3}{##1/3[##2]}\xint: +}% +\def\XINT_LogTen_serI_c_i##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serI_c_ + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-13\expandafter.% + \the\numexpr\XINTdigits-7.% + {-5[-1]}.% + {1[0]}.% +\fi +\ifnum\XINTdigits>21 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serI_a_iii##1\xint: +{% + \expandafter\XINT_LogTen_serI_a_iv + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_a_iv##1\xint: +{% + \expandafter\XINT_LogTen_serI_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serI_c_ii + \romannumeral0\xintadd{#3}{\xintiiMul{-25}{##1}[##2-2]}\xint: +}% +\def\XINT_LogTen_serI_c_ii##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serI_c_i + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-19\expandafter.% + \the\numexpr\XINTdigits-13\expandafter.% + \romannumeral0\XINTinfloat[\XINTdigits-13]{1/3[0]}.% + {-5[-1]}.% +\fi +\ifnum\XINTdigits>27 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serI_a_iv##1\xint: +{% + \expandafter\XINT_LogTen_serI_a_v + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_a_v##1\xint: +{% + \expandafter\XINT_LogTen_serI_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serI_c_iii + \romannumeral0\xintadd{#3}{\xintDouble{##1}[##2-1]}\xint: +}% +\def\XINT_LogTen_serI_c_iii##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serI_c_ii + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-25\expandafter.% + \the\numexpr\XINTdigits-19\expandafter.\expanded{% + {-25[-2]}.% + \XINTinFloat[\XINTdigits-13]{1/3[0]}.% }% - \def##5####1####2% \XINT_expr_checkp_<op> - {% - \ifnum ####1>\XINT_expr_precedence_** - \expandafter##5% - \romannumeral`&&@\csname XINT_##6_op_####2\expandafter\endcsname - \else - \expandafter ####1\expandafter ####2% - \fi +\fi +\ifnum\XINTdigits>33 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serI_a_v##1\xint: +{% + \expandafter\XINT_LogTen_serI_a_vi + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_a_vi##1\xint: +{% + \expandafter\XINT_LogTen_serI_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serI_c_iv + \romannumeral0\xintadd{#3}{\xintiiOpp##1/6[##2]}\xint: +}% +\def\XINT_LogTen_serI_c_iv##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serI_c_iii + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-31\expandafter.% + \the\numexpr\XINTdigits-25.% + {2[-1]}.% + {-25[-2]}.% +\fi +\ifnum\XINTdigits>39 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serI_a_vi##1\xint: +{% + \expandafter\XINT_LogTen_serI_a_vii + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_a_vii##1\xint: +{% + \expandafter\XINT_LogTen_serI_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serI_c_v + \romannumeral0\xintadd{#3}{##1/7[##2]}\xint: +}% +\def\XINT_LogTen_serI_c_v##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serI_c_iv + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-37\expandafter.% + \the\numexpr\XINTdigits-31\expandafter.% + \romannumeral0\XINTinfloatS[\XINTdigits-31]{-1/6[0]}.% + {2[-1]}.% +\fi +\ifnum\XINTdigits>45 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serI_a_vii##1\xint: +{% + \expandafter\XINT_LogTen_serI_a_viii + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_a_viii##1\xint: +{% + \expandafter\XINT_LogTen_serI_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serI_c_vi + \romannumeral0\xintadd{#3}{\xintiiMul{-125}{##1}[##2-3]}\xint: +}% +\def\XINT_LogTen_serI_c_vi##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serI_c_v + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-43\expandafter.% + \the\numexpr\XINTdigits-37\expandafter.\expanded{% + \XINTinFloat[\XINTdigits-37]{1/7[0]}.% + \XINTinFloat[\XINTdigits-31]{-1/6[0]}.% }% - }% - \expandafter\XINT_tmpa - \csname XINT_expr_op_-ix\expandafter\endcsname - \csname XINT_expr_check-_**\endcsname - \XINT_expr_op_** - \XINT_expr_exec_** - \XINT_expr_checkp_** {expr}% - \expandafter\XINT_tmpa - \csname XINT_flexpr_op_-ix\expandafter\endcsname - \csname XINT_flexpr_check-_**\endcsname - \XINT_flexpr_op_** - \XINT_flexpr_exec_** - \XINT_flexpr_checkp_** {flexpr}% - \def\XINT_expr_exec_** ##1##2##3##4% \XINT_expr_exec_<op> - {% - \expandafter##2\expandafter##3\expandafter{% - \romannumeral`&&@\XINT:NEhook:f:one:from:two - {\romannumeral`&&@\PoorManPower##1##4}}% +\fi +\ifnum\XINTdigits>51 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serI_a_viii##1\xint: +{% + \expandafter\XINT_LogTen_serI_a_ix + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_a_ix##1\xint: +{% + \expandafter\XINT_LogTen_serI_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serI_c_vii + \romannumeral0\xintadd{#3}{##1/9[##2]}\xint: +}% +\def\XINT_LogTen_serI_c_vii##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serI_c_vi + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-49\expandafter.% + \the\numexpr\XINTdigits-43\expandafter.\expanded{% + {-125[-3]}.% + \XINTinFloat[\XINTdigits-37]{1/7[0]}.% }% - \let\XINT_flexpr_exec_**\XINT_expr_exec_** +\fi +\ifnum\XINTdigits>57 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serI_a_ix##1\xint: +{% + \expandafter\XINT_LogTen_serI_a_x + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: }% -\def\poormanloghack^ +\def\XINT_LogTen_serI_a_x##1\xint: {% - \def\XINT_tmpa ##1##2##3##4##5##6% - {% - \def ##3####1% \XINT_expr_op_<op> - {% - \expanded{\unexpanded{##4{####1}}\expandafter}% - \romannumeral`&&@\expandafter##2\romannumeral`&&@\XINT_expr_getnext + \expandafter\XINT_LogTen_serI_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serI_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serI_c_viii + \romannumeral0\xintadd{#3}{\xintiiOpp##1[##2-1]}\xint: +}% +\def\XINT_LogTen_serI_c_viii##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serI_c_vii + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-55\expandafter.% + \the\numexpr\XINTdigits-49\expandafter.% + \romannumeral0\XINTinfloat[\XINTdigits-49]{1/9[0]}.% + {-125[-3]}.% +\fi +\def\XINT_tmpa#1.#2.{% +\def\XINT_LogTen_serII_a_ii##1\xint: +{% + \expandafter\XINT_LogTen_serII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_b#1[#2]\xint: +{% + \expandafter\XINT_LogTen_serII_c_ + \romannumeral0\xintadd{1}{\xintiiOpp\xintHalf{#10}[#2-1]}\xint: +}% +\def\XINT_LogTen_serII_c_##1\xint:##2\xint: +{% + \XINTinFloat[#2]{\xintMul{##1}{##2}}% +}% +}% +\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-2\expandafter.% + \the\numexpr\XINTdigits+4.% +\ifnum\XINTdigits>10 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serII_a_ii##1\xint: +{% + \expandafter\XINT_LogTen_serII_a_iii + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_a_iii##1\xint: +{% + \expandafter\XINT_LogTen_serII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serII_c_i + \romannumeral0\xintadd{#3}{##1/3[##2]}\xint: +}% +\def\XINT_LogTen_serII_c_i##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serII_c_ + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-8\expandafter.% + \the\numexpr\XINTdigits-2.% + {-5[-1]}.% + {1[0]}.% +\fi +\ifnum\XINTdigits>16 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serII_a_iii##1\xint: +{% + \expandafter\XINT_LogTen_serII_a_iv + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_a_iv##1\xint: +{% + \expandafter\XINT_LogTen_serII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serII_c_ii + \romannumeral0\xintadd{#3}{\xintiiMul{-25}{##1}[##2-2]}\xint: +}% +\def\XINT_LogTen_serII_c_ii##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serII_c_i + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-14\expandafter.% + \the\numexpr\XINTdigits-8\expandafter.% + \romannumeral0\XINTinfloat[\XINTdigits-8]{1/3[0]}.% + {-5[-1]}.% +\fi +\ifnum\XINTdigits>22 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serII_a_iv##1\xint: +{% + \expandafter\XINT_LogTen_serII_a_v + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_a_v##1\xint: +{% + \expandafter\XINT_LogTen_serII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serII_c_iii + \romannumeral0\xintadd{#3}{\xintDouble{##1}[##2-1]}\xint: +}% +\def\XINT_LogTen_serII_c_iii##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serII_c_ii + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-20\expandafter.% + \the\numexpr\XINTdigits-14\expandafter.\expanded{% + {-25[-2]}.% + \XINTinFloat[\XINTdigits-8]{1/3[0]}.% }% - \def##2####1% \XINT_expr_check-_<op> - {% - \xint_UDsignfork - ####1{\expandafter##2\romannumeral`&&@##1}% - -{##5####1}% - \krof +\fi +\ifnum\XINTdigits>28 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serII_a_v##1\xint: +{% + \expandafter\XINT_LogTen_serII_a_vi + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_a_vi##1\xint: +{% + \expandafter\XINT_LogTen_serII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serII_c_iv + \romannumeral0\xintadd{#3}{\xintiiOpp##1/6[##2]}\xint: +}% +\def\XINT_LogTen_serII_c_iv##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serII_c_iii + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-26\expandafter.% + \the\numexpr\XINTdigits-20.% + {2[-1]}.% + {-25[-2]}.% +\fi +\ifnum\XINTdigits>34 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serII_a_vi##1\xint: +{% + \expandafter\XINT_LogTen_serII_a_vii + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_a_vii##1\xint: +{% + \expandafter\XINT_LogTen_serII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serII_c_v + \romannumeral0\xintadd{#3}{##1/7[##2]}\xint: +}% +\def\XINT_LogTen_serII_c_v##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serII_c_iv + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-32\expandafter.% + \the\numexpr\XINTdigits-26\expandafter.% + \romannumeral0\XINTinfloatS[\XINTdigits-26]{-1/6[0]}.% + {2[-1]}.% +\fi +\ifnum\XINTdigits>40 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serII_a_vii##1\xint: +{% + \expandafter\XINT_LogTen_serII_a_viii + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_a_viii##1\xint: +{% + \expandafter\XINT_LogTen_serII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serII_c_vi + \romannumeral0\xintadd{#3}{\xintiiMul{-125}{##1}[##2-3]}\xint: +}% +\def\XINT_LogTen_serII_c_vi##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serII_c_v + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-38\expandafter.% + \the\numexpr\XINTdigits-32\expandafter.\expanded{% + \XINTinFloat[\XINTdigits-32]{1/7[0]}.% + \XINTinFloat[\XINTdigits-26]{-1/6[0]}.% }% - \def##5####1####2% \XINT_expr_checkp_<op> - {% - \ifnum ####1>\XINT_expr_precedence_^ - \expandafter##5% - \romannumeral`&&@\csname XINT_##6_op_####2\expandafter\endcsname - \else - \expandafter ####1\expandafter ####2% - \fi +\fi +\ifnum\XINTdigits>46 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serII_a_viii##1\xint: +{% + \expandafter\XINT_LogTen_serII_a_ix + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_a_ix##1\xint: +{% + \expandafter\XINT_LogTen_serII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serII_c_vii + \romannumeral0\xintadd{#3}{##1/9[##2]}\xint: +}% +\def\XINT_LogTen_serII_c_vii##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serII_c_vi + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-44\expandafter.% + \the\numexpr\XINTdigits-38\expandafter.\expanded{% + {-125[-3]}.% + \XINTinFloat[\XINTdigits-32]{1/7[0]}.% }% - }% - \expandafter\XINT_tmpa - \csname XINT_expr_op_-ix\expandafter\endcsname - \csname XINT_expr_check-_^\endcsname - \XINT_expr_op_^ - \XINT_expr_exec_^ - \XINT_expr_checkp_^ {expr}% - \expandafter\XINT_tmpa - \csname XINT_flexpr_op_-ix\expandafter\endcsname - \csname XINT_flexpr_check-_^\endcsname - \XINT_flexpr_op_^ - \XINT_flexpr_exec_^ - \XINT_flexpr_checkp_^ {flexpr}% - \def\XINT_expr_exec_^ ##1##2##3##4% \XINT_expr_exec_<op> - {% - \expandafter##2\expandafter##3\expandafter{% - \romannumeral`&&@\XINT:NEhook:f:one:from:two - {\romannumeral`&&@\PoorManPower##1##4}}% +\fi +\ifnum\XINTdigits>52 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serII_a_ix##1\xint: +{% + \expandafter\XINT_LogTen_serII_a_x + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_a_x##1\xint: +{% + \expandafter\XINT_LogTen_serII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serII_c_viii + \romannumeral0\xintadd{#3}{\xintiiOpp##1[##2-1]}\xint: +}% +\def\XINT_LogTen_serII_c_viii##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serII_c_vii + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-50\expandafter.% + \the\numexpr\XINTdigits-44\expandafter.% + \romannumeral0\XINTinfloat[\XINTdigits-44]{1/9[0]}.% + {-125[-3]}.% +\fi +\ifnum\XINTdigits>58 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serII_a_x##1\xint: +{% + \expandafter\XINT_LogTen_serII_a_xi + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_a_xi##1\xint: +{% + \expandafter\XINT_LogTen_serII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serII_c_ix + \romannumeral0\xintadd{#3}{##1/11[##2]}\xint: +}% +\def\XINT_LogTen_serII_c_ix##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serII_c_viii + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-56\expandafter.% + \the\numexpr\XINTdigits-50\expandafter.\expanded{% + {-1[-1]}.% + \XINTinFloat[\XINTdigits-44]{1/9[0]}.% }% - \let\XINT_flexpr_exec_^\XINT_expr_exec_^ +\fi +\def\XINT_tmpa#1.#2.{% +\def\XINT_LogTen_serIII_a_ii##1\xint: +{% + \expandafter\XINT_LogTen_serIII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: }% -\def\poormanloghack#1{\csname poormanloghack#1\endcsname}% +\def\XINT_LogTen_serIII_b#1[#2]\xint: +{% + \expandafter\XINT_LogTen_serIII_c_ + \romannumeral0\xintadd{1}{\xintiiOpp\xintHalf{#10}[#2-1]}\xint: +}% +\def\XINT_LogTen_serIII_c_##1\xint:##2\xint: +{% + \XINTinFloat[#2]{\xintMul{##1}{##2}}% +}% +}% +\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-1\expandafter.% + \the\numexpr\XINTdigits+4.% +\ifnum\XINTdigits>9 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serIII_a_ii##1\xint: +{% + \expandafter\XINT_LogTen_serIII_a_iii + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_a_iii##1\xint: +{% + \expandafter\XINT_LogTen_serIII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serIII_c_i + \romannumeral0\xintadd{#3}{##1/3[##2]}\xint: +}% +\def\XINT_LogTen_serIII_c_i##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serIII_c_ + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-7\expandafter.% + \the\numexpr\XINTdigits-1.% + {-5[-1]}.% + {1[0]}.% +\fi +\ifnum\XINTdigits>15 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serIII_a_iii##1\xint: +{% + \expandafter\XINT_LogTen_serIII_a_iv + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_a_iv##1\xint: +{% + \expandafter\XINT_LogTen_serIII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serIII_c_ii + \romannumeral0\xintadd{#3}{\xintiiMul{-25}{##1}[##2-2]}\xint: +}% +\def\XINT_LogTen_serIII_c_ii##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serIII_c_i + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-13\expandafter.% + \the\numexpr\XINTdigits-7\expandafter.% + \romannumeral0\XINTinfloat[\XINTdigits-7]{1/3[0]}.% + {-5[-1]}.% +\fi +\ifnum\XINTdigits>21 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serIII_a_iv##1\xint: +{% + \expandafter\XINT_LogTen_serIII_a_v + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_a_v##1\xint: +{% + \expandafter\XINT_LogTen_serIII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serIII_c_iii + \romannumeral0\xintadd{#3}{\xintDouble{##1}[##2-1]}\xint: +}% +\def\XINT_LogTen_serIII_c_iii##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serIII_c_ii + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-19\expandafter.% + \the\numexpr\XINTdigits-13\expandafter.\expanded{% + {-25[-2]}.% + \XINTinFloat[\XINTdigits-7]{1/3[0]}.% + }% +\fi +\ifnum\XINTdigits>27 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serIII_a_v##1\xint: +{% + \expandafter\XINT_LogTen_serIII_a_vi + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_a_vi##1\xint: +{% + \expandafter\XINT_LogTen_serIII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serIII_c_iv + \romannumeral0\xintadd{#3}{\xintiiOpp##1/6[##2]}\xint: +}% +\def\XINT_LogTen_serIII_c_iv##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serIII_c_iii + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-25\expandafter.% + \the\numexpr\XINTdigits-19.% + {2[-1]}.% + {-25[-2]}.% +\fi +\ifnum\XINTdigits>33 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serIII_a_vi##1\xint: +{% + \expandafter\XINT_LogTen_serIII_a_vii + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_a_vii##1\xint: +{% + \expandafter\XINT_LogTen_serIII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serIII_c_v + \romannumeral0\xintadd{#3}{##1/7[##2]}\xint: +}% +\def\XINT_LogTen_serIII_c_v##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serIII_c_iv + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-31\expandafter.% + \the\numexpr\XINTdigits-25\expandafter.% + \romannumeral0\XINTinfloatS[\XINTdigits-25]{-1/6[0]}.% + {2[-1]}.% +\fi +\ifnum\XINTdigits>39 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serIII_a_vii##1\xint: +{% + \expandafter\XINT_LogTen_serIII_a_viii + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_a_viii##1\xint: +{% + \expandafter\XINT_LogTen_serIII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serIII_c_vi + \romannumeral0\xintadd{#3}{\xintiiMul{-125}{##1}[##2-3]}\xint: +}% +\def\XINT_LogTen_serIII_c_vi##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serIII_c_v + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-37\expandafter.% + \the\numexpr\XINTdigits-31\expandafter.\expanded{% + \XINTinFloat[\XINTdigits-31]{1/7[0]}.% + \XINTinFloat[\XINTdigits-25]{-1/6[0]}.% + }% +\fi +\ifnum\XINTdigits>45 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serIII_a_viii##1\xint: +{% + \expandafter\XINT_LogTen_serIII_a_ix + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_a_ix##1\xint: +{% + \expandafter\XINT_LogTen_serIII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serIII_c_vii + \romannumeral0\xintadd{#3}{##1/9[##2]}\xint: +}% +\def\XINT_LogTen_serIII_c_vii##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serIII_c_vi + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-43\expandafter.% + \the\numexpr\XINTdigits-37\expandafter.\expanded{% + {-125[-3]}.% + \XINTinFloat[\XINTdigits-31]{1/7[0]}.% + }% +\fi +\ifnum\XINTdigits>51 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serIII_a_ix##1\xint: +{% + \expandafter\XINT_LogTen_serIII_a_x + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_a_x##1\xint: +{% + \expandafter\XINT_LogTen_serIII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serIII_c_viii + \romannumeral0\xintadd{#3}{\xintiiOpp##1[##2-1]}\xint: +}% +\def\XINT_LogTen_serIII_c_viii##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serIII_c_vii + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-49\expandafter.% + \the\numexpr\XINTdigits-43\expandafter.% + \romannumeral0\XINTinfloat[\XINTdigits-43]{1/9[0]}.% + {-125[-3]}.% +\fi +\ifnum\XINTdigits>57 +\def\XINT_tmpa#1.#2.#3.#4.{% +\def\XINT_LogTen_serIII_a_x##1\xint: +{% + \expandafter\XINT_LogTen_serIII_a_xi + \romannumeral0\XINTinfloatS[#2]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_a_xi##1\xint: +{% + \expandafter\XINT_LogTen_serIII_b + \romannumeral0\XINTinfloatS[#1]{##1}\xint:##1\xint: +}% +\def\XINT_LogTen_serIII_b##1[##2]\xint: +{% + \expandafter\XINT_LogTen_serIII_c_ix + \romannumeral0\xintadd{#3}{##1/11[##2]}\xint: +}% +\def\XINT_LogTen_serIII_c_ix##1\xint:##2\xint: +{% + \expandafter\XINT_LogTen_serIII_c_viii + \romannumeral0\xintadd{#4}{\XINTinFloat[#2]{\xintMul{##1}{##2}}}\xint: +}% +}\expandafter\XINT_tmpa + \the\numexpr\XINTdigits-55\expandafter.% + \the\numexpr\XINTdigits-49\expandafter.\expanded{% + {-1[-1]}.% + \XINTinFloat[\XINTdigits-43]{1/9[0]}.% + }% +\fi +\XINTendxintloginput% \endinput %% %% End of file `xintlog.sty'. |