Update of /project/oct/cvsroot/oct In directory clnet:/tmp/cvs-serv32694
Modified Files: qd-const.lisp qd-extra.lisp Log Message: qd-const.lisp: o Add code for clisp to create the constants we need. (Clisp has arbitrary length long-float numbers.) o Update the constants accordingly. o Move the atan table stuff for CORDIC to qd-extra.lisp, since we don't need them in oct itself.
qd-extra.lisp: o atan table stuff for CORDIC moved here.
--- /project/oct/cvsroot/oct/qd-const.lisp 2007/08/27 17:49:19 1.16 +++ /project/oct/cvsroot/oct/qd-const.lisp 2007/10/11 17:47:08 1.17 @@ -31,50 +31,78 @@ (defconstant +qd-one+ (make-qd-d 1d0))
-(defconstant +qd-2pi+ - (%make-qd-d (scale-float (float 7074237752028440 1.0d0) -50) - (scale-float (float 4967757600021511 1.0d0) -104) - (scale-float (float -8753721960665020 1.0d0) -160) - (scale-float (float 5857755168774013 1.0d0) -214))) - -;; 3.1415926535897932384626433832795028841971693993751058209749445923078L0 +;; 3.1415926535897932384626433832795028841971693993751058209749445923078L0 +;; #q3.1415926535897932384626433832795028841971693993751058209749445923q0 (defconstant +qd-pi+ - (%make-qd-d (scale-float (float 7074237752028440 1.0d0) -51) - (scale-float (float 4967757600021511 1.0d0) -105) - (scale-float (float -8753721960665020 1.0d0) -161) - (scale-float (float 5857755168774013 1.0d0) -215))) + (multiple-value-call #'%make-qd-d + (renorm-5 (scale-float (float 7074237752028440 1.0d0) -51) + (scale-float (float 4967757600021511 1.0d0) -105) + (scale-float (float -8753721960665020 1.0d0) -161) + (scale-float (float 5857755168774013 1.0d0) -215) + (scale-float (float 5380502254059520 1.0d0) -269)))) + +;; 6.2831853071795864769252867665590057683943387987502116419498891846156328125724L0 +;; #q6.2831853071795864769252867665590057683943387987502116419498891846q0 +(defconstant +qd-2pi+ + (multiple-value-call #'%make-qd-d + (renorm-5 (scale-float (float 7074237752028440 1.0d0) -50) + (scale-float (float 4967757600021511 1.0d0) -104) + (scale-float (float -8753721960665020 1.0d0) -160) + (scale-float (float 5857755168774013 1.0d0) -214) + (scale-float (float 5380502254059520 1.0d0) -268))))
+;; 1.5707963267948966192313216916397514420985846996875529104874722961539082031431L0 +;; #q1.57079632679489661923132169163975144209858469968755291048747229615q0 (defconstant +qd-pi/2+ - (%make-qd-d (scale-float (float 7074237752028440 1.0d0) -52) - (scale-float (float 4967757600021511 1.0d0) -106) - (scale-float (float -8753721960665020 1.0d0) -162) - (scale-float (float 5857755168774013 1.0d0) -216))) + (multiple-value-call #'%make-qd-d + (renorm-5 (scale-float (float 7074237752028440 1.0d0) -52) + (scale-float (float 4967757600021511 1.0d0) -106) + (scale-float (float -8753721960665020 1.0d0) -162) + (scale-float (float 5857755168774013 1.0d0) -216) + (scale-float (float 5380502254059520 1.0d0) -270))))
+;; 0.78539816339744830961566084581987572104929234984377645524373614807695410157155L0 +;; #q0.785398163397448309615660845819875721049292349843776455243736148076q0 (defconstant +qd-pi/4+ - (%make-qd-d (scale-float (float 7074237752028440 1.0d0) -53) - (scale-float (float 4967757600021511 1.0d0) -107) - (scale-float (float -8753721960665020 1.0d0) -163) - (scale-float (float 5857755168774013 1.0d0) -217))) + (multiple-value-call #'%make-qd-d + (renorm-5 (scale-float (float 7074237752028440 1.0d0) -53) + (scale-float (float 4967757600021511 1.0d0) -107) + (scale-float (float -8753721960665020 1.0d0) -163) + (scale-float (float 5857755168774013 1.0d0) -217) + (scale-float (float 5380502254059520 1.0d0) -271))))
+;; 2.35619449019234492884698253745962716314787704953132936573120844423086230471467L0 +;; #q2.35619449019234492884698253745962716314787704953132936573120844423q0 (defconstant +qd-3pi/4+ - (%make-qd-d (scale-float (float 5305678314021330 1.0d0) -51) - (scale-float (float 7451636400032266 1.0d0) -106) - (scale-float (float 5724553519491610 1.0d0) -160) - (scale-float (float -6810541066450736 1.0d0) -214))) + (multiple-value-call #'%make-qd-d + (renorm-5 (scale-float (float 5305678314021330 1.0d0) -51) + (scale-float (float 7451636400032266 1.0d0) -106) + (scale-float (float 5724553519491610 1.0d0) -160) + (scale-float (float -6810541066450737 1.0d0) -214) + (scale-float (float -7491566988951552 1.0d0) -273))))
+;; 0.00306796157577128245943617517898388953534879824157725177829584432842560195926387L0 +;; #q0.00306796157577128245943617517898388953534879824157725177829584432842q0 (defconstant +qd-pi/1024+ - (%make-qd-d (scale-float (float 7074237752028440 1.0d0) -61) - (scale-float (float 4967757600021511 1.0d0) -115) - (scale-float (float -8753721960665020 1.0d0) -171) - (scale-float (float 5857755168774013 1.0d0) -225))) + (multiple-value-call #'%make-qd-d + (renorm-5 (scale-float (float 7074237752028440 1.0d0) -61) + (scale-float (float 4967757600021511 1.0d0) -115) + (scale-float (float -8753721960665020 1.0d0) -171) + (scale-float (float 5857755168774013 1.0d0) -225) + (scale-float (float 5380502254059520 1.0d0) -279))))
+;; 2.71828182845904523536028747135266249775724709369995957496696762772407663035355L0 +;; #q2.71828182845904523536028747135266249775724709369995957496696762773q0 (defconstant +qd-e+ - (%make-qd-d (scale-float (float 6121026514868073 1.0d0) -51) - (scale-float (float 5864240480059706 1.0d0) -105) - (scale-float (float -6219324074349538 1.0d0) -161) - (scale-float (float 7980724272743020 1.0d0) -215))) + (multiple-value-call #'%make-qd-d + (renorm-5 (scale-float (float 6121026514868073 1.0d0) -51) + (scale-float (float 5864240480059706 1.0d0) -105) + (scale-float (float -6219324074349538 1.0d0) -161) + (scale-float (float 7980724272743021 1.0d0) -215) + (scale-float (float -8855251465666560 1.0d0) -269))))
-;; 0.6931471805599453094172321214581765680755001343602552541206800094934L0 +;; 0.693147180559945309417232121458176568075500134360255254120680009493393621969696L0 +;; #q0.693147180559945309417232121458176568075500134360255254120680009495q0 (defconstant +qd-log2+ #+nil (make-qd-d 6.931471805599452862d-01 @@ -82,2510 +110,3198 @@ 5.707708438416212066d-34 -3.582432210601811423d-50) (%make-qd-d (scale-float (float 6243314768165359 1.0d0) -53) - (scale-float (float 7525737178955839 1.0d0) -108) - (scale-float (float 6673460182522164 1.0d0) -163) - (scale-float (float -7545482916914656 1.0d0) -217))) + (scale-float (float 7525737178955839 1.0d0) -108) + (scale-float (float 6673460182522164 1.0d0) -163) + (scale-float (float -7545482916914641 1.0d0) -217)))
;; The rest of log(2) such that (+ +qd-log2+ +qd-log2-extra+) is ;; log(2) to twice the precision of a quad-double. (defconstant +qd-log2-extra+ - #+nil - (make-qd-d (scale-float (float 4141960528156623 1d0) (- -53 212)) - (scale-float (float 3973120087747366 1d0) (- -106 212)) - (scale-float (float 752798645508048 1d0) (- -159 212)) - (scale-float (float 7618435247650241 1d0) (- -212 212))) - (%make-qd-d (scale-float (float 8283921056313247 1.0d0) -266) - (scale-float (float -8487672633970079 1.0d0) -322) - (scale-float (float 6075158146775579 1.0d0) -376) - (scale-float (float 4764384374407424 1.0d0) -432))) + (%make-qd-d (scale-float (float -5130503840205860 1.0d0) -271) + (scale-float (float 8312425932334613 1.0d0) -326) + (scale-float (float 7130537800999345 1.0d0) -380) + (scale-float (float 8345111905183492 1.0d0) -437)))
+;; Log(10) +;; 2.30258509299404568401799145468436420760110148862877297603332790096757260967737L0 +;; #q2.30258509299404568401799145468436420760110148862877297603332790095q0 (defconstant +qd-log10+ - (%make-qd-d (scale-float (float 5184960683398422 1.0d0) -51) - (scale-float (float -8805633374462953 1.0d0) -105) - (scale-float (float -7296007962371596 1.0d0) -159) - (scale-float (float -5296362421624049 1.0d0) -213))) + (multiple-value-call #'%make-qd-d + (renorm-5 (scale-float (float 5184960683398422 1.0d0) -51) + (scale-float (float -8805633374462953 1.0d0) -105) + (scale-float (float -7296007962371596 1.0d0) -159) + (scale-float (float -5296362421624049 1.0d0) -213) + (scale-float (float 4574234754834432 1.0d0) -267))))
(defconstant +qd-eps+ (scale-float 1d0 -209))
(defconstant +qd-sin-table+ - (make-array 256 - :initial-contents + (make-array 256 :initial-contents (list - (%make-qd-d (scale-float (float 7074226654454970 1.0d0) -61) - (scale-float (float 5271335698347442 1.0d0) -115) - (scale-float (float 7913822574154586 1.0d0) -170) - (scale-float (float -4804352564403217 1.0d0) -224)) - (%make-qd-d (scale-float (float 7074193361797233 1.0d0) -60) - (scale-float (float 7522205695703707 1.0d0) -116) - (scale-float (float 7787047147324868 1.0d0) -175) - (scale-float (float -6728650631839117 1.0d0) -232)) - (%make-qd-d (scale-float (float 5305603405682435 1.0d0) -59) - (scale-float (float -5041342953893321 1.0d0) -115) - (scale-float (float 8335474310793984 1.0d0) -170) - (scale-float (float 6743025479788607 1.0d0) -225)) - (%make-qd-d (scale-float (float 7074060192106372 1.0d0) -59) - (scale-float (float 7185921569156509 1.0d0) -113) - (scale-float (float -6016799991653399 1.0d0) -170) - (scale-float (float -5577663458559350 1.0d0) -224)) - (%make-qd-d (scale-float (float 8842450394781643 1.0d0) -59) - (scale-float (float -8771095658131507 1.0d0) -113) - (scale-float (float 8705573170983202 1.0d0) -167) - (scale-float (float -4692271881407162 1.0d0) -221)) - (%make-qd-d (scale-float (float 5305378684473085 1.0d0) -58) - (scale-float (float 7704904742673764 1.0d0) -113) - (scale-float (float 7308626221243388 1.0d0) -167) - (scale-float (float 4905810005485122 1.0d0) -223)) - (%make-qd-d (scale-float (float 6189482235310630 1.0d0) -58) - (scale-float (float -4715432182777116 1.0d0) -113) - (scale-float (float -8243063834437948 1.0d0) -168) - (scale-float (float 8566398131092182 1.0d0) -222)) - (%make-qd-d (scale-float (float 7073527528384126 1.0d0) -58) - (scale-float (float -7632135562854704 1.0d0) -116) - (scale-float (float 7289253486557291 1.0d0) -170) - (scale-float (float -7590289326531904 1.0d0) -224)) - (%make-qd-d (scale-float (float 7957506242722589 1.0d0) -58) - (scale-float (float -8272553670927212 1.0d0) -112) - (scale-float (float -6591995918745221 1.0d0) -166) - (scale-float (float -4636857096009409 1.0d0) -220)) - (%make-qd-d (scale-float (float 8841410057981697 1.0d0) -58) - (scale-float (float -5627969559234246 1.0d0) -118) - (scale-float (float -5998146560009404 1.0d0) -171) - (scale-float (float -8771421402740511 1.0d0) -225)) - (%make-qd-d (scale-float (float 4862615327261055 1.0d0) -57) - (scale-float (float -5217239170857332 1.0d0) -111) - (scale-float (float -6336246586437174 1.0d0) -165) - (scale-float (float 5522987872330073 1.0d0) -219)) - (%make-qd-d (scale-float (float 5304479856743885 1.0d0) -57) - (scale-float (float 6340842145528512 1.0d0) -113) - (scale-float (float -7566831660699656 1.0d0) -167) - (scale-float (float -7114412056121165 1.0d0) -221)) - (%make-qd-d (scale-float (float 5746294458442105 1.0d0) -57) - (scale-float (float 4845186982751657 1.0d0) -113) - (scale-float (float 6382779118838290 1.0d0) -167) - (scale-float (float 8090523197847278 1.0d0) -221)) - (%make-qd-d (scale-float (float 6188054973828419 1.0d0) -57) - (scale-float (float 7360584602593505 1.0d0) -111) - (scale-float (float 7946504576809704 1.0d0) -165) - (scale-float (float 5731224328660037 1.0d0) -219)) - (%make-qd-d (scale-float (float 6629757244884614 1.0d0) -57) - (scale-float (float -5806448969106076 1.0d0) -112) - (scale-float (float 7037190739826080 1.0d0) -166) - (scale-float (float 5552037724818900 1.0d0) -223)) - (%make-qd-d (scale-float (float 7071397114140692 1.0d0) -57) - (scale-float (float -7057477599664784 1.0d0) -113) - (scale-float (float -8290828586102809 1.0d0) -167) - (scale-float (float -6697971486035361 1.0d0) -222)) - (%make-qd-d (scale-float (float 7512970424714007 1.0d0) -57) - (scale-float (float -6294023145184360 1.0d0) -111) - (scale-float (float -6395720725273163 1.0d0) -165) - (scale-float (float -7071774105018818 1.0d0) -219)) - (%make-qd-d (scale-float (float 7954473020348387 1.0d0) -57) - (scale-float (float -6926679705961747 1.0d0) -112) - (scale-float (float -6427721451859560 1.0d0) -167) - (scale-float (float 8028310015339695 1.0d0) -222)) - (%make-qd-d (scale-float (float 8395900745453257 1.0d0) -57) - (scale-float (float 4839201044457661 1.0d0) -114) - (scale-float (float 5799570435052711 1.0d0) -171) - (scale-float (float -5529353034270453 1.0d0) -226)) - (%make-qd-d (scale-float (float 8837249445142752 1.0d0) -57) - (scale-float (float -5314952832401406 1.0d0) -113) - (scale-float (float -7992910057771694 1.0d0) -167) - (scale-float (float 8886165424019995 1.0d0) -221)) - (%make-qd-d (scale-float (float 4639257482637412 1.0d0) -56) - (scale-float (float -5494228531443205 1.0d0) -110) - (scale-float (float 6222043711193090 1.0d0) -167) - (scale-float (float 4966112393074763 1.0d0) -221)) - (%make-qd-d (scale-float (float 4859846576245171 1.0d0) -56) - (scale-float (float -8985502920124077 1.0d0) -110) - (scale-float (float 7440463379940699 1.0d0) -165) - (scale-float (float -6641325637598524 1.0d0) -219)) - (%make-qd-d (scale-float (float 5080389927126093 1.0d0) -56) - (scale-float (float -8898661047761268 1.0d0) -110) - (scale-float (float -4667727006484474 1.0d0) -164) - (scale-float (float 8478536563323652 1.0d0) -218)) - (%make-qd-d (scale-float (float 5300885459442166 1.0d0) -56) - (scale-float (float -7213383224879916 1.0d0) -111) - (scale-float (float -8534269322822802 1.0d0) -166) - (scale-float (float -6601733372219099 1.0d0) -221)) - (%make-qd-d (scale-float (float 5521331097805465 1.0d0) -56) - (scale-float (float 4829604598179156 1.0d0) -114) - (scale-float (float -7893599535446481 1.0d0) -172) - (scale-float (float -5384211130874634 1.0d0) -226)) - (%make-qd-d (scale-float (float 5741724767297686 1.0d0) -56) - (scale-float (float -5824155811343436 1.0d0) -110) - (scale-float (float 6673985610265747 1.0d0) -164) - (scale-float (float 4800782739249759 1.0d0) -220)) - (%make-qd-d (scale-float (float 5962064393489674 1.0d0) -56) - (scale-float (float 7651360099479755 1.0d0) -112) - (scale-float (float 6974817744235260 1.0d0) -167) - (scale-float (float 7824970858345265 1.0d0) -224)) - (%make-qd-d (scale-float (float 6182347902460953 1.0d0) -56) - (scale-float (float -8796242544913562 1.0d0) -111) - (scale-float (float -7546272905440146 1.0d0) -165) - (scale-float (float 6512061516709508 1.0d0) -219)) - (%make-qd-d (scale-float (float 6402573220819241 1.0d0) -56) - (scale-float (float -4868008820827392 1.0d0) -110) - (scale-float (float 8779206749884591 1.0d0) -164) - (scale-float (float -8648470131210884 1.0d0) -218)) - (%make-qd-d (scale-float (float 6622738275719969 1.0d0) -56) - (scale-float (float 6182934508221337 1.0d0) -110) - (scale-float (float 7353282250945404 1.0d0) -165) - (scale-float (float -8166192353391047 1.0d0) -220)) - (%make-qd-d (scale-float (float 6842840994885793 1.0d0) -56) - (scale-float (float -8552477024466766 1.0d0) -110) - (scale-float (float -4997427595980002 1.0d0) -164) - (scale-float (float 5821398332046138 1.0d0) -218)) - (%make-qd-d (scale-float (float 7062879306626092 1.0d0) -56) - (scale-float (float -8487236864497288 1.0d0) -112) - (scale-float (float -4942162982072151 1.0d0) -168) - (scale-float (float -4811145377091453 1.0d0) -223)) - (%make-qd-d (scale-float (float 7282851139856476 1.0d0) -56) - (scale-float (float 8609951212389606 1.0d0) -111) - (scale-float (float -5614142183842944 1.0d0) -165) - (scale-float (float 6068416796043208 1.0d0) -219)) - (%make-qd-d (scale-float (float 7502754424118275 1.0d0) -56) - (scale-float (float 8536169017599928 1.0d0) -110) - (scale-float (float 7981550951145323 1.0d0) -165) - (scale-float (float -8340622458345952 1.0d0) -220)) - (%make-qd-d (scale-float (float 7722587089598028 1.0d0) -56) - (scale-float (float 8362719068102409 1.0d0) -110) - (scale-float (float -7853008551658302 1.0d0) -166) - (scale-float (float -6852498985157079 1.0d0) -220)) - (%make-qd-d (scale-float (float 7942347067146965 1.0d0) -56) - (scale-float (float -5897359216343841 1.0d0) -113) - (scale-float (float 7767443765766550 1.0d0) -169) - (scale-float (float 8203371449514667 1.0d0) -225)) - (%make-qd-d (scale-float (float 8162032288300481 1.0d0) -56) - (scale-float (float 7035687121204020 1.0d0) -111) - (scale-float (float 5733124558862890 1.0d0) -168) - (scale-float (float 6681272325774503 1.0d0) -223)) - (%make-qd-d (scale-float (float 8381640685297609 1.0d0) -56) - (scale-float (float 5345425417737710 1.0d0) -112) - (scale-float (float -8790124191829010 1.0d0) -166) - (scale-float (float 7297964455931531 1.0d0) -225)) - (%make-qd-d (scale-float (float 8601170191100479 1.0d0) -56) - (scale-float (float -5127404751534987 1.0d0) -110) - (scale-float (float 8258618371098839 1.0d0) -164) - (scale-float (float 6354475203379338 1.0d0) -221)) - (%make-qd-d (scale-float (float 8820618739413774 1.0d0) -56) - (scale-float (float 7361249450583405 1.0d0) -111) - (scale-float (float 8489175872343797 1.0d0) -165) - (scale-float (float -4838736209868180 1.0d0) -220)) - (%make-qd-d (scale-float (float 4519992132352091 1.0d0) -55) - (scale-float (float 6319901705801489 1.0d0) -110) - (scale-float (float 5600764727998866 1.0d0) -166) - (scale-float (float -5650573825026412 1.0d0) -220)) - (%make-qd-d (scale-float (float 4629632351109917 1.0d0) -55) - (scale-float (float 4958462282897610 1.0d0) -110) - (scale-float (float -8711719640720475 1.0d0) -165) - (scale-float (float -8191834096705166 1.0d0) -221)) - (%make-qd-d (scale-float (float 4739228994004870 1.0d0) -55) - (scale-float (float -6495525500297301 1.0d0) -110) - (scale-float (float -6071898187587615 1.0d0) -165) - (scale-float (float -7897922259441451 1.0d0) -220)) - (%make-qd-d (scale-float (float 4848781029471607 1.0d0) -55) - (scale-float (float -5949746474335482 1.0d0) -109) - (scale-float (float 7443833788929433 1.0d0) -165) - (scale-float (float 6779921506403360 1.0d0) -220)) - (%make-qd-d (scale-float (float 4958287426364647 1.0d0) -55) - (scale-float (float 8600164307618932 1.0d0) -110) - (scale-float (float -5552907197025195 1.0d0) -164) - (scale-float (float -6315628760329704 1.0d0) -222)) - (%make-qd-d (scale-float (float 5067747153968079 1.0d0) -55) - (scale-float (float -5139980116898898 1.0d0) -109) - (scale-float (float 7128908501078503 1.0d0) -163) - (scale-float (float 5174334784143035 1.0d0) -217)) - (%make-qd-d (scale-float (float 5177159182005257 1.0d0) -55) - (scale-float (float 7446222959753664 1.0d0) -109) - (scale-float (float -4853116546479197 1.0d0) -166) - (scale-float (float -7114171320789543 1.0d0) -220)) - (%make-qd-d (scale-float (float 5286522480648506 1.0d0) -55) - (scale-float (float 4837853990883808 1.0d0) -110) - (scale-float (float 8734494569006220 1.0d0) -164) - (scale-float (float -6888573428631769 1.0d0) -220)) - (%make-qd-d (scale-float (float 5395836020528807 1.0d0) -55) - (scale-float (float 5245006079192873 1.0d0) -109) - (scale-float (float 6070092190452118 1.0d0) -165) - (scale-float (float 8372804672547503 1.0d0) -219)) - (%make-qd-d (scale-float (float 5505098772745492 1.0d0) -55) - (scale-float (float -4953034127800088 1.0d0) -109) - (scale-float (float 6748009167290918 1.0d0) -163) - (scale-float (float -7947104079128991 1.0d0) -217)) - (%make-qd-d (scale-float (float 5614309708875923 1.0d0) -55) - (scale-float (float 7879649848150358 1.0d0) -111) - (scale-float (float -5133702133285397 1.0d0) -165) - (scale-float (float 6633380945160774 1.0d0) -219)) - (%make-qd-d (scale-float (float 5723467800985178 1.0d0) -55) - (scale-float (float -5213481504208817 1.0d0) -110) - (scale-float (float -8683946243665639 1.0d0) -166) - (scale-float (float -4813600752545885 1.0d0) -220)) - (%make-qd-d (scale-float (float 5832572021635720 1.0d0) -55) - (scale-float (float 7691426989666512 1.0d0) -109) - (scale-float (float -5897567218587937 1.0d0) -163) - (scale-float (float 6426162084210735 1.0d0) -217)) - (%make-qd-d (scale-float (float 5941621343897074 1.0d0) -55) - (scale-float (float -7311303147276965 1.0d0) -113) - (scale-float (float 6212875260931578 1.0d0) -167) - (scale-float (float 5841094814764128 1.0d0) -222)) - (%make-qd-d (scale-float (float 6050614741355486 1.0d0) -55) - (scale-float (float 7046535347736856 1.0d0) -110) - (scale-float (float -7778307984467600 1.0d0) -164) - (scale-float (float -7808429293088315 1.0d0) -218)) - (%make-qd-d (scale-float (float 6159551188123590 1.0d0) -55) - (scale-float (float 5965947804179142 1.0d0) -109) - (scale-float (float -7914176807889465 1.0d0) -163) - (scale-float (float -8743204545259556 1.0d0) -219)) - (%make-qd-d (scale-float (float 6268429658850061 1.0d0) -55) - (scale-float (float 7548560474328400 1.0d0) -110) - (scale-float (float -7834123143654772 1.0d0) -165) - (scale-float (float -5643244224302487 1.0d0) -219)) - (%make-qd-d (scale-float (float 6377249128729266 1.0d0) -55) - (scale-float (float 8739842904414420 1.0d0) -110) - (scale-float (float 6557520883328920 1.0d0) -164) - (scale-float (float 6198578405040918 1.0d0) -220)) - (%make-qd-d (scale-float (float 6486008573510911 1.0d0) -55) - (scale-float (float 5172944262567044 1.0d0) -109) - (scale-float (float -8273960648700810 1.0d0) -163) - (scale-float (float 8265967084369073 1.0d0) -218))
[5397 lines skipped] --- /project/oct/cvsroot/oct/qd-extra.lisp 2007/08/25 17:08:48 1.2 +++ /project/oct/cvsroot/oct/qd-extra.lisp 2007/10/11 17:47:08 1.3 @@ -477,6 +477,416 @@ (cl:* s y)))) ||#
+#|| +;; Here is a function for clisp that can be used to create the atan2 table +;; that we need. + +(defun make-atan-table-data () + (let ((scale 1l0)) + (dotimes (k 67) + (let* ((x (scale-float 1L0 (- 2 k))) + (p (atan x))) + (setf scale (* scale (cos p))) + (multiple-value-bind (int exp sign) + (integer-decode-float p) + (let* ((len (integer-length int)) + (wanted (ldb (byte 212 (- len 212)) int)) + (bit (ldb (byte 1 (- len (* 4 53) 1)) int)) + (roundp (not (zerop (ldb (byte (- len (* 4 53) 2) 0) int))))) + ;;(format t "~&~v,'0b~%" len int) + ;;(format t "~b~a~%" wanted (make-string (- len 212) :initial-element #-)) + ;;(format t "~v,'-b~%" len (ash bit (- len 212 1))) + ;;(format t "~v,'-b~%" len (ldb (byte (- len (* 4 53) 2) 0) int)) + ;; See if we need to round up the answer. + (when (= bit 1) + ;; Round to even + (cond (roundp + (incf wanted)) + (t + ;; Round to even + (when (oddp wanted) + (incf wanted))))) + ;;(format t "~b~a~%" wanted (make-string (- len 212) :initial-element #-)) + + (let* ((i0 (ldb (byte 53 (* 3 53)) wanted)) + (i1 (ldb (byte 53 (* 2 53)) wanted)) + (i2 (ldb (byte 53 (* 1 53)) wanted)) + (i3 (ldb (byte 53 0) wanted))) + (write `(make-qd-d + (scale-float (float ,i0 1d0) ,(+ exp (- len (* 1 53)))) + (scale-float (float ,i1 1d0) ,(+ exp (- len (* 2 53)))) + (scale-float (float ,i2 1d0) ,(+ exp (- len (* 3 53)))) + (scale-float (float ,i3 1d0) ,(+ exp (- len (* 4 53))))) + :case :downcase)))))) + scale)) +||# + + +#+nil +(defconstant +atan-table+ + (make-array 66 + :initial-contents + (list + +qd-pi/4+ + +qd-pi/4+ + +qd-pi/4+ + ;; Do we need to make these values more accurate? (The + ;; reader has quite a bit of roundoff.) + #.(qd-from-string "0.46364760900080611621425623146121440202853705428612026381093308872018q0") + #.(qd-from-string "0.24497866312686415417208248121127581091414409838118406712737591466738q0") + #.(qd-from-string "0.12435499454676143503135484916387102557317019176980408991511411911572q0") + #.(qd-from-string "0.062418809995957348473979112985505113606273887797499194607527816898697q0") + #.(qd-from-string "0.031239833430268276253711744892490977032495663725400040255315586255793q0") + #.(qd-from-string "0.0156237286204768308028015212565703189111141398009054178814105073966645q0") + #.(qd-from-string "0.0078123410601011112964633918421992816212228117250147235574539022483893q0") + #.(qd-from-string "0.003906230131966971827628665311424387140357490115202856215213095149011q0") + #.(qd-from-string "0.00195312251647881868512148262507671393161074677723351033905753396043094q0") + #.(qd-from-string "9.7656218955931943040343019971729085163419701581008759004900725226773q-4") + #.(qd-from-string "4.8828121119489827546923962564484866619236113313500303710940335348752q-4") + #.(qd-from-string "2.4414062014936176401672294325965998621241779097061761180790046091019q-4") + #.(qd-from-string "1.22070311893670204239058646117956300930829409015787498451939837846645q-4") + #.(qd-from-string "6.1035156174208775021662569173829153785143536833346179337671134316588q-5") + #.(qd-from-string "3.0517578115526096861825953438536019750949675119437837531021156883611q-5") + #.(qd-from-string "1.5258789061315762107231935812697885137429238144575874846241186407446q-5") + #.(qd-from-string "7.6293945311019702633884823401050905863507439184680771577638306965336q-6") + #.(qd-from-string "3.8146972656064962829230756163729937228052573039688663101874392503939q-6") + #.(qd-from-string "1.9073486328101870353653693059172441687143421654501533666700577234671q-6") + #.(qd-from-string "9.53674316405960879420670689923112390019634124498790160133611802076q-7") + #.(qd-from-string "4.7683715820308885992758382144924707587049404378664196740053215887142q-7") + #.(qd-from-string "2.3841857910155798249094797721893269783096898769063155913766911372218q-7") + #.(qd-from-string "1.19209289550780685311368497137922112645967587664586735576738225215437q-7") + #.(qd-from-string "5.9604644775390554413921062141788874250030195782366297314294565710003q-8") + #.(qd-from-string "2.9802322387695303676740132767709503349043907067445107249258477840843q-8") + #.(qd-from-string "1.4901161193847655147092516595963247108248930025964720012170057805491q-8") + #.(qd-from-string "7.4505805969238279871365645744953921132066925545665870075947601416172q-9") + #.(qd-from-string "3.725290298461914045267070571811923583671948328737040524231998269239q-9") + #.(qd-from-string "1.8626451492309570290958838214764904345065282835738863513491050124951q-9") + #.(qd-from-string "9.3132257461547851535573547768456130389292649614929067394376854242196q-10") + #.(qd-from-string "4.6566128730773925777884193471057016297347863891561617421323492554414q-10") + #.(qd-from-string "2.32830643653869628902042741838821270371274293204981860525486662280605q-10") + #.(qd-from-string "1.16415321826934814452599092729852658796396457380014290026584979170883q-10") + #.(qd-from-string "5.8207660913467407226496761591231582349549156257795272423976206167147q-11") + #.(qd-from-string "2.9103830456733703613273032698903947793693632003639830495829934525029q-11") + #.(qd-from-string "1.4551915228366851806639597837362993474211703608936710732067270213307q-11") + #.(qd-from-string "7.2759576141834259033201841046703741842764629388821429640111752890838q-12") + #.(qd-from-string "3.6379788070917129516601402005837967730345578669779258118296083646486q-12") + #.(qd-from-string "1.81898940354585647583007611882297459662931973336029253714520765350336q-12") + #.(qd-from-string "9.094947017729282379150388117278718245786649666696631862264792881855q-13") + #.(qd-from-string "4.5474735088646411895751949990348397807233312083369623012466392138249q-13") + #.(qd-from-string "2.2737367544323205947875976170668549725904164010421166413578155299654q-13") + #.(qd-from-string "1.1368683772161602973937988232271068715738020501302644662229139921281q-13") + #.(qd-from-string "5.6843418860808014869689941345026335894672525626628305471702634435609q-14") + #.(qd-from-string "2.8421709430404007434844970695472041986834065703328538172835210852389q-14") + #.(qd-from-string "1.42108547152020037174224853506058802483542582129160672712566632799217q-14") + #.(qd-from-string "7.1054273576010018587112426756616725310442822766145084088962160950957q-15") + #.(qd-from-string "3.5527136788005009293556213378756778163805352845768135511116874239215q-15") + #.(qd-from-string "1.7763568394002504646778106689434441020475669105721016938889503158663q-15") + #.(qd-from-string "8.881784197001252323389053344724227002559458638215127117361184578544q-16") + #.(qd-from-string "4.440892098500626161694526672362989312819932329776890889670147968684q-16") + #.(qd-from-string "2.22044604925031308084726333618160413285249154122211136120876849284695q-16") + #.(qd-from-string "1.11022302462515654042363166809081575098156144265276392015109606150467q-16") + #.(qd-from-string "5.5511151231257827021181583404540958606019518033159549001888700768492q-17") + #.(qd-from-string "2.7755575615628913510590791702270500685127439754144943625236087596052q-17") + #.(qd-from-string "1.3877787807814456755295395851135253015328429969268117953154510949506q-17") + #.(qd-from-string "6.9388939039072283776476979255676268417598037461585147441443138686883q-18") + #.(qd-from-string "3.4694469519536141888238489627838134626418504682698143430180392335861q-18") + #.(qd-from-string "1.7347234759768070944119244813919067365411688085337267928772549041983q-18") + #.(qd-from-string "8.673617379884035472059622406959533689231148510667158491096568630248q-19") + #.(qd-from-string "4.336808689942017736029811203479766845431237313833394811387071078781q-19") + #.(qd-from-string "2.16840434497100886801490560173988342281757653922917435142338388484765q-19") + #.(qd-from-string "1.08420217248550443400745280086994171142153300490364679392792298560597q-19") + + )) + "Table of atan(2^(-k)) for k = 1 to 64. But the first three entries are 1") + +(defconstant +atan-table+ + (make-array 67 + :initial-contents + (list + (%make-qd-d (scale-float (float 5970951936056572 1.0d0) -52) + (scale-float (float 5427585433121543 1.0d0) -105) + (scale-float (float 5608515294538868 1.0d0) -158) + (scale-float (float 445395631680583 1.0d0) -211)) + (%make-qd-d (scale-float (float 4986154552901188 1.0d0) -52) + (scale-float (float 3814906810089799 1.0d0) -105) + (scale-float (float 1896417689773139 1.0d0) -158) + (scale-float (float 3393132800284032 1.0d0) -211)) + (%make-qd-d (scale-float (float 7074237752028440 1.0d0) -53) + (scale-float (float 2483878800010755 1.0d0) -106) + (scale-float (float 3956492004828932 1.0d0) -159) + (scale-float (float 2434854662709436 1.0d0) -212)) + (%make-qd-d (scale-float (float 8352332796509007 1.0d0) -54) + (scale-float (float 3683087214424816 1.0d0) -107) + (scale-float (float 8240297260223171 1.0d0) -160) + (scale-float (float 5174086704442609 1.0d0) -213)) + (%make-qd-d (scale-float (float 8826286527774941 1.0d0) -55) + (scale-float (float 3471944699336670 1.0d0) -108) + (scale-float (float 4798212191802497 1.0d0) -161) + (scale-float (float 6908472993489831 1.0d0) -214)) + (%make-qd-d (scale-float (float 8960721713639277 1.0d0) -56) + (scale-float (float 6978747913895162 1.0d0) -109) + (scale-float (float 1204496828771308 1.0d0) -162) + (scale-float (float 6150314016033077 1.0d0) -215)) + (%make-qd-d (scale-float (float 8995498542038505 1.0d0) -57) + (scale-float (float 6996384121843768 1.0d0) -110) + (scale-float (float 6481245652257127 1.0d0) -163) + (scale-float (float 6083920726820778 1.0d0) -216)) + (%make-qd-d (scale-float (float 9004268940523044 1.0d0) -58) + (scale-float (float 5921825575778154 1.0d0) -111) + (scale-float (float 1742767809528138 1.0d0) -164) + (scale-float (float 3392785816514584 1.0d0) -217)) + (%make-qd-d (scale-float (float 9006466354344602 1.0d0) -59) + (scale-float (float 6455912199422039 1.0d0) -112) + (scale-float (float 7793493312778976 1.0d0) -165) + (scale-float (float 4748718880757240 1.0d0) -218)) + (%make-qd-d (scale-float (float 9007016009513623 1.0d0) -60) + (scale-float (float 1583402193514233 1.0d0) -113) + (scale-float (float 4599960241393675 1.0d0) -166) + (scale-float (float 4964226307734805 1.0d0) -219)) + (%make-qd-d (scale-float (float 9007153442175927 1.0d0) -61) + (scale-float (float 1458797116501429 1.0d0) -114) + (scale-float (float 2180379843517813 1.0d0) -167) + (scale-float (float 7244224576758923 1.0d0) -220)) + (%make-qd-d (scale-float (float 9007187801521083 1.0d0) -62) + (scale-float (float 5961909987006481 1.0d0) -115) + (scale-float (float 1439161705865198 1.0d0) -168) + (scale-float (float 1250151122136839 1.0d0) -221)) + (%make-qd-d (scale-float (float 9007196391431099 1.0d0) -63) + (scale-float (float 6595226783193595 1.0d0) -116) + (scale-float (float 7270788700276565 1.0d0) -169) + (scale-float (float 5212528258452836 1.0d0) -222)) + (%make-qd-d (scale-float (float 9007198538913211 1.0d0) -64) + (scale-float (float 6605122380416172 1.0d0) -117) + (scale-float (float 2579496809882929 1.0d0) -170) + (scale-float (float 2545695100421145 1.0d0) -223)) + (%make-qd-d (scale-float (float 9007199075784027 1.0d0) -65) + (scale-float (float 6605276999209814 1.0d0) -118) + (scale-float (float 8635423593413256 1.0d0) -171) + (scale-float (float 6747877897971029 1.0d0) -224)) + (%make-qd-d (scale-float (float 9007199210001749 1.0d0) -66) + (scale-float (float 6605279415128805 1.0d0) -119) + (scale-float (float 5633073770825222 1.0d0) -172) + (scale-float (float 744251135568860 1.0d0) -225)) + (%make-qd-d (scale-float (float 9007199243556181 1.0d0) -67) + (scale-float (float 3227579732349669 1.0d0) -120) + (scale-float (float 1645511649516378 1.0d0) -173) + (scale-float (float 7212311609477561 1.0d0) -226)) + (%make-qd-d (scale-float (float 9007199251944789 1.0d0) -68) + (scale-float (float 3016473500406501 1.0d0) -121) + (scale-float (float 1629935234837168 1.0d0) -174) + (scale-float (float 1206159191623029 1.0d0) -227)) + (%make-qd-d (scale-float (float 9007199254041941 1.0d0) -69) + (scale-float (float 3003279360882405 1.0d0) -122) + (scale-float (float 1629874389467187 1.0d0) -175) + (scale-float (float 8712158240272416 1.0d0) -228)) + (%make-qd-d (scale-float (float 9007199254566229 1.0d0) -70) + (scale-float (float 3002454727161717 1.0d0) -123) + (scale-float (float 1629874151789961 1.0d0) -176) + (scale-float (float 3116377062563786 1.0d0) -229)) + (%make-qd-d (scale-float (float 9007199254697301 1.0d0) -71) + (scale-float (float 3002403187554167 1.0d0) -124) + (scale-float (float 3881673964546782 1.0d0) -177) + (scale-float (float 6119176246102625 1.0d0) -230)) + (%make-qd-d (scale-float (float 9007199254730069 1.0d0) -72) + (scale-float (float 3002399966328695 1.0d0) -125) + (scale-float (float 4198333313342644 1.0d0) -178) + (scale-float (float 114377133012236 1.0d0) -231)) + (%make-qd-d (scale-float (float 9007199254738261 1.0d0) -73) + (scale-float (float 3002399765002103 1.0d0) -126) + (scale-float (float 4203281115667621 1.0d0) -179) + (scale-float (float 7620376512343991 1.0d0) -232)) + (%make-qd-d (scale-float (float 9007199254740309 1.0d0) -74) + (scale-float (float 3002399752419191 1.0d0) -127) + (scale-float (float 4203358425078949 1.0d0) -180) + (scale-float (float 7121931241085909 1.0d0) -233)) + (%make-qd-d (scale-float (float 9007199254740821 1.0d0) -75) + (scale-float (float 3002399751632759 1.0d0) -128) + (scale-float (float 4203359633038501 1.0d0) -181) + (scale-float (float 7119984189245056 1.0d0) -234)) + (%make-qd-d (scale-float (float 9007199254740949 1.0d0) -76) + (scale-float (float 3002399751583607 1.0d0) -129) + (scale-float (float 4203359651912869 1.0d0) -182) + (scale-float (float 7119976583573803 1.0d0) -235)) + (%make-qd-d (scale-float (float 9007199254740981 1.0d0) -77) + (scale-float (float 3002399751580535 1.0d0) -130) + (scale-float (float 4203359652207781 1.0d0) -183) + (scale-float (float 7119976553864150 1.0d0) -236)) + (%make-qd-d (scale-float (float 9007199254740989 1.0d0) -78) + (scale-float (float 3002399751580343 1.0d0) -131) + (scale-float (float 4203359652212389 1.0d0) -184) + (scale-float (float 7119976553748096 1.0d0) -237)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -79) + (scale-float (float 3002399751580331 1.0d0) -132) + (scale-float (float 4203359652212461 1.0d0) -185) + (scale-float (float 7119976553747643 1.0d0) -238)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -80) + (scale-float (float 7505999378950826 1.0d0) -133) + (scale-float (float 6455159465897710 1.0d0) -186) + (scale-float (float 8245876460590265 1.0d0) -239)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -81) + (scale-float (float 8631899285793450 1.0d0) -134) + (scale-float (float 6032947000831726 1.0d0) -187) + (scale-float (float 8404206134990009 1.0d0) -240)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -82) + (scale-float (float 8913374262504106 1.0d0) -135) + (scale-float (float 6006558721765102 1.0d0) -188) + (scale-float (float 8406680036152505 1.0d0) -241)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -83) + (scale-float (float 8983743006681770 1.0d0) -136) + (scale-float (float 6004909454323438 1.0d0) -189) + (scale-float (float 8406718690858169 1.0d0) -242)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -84) + (scale-float (float 9001335192726186 1.0d0) -137) + (scale-float (float 6004806375108334 1.0d0) -190) + (scale-float (float 8406719294837945 1.0d0) -243)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -85) + (scale-float (float 9005733239237290 1.0d0) -138) + (scale-float (float 6004799932657390 1.0d0) -191) + (scale-float (float 8406719304275129 1.0d0) -244)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -86) + (scale-float (float 9006832750865066 1.0d0) -139) + (scale-float (float 6004799530004206 1.0d0) -192) + (scale-float (float 8406719304422585 1.0d0) -245)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -87) + (scale-float (float 9007107628772010 1.0d0) -140) + (scale-float (float 6004799504838382 1.0d0) -193) + (scale-float (float 8406719304424889 1.0d0) -246)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -88) + (scale-float (float 9007176348248746 1.0d0) -141) + (scale-float (float 6004799503265518 1.0d0) -194) + (scale-float (float 8406719304424925 1.0d0) -247)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -89) + (scale-float (float 9007193528117930 1.0d0) -142) + (scale-float (float 6004799503167214 1.0d0) -195) + (scale-float (float 8406719304424926 1.0d0) -248)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -90) + (scale-float (float 9007197823085226 1.0d0) -143) + (scale-float (float 6004799503161070 1.0d0) -196) + (scale-float (float 8406719304424926 1.0d0) -249)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -91) + (scale-float (float 9007198896827050 1.0d0) -144) + (scale-float (float 6004799503160686 1.0d0) -197) + (scale-float (float 8406719304424926 1.0d0) -250)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -92) + (scale-float (float 9007199165262506 1.0d0) -145) + (scale-float (float 6004799503160662 1.0d0) -198) + (scale-float (float 8406719304424926 1.0d0) -251)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -93) + (scale-float (float 9007199232371370 1.0d0) -146) + (scale-float (float 6004799503160661 1.0d0) -199) + (scale-float (float 3903119677054430 1.0d0) -252)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -94) + (scale-float (float 9007199249148586 1.0d0) -147) + (scale-float (float 6004799503160661 1.0d0) -200) + (scale-float (float 3058694746922462 1.0d0) -253)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -95) + (scale-float (float 9007199253342890 1.0d0) -148) + (scale-float (float 6004799503160661 1.0d0) -201) + (scale-float (float 3005918188789214 1.0d0) -254)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -96) + (scale-float (float 9007199254391466 1.0d0) -149) + (scale-float (float 6004799503160661 1.0d0) -202) + (scale-float (float 3002619653905886 1.0d0) -255)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -97) + (scale-float (float 9007199254653610 1.0d0) -150) + (scale-float (float 6004799503160661 1.0d0) -203) + (scale-float (float 3002413495475678 1.0d0) -256)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -98) + (scale-float (float 9007199254719146 1.0d0) -151) + (scale-float (float 6004799503160661 1.0d0) -204) + (scale-float (float 3002400610573790 1.0d0) -257)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -99) + (scale-float (float 9007199254735530 1.0d0) -152) + (scale-float (float 6004799503160661 1.0d0) -205) + (scale-float (float 3002399805267422 1.0d0) -258)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -100) + (scale-float (float 9007199254739626 1.0d0) -153) + (scale-float (float 6004799503160661 1.0d0) -206) + (scale-float (float 3002399754935774 1.0d0) -259)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -101) + (scale-float (float 9007199254740650 1.0d0) -154) + (scale-float (float 6004799503160661 1.0d0) -207) + (scale-float (float 3002399751790046 1.0d0) -260)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -102) + (scale-float (float 9007199254740906 1.0d0) -155) + (scale-float (float 6004799503160661 1.0d0) -208) + (scale-float (float 3002399751593438 1.0d0) -261)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -103) + (scale-float (float 9007199254740970 1.0d0) -156) + (scale-float (float 6004799503160661 1.0d0) -209) + (scale-float (float 3002399751581150 1.0d0) -262)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -104) + (scale-float (float 9007199254740986 1.0d0) -157) + (scale-float (float 6004799503160661 1.0d0) -210) + (scale-float (float 3002399751580382 1.0d0) -263)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -105) + (scale-float (float 9007199254740990 1.0d0) -158) + (scale-float (float 6004799503160661 1.0d0) -211) + (scale-float (float 3002399751580334 1.0d0) -264)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -106) + (scale-float (float 9007199254740991 1.0d0) -159) + (scale-float (float 6004799503160661 1.0d0) -212) + (scale-float (float 3002399751580331 1.0d0) -265)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -107) + (scale-float (float 9007199254740991 1.0d0) -160) + (scale-float (float 8256599316845909 1.0d0) -213) + (scale-float (float 3002399751580331 1.0d0) -266)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -108) + (scale-float (float 9007199254740991 1.0d0) -161) + (scale-float (float 8819549270267221 1.0d0) -214) + (scale-float (float 3002399751580331 1.0d0) -267)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -109) + (scale-float (float 9007199254740991 1.0d0) -162) + (scale-float (float 8960286758622549 1.0d0) -215) + (scale-float (float 3002399751580331 1.0d0) -268)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -110) + (scale-float (float 9007199254740991 1.0d0) -163) + (scale-float (float 8995471130711381 1.0d0) -216) + (scale-float (float 3002399751580331 1.0d0) -269)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -111) + (scale-float (float 9007199254740991 1.0d0) -164) + (scale-float (float 9004267223733589 1.0d0) -217) + (scale-float (float 3002399751580331 1.0d0) -270)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -112) + (scale-float (float 9007199254740991 1.0d0) -165) + (scale-float (float 9006466246989141 1.0d0) -218) + (scale-float (float 3002399751580331 1.0d0) -271)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -113) + (scale-float (float 9007199254740991 1.0d0) -166) + (scale-float (float 9007016002803029 1.0d0) -219) + (scale-float (float 3002399751580331 1.0d0) -272)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -114) + (scale-float (float 9007199254740991 1.0d0) -167) + (scale-float (float 9007153441756501 1.0d0) -220) + (scale-float (float 3002399751580331 1.0d0) -273)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -115) + (scale-float (float 9007199254740991 1.0d0) -168) + (scale-float (float 9007187801494869 1.0d0) -221) + (scale-float (float 3002399751580331 1.0d0) -274)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -116) + (scale-float (float 9007199254740991 1.0d0) -169) + (scale-float (float 9007196391429461 1.0d0) -222) + (scale-float (float 3002399751580331 1.0d0) -275)) + (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -117) + (scale-float (float 9007199254740991 1.0d0) -170) + (scale-float (float 9007198538913109 1.0d0) -223) + (scale-float (float 3002399751580331 1.0d0) -276))
[35 lines skipped]