i’m not up on scheme’s details, but with common lisp those floats
default to single-float, which is usually implemente these days with
a 32-bit ieee float.
using l as the delimiter between the significand and the exponent
will generate a long-float, with more resolution.
on an arm64 sbc, and using ecl, i get:
> (expt (+ 5l0 (* 2l0 (sqrt 5l0))) 400)
3.7946276521800698015l390
for more digits one’d need to use multi-precision floats.
i have no idea whether any scheme implementations include any mp float
support as is, but they should let you use an extertnal library such as
mpfr for that.
your pc is certainly good enough; you just need the right software.
(they do not make any these dayswhich are not good enough; not even at
the sub-$30 price point.)
In maxima:
(%i3) (2b0*sqrt(5b0)+5b0)^400b0,fpprec:999;
(%o3) 3.7946276521800697305666550087536192992115769295190551691665658622025488\
195527774282584577158133760363054128087496967891514764773751875434079622491760\
760697880911146535967511959796900645429566665476227663091405183155412705120528\
107603481804507230138239252996700097573900617537077884807268892365403939464952\
884993314087737184104485796978046070820564123621254637441779777873307466506958\
007812499999999999999999999999999999999999999999999999999999999999999999999999\
999999999999999999999999999999999999999989794540413933744145337696735909814614\
790479700848425376607266434711262904353407710432649693087316786760610501184349\
347109985584947803067028202580520987298601120677255115594828007214424540451843\
222471830925057425575004834959741740703164533089752802924419634880343840285041\
613337373169098123721455216932346242326642176737006286464924950409814547065789\
596130406436031620557787620213303967542302476673429612247644081703293433164688\
6414110731231241578737816677781912052635857679622387021664384404205661b390
(the b means bfloat, fpprec is the bfloat precision.)
-JimC
--
James Cloos <
cl...@jhcloos.com> OpenPGP: 0x997A9F17ED7DAEA6