summaryrefslogtreecommitdiff
path: root/lisp/float.elc
blob: 8f2e82dd36beb4b611e2be8cb47f6de24c519b30 (plain)
ofshex dumpascii
0000 0a 28 70 72 6f 76 69 64 65 20 28 71 75 6f 74 65 20 66 6c 6f 61 74 29 29 0a 0a 28 64 65 66 63 6f .(provide.(quote.float))..(defco
0020 6e 73 74 20 65 78 70 2d 62 61 73 65 20 32 20 22 5c 0a 42 61 73 65 20 6f 66 20 65 78 70 6f 6e 65 nst.exp-base.2."\.Base.of.expone
0040 6e 74 20 69 6e 20 74 68 69 73 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 72 65 70 72 65 73 nt.in.this.floating.point.repres
0060 65 6e 74 61 74 69 6f 6e 2e 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 6d 61 6e 74 69 73 73 61 2d entation.")..(defconst.mantissa-
0080 62 69 74 73 20 32 34 20 22 5c 0a 4e 75 6d 62 65 72 20 6f 66 20 73 69 67 6e 69 66 69 63 61 6e 74 bits.24."\.Number.of.significant
00a0 20 62 69 74 73 20 69 6e 20 74 68 69 73 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 72 65 70 .bits.in.this.floating.point.rep
00c0 72 65 73 65 6e 74 61 74 69 6f 6e 2e 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 64 65 63 69 6d 61 resentation.")..(defconst.decima
00e0 6c 2d 64 69 67 69 74 73 20 36 20 22 5c 0a 4e 75 6d 62 65 72 20 6f 66 20 64 65 63 69 6d 61 6c 20 l-digits.6."\.Number.of.decimal.
0100 64 69 67 69 74 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 61 63 63 75 72 61 74 65 2e 22 digits.expected.to.be.accurate."
0120 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 65 78 70 74 2d 64 69 67 69 74 73 20 32 20 22 5c 0a 4d 61 )..(defconst.expt-digits.2."\.Ma
0140 78 69 6d 75 6d 20 70 65 72 6d 69 74 74 65 64 20 64 69 67 69 74 73 20 69 6e 20 61 20 73 63 69 65 ximum.permitted.digits.in.a.scie
0160 6e 74 69 66 69 63 20 6e 6f 74 61 74 69 6f 6e 20 65 78 70 6f 6e 65 6e 74 2e 22 29 0a 0a 28 64 65 ntific.notation.exponent.")..(de
0180 66 63 6f 6e 73 74 20 6d 61 78 62 69 74 20 28 31 2d 20 6d 61 6e 74 69 73 73 61 2d 62 69 74 73 29 fconst.maxbit.(1-.mantissa-bits)
01a0 20 22 5c 0a 4e 75 6d 62 65 72 20 6f 66 20 68 69 67 68 65 73 74 20 62 69 74 22 29 0a 0a 28 64 65 ."\.Number.of.highest.bit")..(de
01c0 66 63 6f 6e 73 74 20 6d 61 6e 74 69 73 73 61 2d 6d 61 78 76 61 6c 20 28 31 2d 20 28 61 73 68 20 fconst.mantissa-maxval.(1-.(ash.
01e0 31 20 6d 61 78 62 69 74 29 29 20 22 5c 0a 4d 61 78 69 6d 75 6d 20 70 65 72 6d 69 73 73 61 62 6c 1.maxbit))."\.Maximum.permissabl
0200 65 20 76 61 6c 75 65 20 6f 66 20 6d 61 6e 74 69 73 73 61 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 e.value.of.mantissa")..(defconst
0220 20 6d 61 6e 74 69 73 73 61 2d 6d 69 6e 76 61 6c 20 28 31 2d 20 28 61 73 68 20 31 20 6d 61 78 62 .mantissa-minval.(1-.(ash.1.maxb
0240 69 74 29 29 20 22 5c 0a 4d 69 6e 69 6d 75 6d 20 70 65 72 6d 69 73 73 61 62 6c 65 20 76 61 6c 75 it))."\.Minimum.permissable.valu
0260 65 20 6f 66 20 6d 61 6e 74 69 73 73 61 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 6d 61 6e 74 69 e.of.mantissa")..(defconst.manti
0280 73 73 61 2d 68 61 6c 66 2d 6d 69 6e 76 61 6c 20 28 61 73 68 20 28 61 73 68 20 31 20 6d 61 78 62 ssa-half-minval.(ash.(ash.1.maxb
02a0 69 74 29 20 2d 31 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 it).-1))..(defconst.floating-poi
02c0 6e 74 2d 72 65 67 65 78 70 20 22 5e 5b 20 09 5d 2a 5c 5c 28 2d 3f 5c 5c 29 5c 5c 28 5b 30 2d 39 nt-regexp."^[..]*\\(-?\\)\\([0-9
02e0 5d 2a 5c 5c 29 5c 5c 28 5c 5c 2e 5c 5c 28 5b 30 2d 39 5d 2a 5c 5c 29 5c 5c 7c 5c 5c 29 5c 5c 28 ]*\\)\\(\\.\\([0-9]*\\)\\|\\)\\(
0300 5c 5c 28 5c 5c 28 5b 45 65 5d 5c 5c 29 5c 5c 28 2d 3f 5c 5c 29 5c 5c 28 5b 30 2d 39 5d 5b 30 2d \\(\\([Ee]\\)\\(-?\\)\\([0-9][0-
0320 39 5d 2a 5c 5c 29 5c 5c 29 5c 5c 7c 5c 5c 29 5b 20 09 5d 2a 24 22 20 22 5c 0a 52 65 67 75 6c 61 9]*\\)\\)\\|\\)[..]*$"."\.Regula
0340 72 20 65 78 70 72 65 73 73 69 6f 6e 20 74 6f 20 6d 61 74 63 68 20 66 6c 6f 61 74 69 6e 67 20 70 r.expression.to.match.floating.p
0360 6f 69 6e 74 20 6e 75 6d 62 65 72 73 2e 20 20 45 78 74 72 61 63 74 20 6d 61 74 63 68 65 73 3a 0a oint.numbers...Extract.matches:.
0380 31 20 2d 20 6d 69 6e 75 73 20 73 69 67 6e 0a 32 20 2d 20 69 6e 74 65 67 65 72 20 70 61 72 74 0a 1.-.minus.sign.2.-.integer.part.
03a0 34 20 2d 20 66 72 61 63 74 69 6f 6e 61 6c 20 70 61 72 74 0a 38 20 2d 20 6d 69 6e 75 73 20 73 69 4.-.fractional.part.8.-.minus.si
03c0 67 6e 20 66 6f 72 20 70 6f 77 65 72 20 6f 66 20 74 65 6e 0a 39 20 2d 20 70 6f 77 65 72 20 6f 66 gn.for.power.of.ten.9.-.power.of
03e0 20 74 65 6e 0a 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 68 69 67 68 2d 62 69 74 2d 6d 61 73 6b .ten.")..(defconst.high-bit-mask
0400 20 28 61 73 68 20 31 20 6d 61 78 62 69 74 29 20 22 5c 0a 4d 61 73 6b 73 20 61 6c 6c 20 62 69 74 .(ash.1.maxbit)."\.Masks.all.bit
0420 73 20 65 78 63 65 70 74 20 74 68 65 20 68 69 67 68 2d 6f 72 64 65 72 20 28 73 69 67 6e 29 20 62 s.except.the.high-order.(sign).b
0440 69 74 2e 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 73 65 63 6f 6e 64 2d 62 69 74 2d 6d 61 73 6b it.")..(defconst.second-bit-mask
0460 20 28 61 73 68 20 31 20 28 31 2d 20 6d 61 78 62 69 74 29 29 20 22 5c 0a 4d 61 73 6b 73 20 61 6c .(ash.1.(1-.maxbit))."\.Masks.al
0480 6c 20 62 69 74 73 20 65 78 63 65 70 74 20 74 68 65 20 68 69 67 68 65 73 74 2d 6f 72 64 65 72 20 l.bits.except.the.highest-order.
04a0 6d 61 67 6e 69 74 75 64 65 20 62 69 74 22 29 0a 0a 28 73 65 74 71 20 5f 66 30 20 28 71 75 6f 74 magnitude.bit")..(setq._f0.(quot
04c0 65 20 28 30 20 2e 20 31 29 29 29 0a 0a 28 73 65 74 71 20 5f 66 31 2f 32 20 28 71 75 6f 74 65 20 e.(0...1)))..(setq._f1/2.(quote.
04e0 28 34 31 39 34 33 30 34 20 2e 20 2d 32 33 29 29 29 0a 0a 28 73 65 74 71 20 5f 66 31 20 28 71 75 (4194304...-23)))..(setq._f1.(qu
0500 6f 74 65 20 28 34 31 39 34 33 30 34 20 2e 20 2d 32 32 29 29 29 0a 0a 28 73 65 74 71 20 5f 66 31 ote.(4194304...-22)))..(setq._f1
0520 30 20 28 71 75 6f 74 65 20 28 35 32 34 32 38 38 30 20 2e 20 2d 31 39 29 29 29 0a 0a 28 73 65 74 0.(quote.(5242880...-19)))..(set
0540 71 20 70 6f 77 65 72 73 2d 6f 66 2d 31 30 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 28 31 2b 20 q.powers-of-10.(make-vector.(1+.
0560 64 65 63 69 6d 61 6c 2d 64 69 67 69 74 73 29 20 5f 66 31 29 29 0a 0a 28 61 73 65 74 20 70 6f 77 decimal-digits)._f1))..(aset.pow
0580 65 72 73 2d 6f 66 2d 31 30 20 31 20 5f 66 31 30 29 0a 0a 28 61 73 65 74 20 70 6f 77 65 72 73 2d ers-of-10.1._f10)..(aset.powers-
05a0 6f 66 2d 31 30 20 32 20 28 71 75 6f 74 65 20 28 36 35 35 33 36 30 30 20 2e 20 2d 31 36 29 29 29 of-10.2.(quote.(6553600...-16)))
05c0 0a 0a 28 61 73 65 74 20 70 6f 77 65 72 73 2d 6f 66 2d 31 30 20 33 20 28 71 75 6f 74 65 20 28 38 ..(aset.powers-of-10.3.(quote.(8
05e0 31 39 32 30 30 30 20 2e 20 2d 31 33 29 29 29 0a 0a 28 61 73 65 74 20 70 6f 77 65 72 73 2d 6f 66 192000...-13)))..(aset.powers-of
0600 2d 31 30 20 34 20 28 71 75 6f 74 65 20 28 35 31 32 30 30 30 30 20 2e 20 2d 39 29 29 29 0a 0a 28 -10.4.(quote.(5120000...-9)))..(
0620 61 73 65 74 20 70 6f 77 65 72 73 2d 6f 66 2d 31 30 20 35 20 28 71 75 6f 74 65 20 28 36 34 30 30 aset.powers-of-10.5.(quote.(6400
0640 30 30 30 20 2e 20 2d 36 29 29 29 0a 0a 28 61 73 65 74 20 70 6f 77 65 72 73 2d 6f 66 2d 31 30 20 000...-6)))..(aset.powers-of-10.
0660 36 20 28 71 75 6f 74 65 20 28 38 30 30 30 30 30 30 20 2e 20 2d 33 29 29 29 0a 0a 28 73 65 74 71 6.(quote.(8000000...-3)))..(setq
0680 20 61 6c 6c 2d 64 65 63 69 6d 61 6c 2d 64 69 67 73 2d 6d 69 6e 76 61 6c 20 28 61 72 65 66 20 70 .all-decimal-digs-minval.(aref.p
06a0 6f 77 65 72 73 2d 6f 66 2d 31 30 20 28 31 2d 20 64 65 63 69 6d 61 6c 2d 64 69 67 69 74 73 29 29 owers-of-10.(1-.decimal-digits))
06c0 20 68 69 67 68 65 73 74 2d 70 6f 77 65 72 2d 6f 66 2d 31 30 20 28 61 72 65 66 20 70 6f 77 65 72 .highest-power-of-10.(aref.power
06e0 73 2d 6f 66 2d 31 30 20 64 65 63 69 6d 61 6c 2d 64 69 67 69 74 73 29 29 0a 0a 28 64 65 66 75 6e s-of-10.decimal-digits))..(defun
0700 20 66 61 73 68 6c 20 28 66 6e 75 6d 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c1 08 40 c2 5c 22 .fashl.(fnum).(byte-code."..@.\"
0720 08 41 53 42 87 22 20 5b 66 6e 75 6d 20 61 73 68 20 31 5d 20 33 29 29 0a 0a 28 64 65 66 75 6e 20 .ASB.".[fnum.ash.1].3))..(defun.
0740 66 61 73 68 72 20 28 66 6e 75 6d 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c1 08 40 c2 5c 22 08 fashr.(fnum).(byte-code."..@.\".
0760 41 54 42 87 22 20 5b 66 6e 75 6d 20 61 73 68 20 2d 31 5d 20 33 29 29 0a 0a 28 64 65 66 75 6e 20 ATB.".[fnum.ash.-1].3))..(defun.
0780 6e 6f 72 6d 61 6c 69 7a 65 20 28 66 6e 75 6d 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 08 40 c4 normalize.(fnum).(byte-code.".@.
07a0 56 83 1d 00 c5 c6 08 40 09 5c 22 21 85 1a 00 c7 08 21 89 10 88 82 07 00 82 3a 00 08 40 c4 57 83 V......@.\"!.....!.......:..@.W.
07c0 37 00 08 40 0a 56 85 34 00 c7 08 21 89 10 88 82 24 00 82 3a 00 0b 89 10 88 08 87 22 20 5b 66 6e 7..@.V.4...!....$..:.......".[fn
07e0 75 6d 20 73 65 63 6f 6e 64 2d 62 69 74 2d 6d 61 73 6b 20 6d 61 6e 74 69 73 73 61 2d 68 61 6c 66 um.second-bit-mask.mantissa-half
0800 2d 6d 69 6e 76 61 6c 20 5f 66 30 20 30 20 7a 65 72 6f 70 20 6c 6f 67 61 6e 64 20 66 61 73 68 6c -minval._f0.0.zerop.logand.fashl
0820 5d 20 37 29 29 0a 0a 28 64 65 66 75 6e 20 61 62 73 20 28 6e 29 20 28 62 79 74 65 2d 63 6f 64 65 ].7))..(defun.abs.(n).(byte-code
0840 20 22 c1 08 21 83 0a 00 08 82 0c 00 08 5b 87 22 20 5b 6e 20 6e 61 74 6e 75 6d 70 5d 20 32 29 29 ."..!........[.".[n.natnump].2))
0860 0a 0a 28 64 65 66 75 6e 20 66 61 62 73 20 28 66 6e 75 6d 29 20 28 62 79 74 65 2d 63 6f 64 65 20 ..(defun.fabs.(fnum).(byte-code.
0880 22 c1 c2 08 40 21 08 41 42 21 87 22 20 5b 66 6e 75 6d 20 6e 6f 72 6d 61 6c 69 7a 65 20 61 62 73 "...@!.AB!.".[fnum.normalize.abs
08a0 5d 20 34 29 29 0a 0a 28 64 65 66 75 6e 20 78 6f 72 20 28 61 20 62 29 20 28 62 79 74 65 2d 63 6f ].4))..(defun.xor.(a.b).(byte-co
08c0 64 65 20 22 08 86 05 00 09 85 0e 00 08 85 0d 00 09 3f 87 22 20 5b 61 20 62 5d 20 31 29 29 0a 0a de.".............?.".[a.b].1))..
08e0 28 64 65 66 75 6e 20 73 61 6d 65 2d 73 69 67 6e 20 28 61 20 62 29 20 28 62 79 74 65 2d 63 6f 64 (defun.same-sign.(a.b).(byte-cod
0900 65 20 22 c2 c3 08 40 21 c3 09 40 21 5c 22 3f 87 22 20 5b 61 20 62 20 78 6f 72 20 6e 61 74 6e 75 e."...@!..@!\"?.".[a.b.xor.natnu
0920 6d 70 5d 20 35 29 29 0a 0a 28 64 65 66 75 6e 20 65 78 74 72 61 63 74 2d 6d 61 74 63 68 20 28 73 mp].5))..(defun.extract-match.(s
0940 74 72 20 69 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c0 c1 c2 8f 87 22 20 5b 6e 69 6c 20 28 62 tr.i).(byte-code.".....".[nil.(b
0960 79 74 65 2d 63 6f 64 65 20 22 08 c2 09 21 c3 09 21 4f 87 22 20 5b 73 74 72 20 69 20 6d 61 74 63 yte-code."...!..!O.".[str.i.matc
0980 68 2d 62 65 67 69 6e 6e 69 6e 67 20 6d 61 74 63 68 2d 65 6e 64 5d 20 35 29 20 28 28 65 72 72 6f h-beginning.match-end].5).((erro
09a0 72 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c0 87 22 20 5b 22 22 5d 20 31 29 29 29 5d 20 33 29 29 r.(byte-code."..".[""].1)))].3))
09c0 0a 0a 28 73 65 74 71 20 68 61 6c 66 77 6f 72 64 2d 62 69 74 73 20 28 2f 20 6d 61 6e 74 69 73 73 ..(setq.halfword-bits.(/.mantiss
09e0 61 2d 62 69 74 73 20 32 29 20 6d 61 73 6b 6c 6f 20 28 31 2d 20 28 61 73 68 20 31 20 68 61 6c 66 a-bits.2).masklo.(1-.(ash.1.half
0a00 77 6f 72 64 2d 62 69 74 73 29 29 20 6d 61 73 6b 68 69 20 28 6c 6f 67 6e 6f 74 20 6d 61 73 6b 6c word-bits)).maskhi.(lognot.maskl
0a20 6f 29 20 72 6f 75 6e 64 2d 6c 69 6d 69 74 20 28 61 73 68 20 31 20 28 2f 20 68 61 6c 66 77 6f 72 o).round-limit.(ash.1.(/.halfwor
0a40 64 2d 62 69 74 73 20 32 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 69 68 61 6c 66 20 28 6e 29 20 28 d-bits.2)))..(defun.hihalf.(n).(
0a60 62 79 74 65 2d 63 6f 64 65 20 22 c3 c4 08 09 5c 22 0a 5b 5c 22 87 22 20 5b 6e 20 6d 61 73 6b 68 byte-code."....\".[\".".[n.maskh
0a80 69 20 68 61 6c 66 77 6f 72 64 2d 62 69 74 73 20 61 73 68 20 6c 6f 67 61 6e 64 5d 20 34 29 29 0a i.halfword-bits.ash.logand].4)).
0aa0 0a 28 64 65 66 75 6e 20 6c 6f 68 61 6c 66 20 28 6e 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c2 .(defun.lohalf.(n).(byte-code.".
0ac0 08 09 5c 22 87 22 20 5b 6e 20 6d 61 73 6b 6c 6f 20 6c 6f 67 61 6e 64 5d 20 33 29 29 0a 0a 28 64 ..\".".[n.masklo.logand].3))..(d
0ae0 65 66 75 6e 20 66 2b 20 28 61 31 20 61 32 29 20 22 5c 0a 52 65 74 75 72 6e 73 20 74 68 65 20 73 efun.f+.(a1.a2)."\.Returns.the.s
0b00 75 6d 20 6f 66 20 74 77 6f 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 73 um.of.two.floating.point.numbers
0b20 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 09 41 0a 41 56 83 0c 00 09 82 0d 00 0a 09 41 0a 41 .".(byte-code.".A.AV.........A.A
0b40 56 83 19 00 0a 82 1a 00 09 1b 18 c4 09 0a 5c 22 85 2c 00 c5 08 21 10 c5 0b 21 89 13 88 c6 08 40 V.............\".,...!...!.....@
0b60 c7 0b 40 0b 41 08 41 5a 5c 22 5c 5c 08 41 42 21 2a 87 22 20 5b 66 31 20 61 31 20 61 32 20 66 32 ..@.A.AZ\"\\.AB!*.".[f1.a1.a2.f2
0b80 20 73 61 6d 65 2d 73 69 67 6e 20 66 61 73 68 72 20 6e 6f 72 6d 61 6c 69 7a 65 20 61 73 68 5d 20 .same-sign.fashr.normalize.ash].
0ba0 39 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 20 28 61 31 20 26 6f 70 74 69 6f 6e 61 6c 20 61 32 29 9))..(defun.f-.(a1.&optional.a2)
0bc0 20 22 5c 0a 52 65 74 75 72 6e 73 20 74 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 6f 66 20 74 77 ."\.Returns.the.difference.of.tw
0be0 6f 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 73 2e 22 20 28 62 79 74 65 o.floating.point.numbers.".(byte
0c00 2d 63 6f 64 65 20 22 08 83 0d 00 c2 09 c3 08 21 5c 22 82 15 00 c4 09 40 5b 09 41 42 21 87 22 20 -code."........!\".....@[.AB!.".
0c20 5b 61 32 20 61 31 20 66 2b 20 66 2d 20 6e 6f 72 6d 61 6c 69 7a 65 5d 20 35 29 29 0a 0a 28 64 65 [a2.a1.f+.f-.normalize].5))..(de
0c40 66 75 6e 20 66 2a 20 28 61 31 20 61 32 29 20 22 5c 0a 52 65 74 75 72 6e 73 20 74 68 65 20 70 72 fun.f*.(a1.a2)."\.Returns.the.pr
0c60 6f 64 75 63 74 20 6f 66 20 74 77 6f 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 oduct.of.two.floating.point.numb
0c80 65 72 73 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c9 09 21 40 18 c9 0b 21 40 1a ca 09 0b 5c ers.".(byte-code."..!@...!@....\
0ca0 22 3f 1c cb cc cd ce 08 21 ce 0a 21 5c 22 21 ce cd cc 08 21 ce 0a 21 5c 22 21 ce cd ce 08 21 cc "?......!..!\"!....!..!\"!....!.
0cc0 0a 21 5c 22 21 23 1d cb cd cc 08 21 cc 0a 21 5c 22 cc cd cc 08 21 ce 0a 21 5c 22 21 cc cd ce 08 .!\"!#.....!..!\"....!..!\"!....
0ce0 21 cc 0a 21 5c 22 21 cc 0d 21 24 1e 06 ce 0d 21 0e 07 56 85 63 00 0e 06 54 89 16 06 88 cf 0c 83 !..!\"!..!$....!..V.c...T.......
0d00 6f 00 0e 06 5b 82 71 00 0e 06 cb c9 09 21 41 c9 0b 21 41 0e 08 23 42 21 2d 87 22 20 5b 69 31 20 o...[.q......!A..!A..#B!-.".[i1.
0d20 61 31 20 69 32 20 61 32 20 73 69 67 6e 20 70 72 6f 64 6c 6f 20 70 72 6f 64 68 69 20 72 6f 75 6e a1.i2.a2.sign.prodlo.prodhi.roun
0d40 64 2d 6c 69 6d 69 74 20 6d 61 6e 74 69 73 73 61 2d 62 69 74 73 20 66 61 62 73 20 73 61 6d 65 2d d-limit.mantissa-bits.fabs.same-
0d60 73 69 67 6e 20 2b 20 68 69 68 61 6c 66 20 2a 20 6c 6f 68 61 6c 66 20 6e 6f 72 6d 61 6c 69 7a 65 sign.+.hihalf.*.lohalf.normalize
0d80 5d 20 33 38 29 29 0a 0a 28 64 65 66 75 6e 20 66 2f 20 28 61 31 20 61 32 29 20 22 5c 0a 52 65 74 ].38))..(defun.f/.(a1.a2)."\.Ret
0da0 75 72 6e 73 20 74 68 65 20 71 75 6f 74 69 65 6e 74 20 6f 66 20 74 77 6f 20 66 6c 6f 61 74 69 6e urns.the.quotient.of.two.floatin
0dc0 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 73 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c8 08 g.point.numbers.".(byte-code."..
0de0 40 21 83 11 00 c9 ca cb 09 08 45 5c 22 82 76 00 0b 53 cc cd 09 21 40 cd 08 21 40 ce 09 08 5c 22 @!........E\".v..S...!@..!@...\"
0e00 3f 1e 07 1e 06 1d 1c 1a cf 0a 21 85 5a 00 0d 0e 06 5a cc 57 83 40 00 d0 0c d1 5c 22 89 14 82 4c ?.........!.Z....Z.W.@....\"...L
0e20 00 d0 0c d1 5c 22 54 14 0d 0e 06 5a 89 15 88 d0 0d d1 5c 22 15 0a 53 89 12 88 82 28 00 88 d2 0e ....\"T....Z......\"..S....(....
0e40 07 83 66 00 0c 5b 82 67 00 0c d3 cd 09 21 41 cd 08 21 41 0b 53 23 42 21 2d 87 22 20 5b 61 32 20 ..f..[.g.....!A..!A.S#B!-.".[a2.
0e60 61 31 20 62 69 74 73 20 6d 61 78 62 69 74 20 71 75 6f 74 69 65 6e 74 20 64 69 76 69 64 65 6e 64 a1.bits.maxbit.quotient.dividend
0e80 20 64 69 76 69 73 6f 72 20 73 69 67 6e 20 7a 65 72 6f 70 20 73 69 67 6e 61 6c 20 61 72 69 74 68 .divisor.sign.zerop.signal.arith
0ea0 2d 65 72 72 6f 72 20 22 61 74 74 65 6d 70 74 20 74 6f 20 64 69 76 69 64 65 20 62 79 20 7a 65 72 -error."attempt.to.divide.by.zer
0ec0 6f 22 20 30 20 66 61 62 73 20 73 61 6d 65 2d 73 69 67 6e 20 6e 61 74 6e 75 6d 70 20 61 73 68 20 o".0.fabs.same-sign.natnump.ash.
0ee0 31 20 6e 6f 72 6d 61 6c 69 7a 65 20 2d 5d 20 31 37 29 29 0a 0a 28 64 65 66 75 6e 20 66 25 20 28 1.normalize.-].17))..(defun.f%.(
0f00 61 31 20 61 32 29 20 22 5c 0a 52 65 74 75 72 6e 73 20 74 68 65 20 72 65 6d 61 69 6e 64 65 72 20 a1.a2)."\.Returns.the.remainder.
0f20 6f 66 20 66 69 72 73 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 64 of.first.floating.point.number.d
0f40 69 76 69 64 65 64 20 62 79 20 73 65 63 6f 6e 64 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c2 ivided.by.second.".(byte-code.".
0f60 08 c3 c4 c5 08 09 5c 22 21 09 5c 22 5c 22 87 22 20 5b 61 31 20 61 32 20 66 2d 20 66 2a 20 66 74 ......\"!.\"\".".[a1.a2.f-.f*.ft
0f80 72 75 6e 63 20 66 2f 5d 20 37 29 29 0a 0a 28 64 65 66 75 6e 20 66 3d 20 28 61 31 20 61 32 29 20 runc.f/].7))..(defun.f=.(a1.a2).
0fa0 22 5c 0a 52 65 74 75 72 6e 73 20 74 20 69 66 20 74 77 6f 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 "\.Returns.t.if.two.floating.poi
0fc0 6e 74 20 6e 75 6d 62 65 72 73 20 61 72 65 20 65 71 75 61 6c 2c 20 6e 69 6c 20 6f 74 68 65 72 77 nt.numbers.are.equal,.nil.otherw
0fe0 69 73 65 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c2 08 09 5c 22 87 22 20 5b 61 31 20 61 32 ise.".(byte-code."...\".".[a1.a2
1000 20 65 71 75 61 6c 5d 20 33 29 29 0a 0a 28 64 65 66 75 6e 20 66 3e 20 28 61 31 20 61 32 29 20 22 .equal].3))..(defun.f>.(a1.a2)."
1020 5c 0a 52 65 74 75 72 6e 73 20 74 20 69 66 20 66 69 72 73 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f \.Returns.t.if.first.floating.po
1040 69 6e 74 20 6e 75 6d 62 65 72 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 73 65 63 6f 6e int.number.is.greater.than.secon
1060 64 2c 0a 6e 69 6c 20 6f 74 68 65 72 77 69 73 65 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c4 d,.nil.otherwise.".(byte-code.".
1080 08 40 21 85 0b 00 09 40 c5 57 83 12 00 c2 82 4c 00 08 40 c5 56 85 1d 00 09 40 c5 58 83 24 00 c2 .@!....@.W.....L..@.V....@.X.$..
10a0 82 4c 00 08 40 c5 58 85 2f 00 c4 09 40 21 83 36 00 c3 82 4c 00 c6 08 41 09 41 5c 22 83 47 00 08 .L..@.X./...@!.6...L...A.A\".G..
10c0 41 09 41 56 82 4c 00 08 40 09 40 56 87 22 20 5b 61 31 20 61 32 20 74 20 6e 69 6c 20 6e 61 74 6e A.AV.L..@.@V.".[a1.a2.t.nil.natn
10e0 75 6d 70 20 30 20 2f 3d 5d 20 35 29 29 0a 0a 28 64 65 66 75 6e 20 66 3e 3d 20 28 61 31 20 61 32 ump.0./=].5))..(defun.f>=.(a1.a2
1100 29 20 22 5c 0a 52 65 74 75 72 6e 73 20 74 20 69 66 20 66 69 72 73 74 20 66 6c 6f 61 74 69 6e 67 )."\.Returns.t.if.first.floating
1120 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 6f 72 .point.number.is.greater.than.or
1140 20 65 71 75 61 6c 20 74 6f 20 0a 73 65 63 6f 6e 64 2c 20 6e 69 6c 20 6f 74 68 65 72 77 69 73 65 .equal.to..second,.nil.otherwise
1160 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c2 08 09 5c 22 86 0b 00 c3 08 09 5c 22 87 22 20 5b .".(byte-code."...\"......\".".[
1180 61 31 20 61 32 20 66 3e 20 66 3d 5d 20 34 29 29 0a 0a 28 64 65 66 75 6e 20 66 3c 20 28 61 31 20 a1.a2.f>.f=].4))..(defun.f<.(a1.
11a0 61 32 29 20 22 5c 0a 52 65 74 75 72 6e 73 20 74 20 69 66 20 66 69 72 73 74 20 66 6c 6f 61 74 69 a2)."\.Returns.t.if.first.floati
11c0 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 73 65 63 ng.point.number.is.less.than.sec
11e0 6f 6e 64 2c 0a 6e 69 6c 20 6f 74 68 65 72 77 69 73 65 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 ond,.nil.otherwise.".(byte-code.
1200 22 c2 08 09 5c 22 3f 87 22 20 5b 61 31 20 61 32 20 66 3e 3d 5d 20 33 29 29 0a 0a 28 64 65 66 75 "...\"?.".[a1.a2.f>=].3))..(defu
1220 6e 20 66 3c 3d 20 28 61 31 20 61 32 29 20 22 5c 0a 52 65 74 75 72 6e 73 20 74 20 69 66 20 66 69 n.f<=.(a1.a2)."\.Returns.t.if.fi
1240 72 73 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 69 73 20 6c 65 73 rst.floating.point.number.is.les
1260 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 0a 73 65 63 6f 6e 64 2c 20 6e 69 6c 20 6f s.than.or.equal.to.second,.nil.o
1280 74 68 65 72 77 69 73 65 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c2 08 09 5c 22 3f 87 22 20 therwise.".(byte-code."...\"?.".
12a0 5b 61 31 20 61 32 20 66 3e 5d 20 33 29 29 0a 0a 28 64 65 66 75 6e 20 66 2f 3d 20 28 61 31 20 61 [a1.a2.f>].3))..(defun.f/=.(a1.a
12c0 32 29 20 22 5c 0a 52 65 74 75 72 6e 73 20 74 20 69 66 20 66 69 72 73 74 20 66 6c 6f 61 74 69 6e 2)."\.Returns.t.if.first.floatin
12e0 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 69 73 20 6e 6f 74 20 65 71 75 61 6c 20 74 6f 20 73 g.point.number.is.not.equal.to.s
1300 65 63 6f 6e 64 2c 0a 6e 69 6c 20 6f 74 68 65 72 77 69 73 65 2e 22 20 28 62 79 74 65 2d 63 6f 64 econd,.nil.otherwise.".(byte-cod
1320 65 20 22 c2 08 09 5c 22 3f 87 22 20 5b 61 31 20 61 32 20 66 3d 5d 20 33 29 29 0a 0a 28 64 65 66 e."...\"?.".[a1.a2.f=].3))..(def
1340 75 6e 20 66 6d 69 6e 20 28 61 31 20 61 32 29 20 22 5c 0a 52 65 74 75 72 6e 73 20 74 68 65 20 6d un.fmin.(a1.a2)."\.Returns.the.m
1360 69 6e 69 6d 75 6d 20 6f 66 20 74 77 6f 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d inimum.of.two.floating.point.num
1380 62 65 72 73 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c2 08 09 5c 22 83 0b 00 08 82 0c 00 09 bers.".(byte-code."...\"........
13a0 87 22 20 5b 61 31 20 61 32 20 66 3c 5d 20 33 29 29 0a 0a 28 64 65 66 75 6e 20 66 6d 61 78 20 28 .".[a1.a2.f<].3))..(defun.fmax.(
13c0 61 31 20 61 32 29 20 22 5c 0a 52 65 74 75 72 6e 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6f 66 a1.a2)."\.Returns.the.maximum.of
13e0 20 74 77 6f 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 73 2e 22 20 28 62 .two.floating.point.numbers.".(b
1400 79 74 65 2d 63 6f 64 65 20 22 c2 08 09 5c 22 83 0b 00 08 82 0c 00 09 87 22 20 5b 61 31 20 61 32 yte-code."...\".........".[a1.a2
1420 20 66 3e 5d 20 33 29 29 0a 0a 28 64 65 66 75 6e 20 66 7a 65 72 6f 70 20 28 66 6e 75 6d 29 20 22 .f>].3))..(defun.fzerop.(fnum)."
1440 5c 0a 52 65 74 75 72 6e 73 20 74 20 69 66 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e \.Returns.t.if.the.floating.poin
1460 74 20 6e 75 6d 62 65 72 20 69 73 20 7a 65 72 6f 2c 20 6e 69 6c 20 6f 74 68 65 72 77 69 73 65 2e t.number.is.zero,.nil.otherwise.
1480 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 08 40 c1 55 87 22 20 5b 66 6e 75 6d 20 30 5d 20 32 29 ".(byte-code.".@.U.".[fnum.0].2)
14a0 29 0a 0a 28 64 65 66 75 6e 20 66 6c 6f 61 74 70 20 28 66 6e 75 6d 29 20 22 5c 0a 52 65 74 75 72 )..(defun.floatp.(fnum)."\.Retur
14c0 6e 73 20 74 20 69 66 20 74 68 65 20 61 72 67 20 69 73 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f ns.t.if.the.arg.is.a.floating.po
14e0 69 6e 74 20 6e 75 6d 62 65 72 2c 20 6e 69 6c 20 6f 74 68 65 72 77 69 73 65 2e 22 20 28 62 79 74 int.number,.nil.otherwise.".(byt
1500 65 2d 63 6f 64 65 20 22 08 3a 85 10 00 c1 08 40 21 85 10 00 c1 08 41 21 87 22 20 5b 66 6e 75 6d e-code.".:.....@!.....A!.".[fnum
1520 20 69 6e 74 65 67 65 72 70 5d 20 33 29 29 0a 0a 28 64 65 66 75 6e 20 66 20 28 69 6e 74 29 20 22 .integerp].3))..(defun.f.(int)."
1540 5c 0a 43 6f 6e 76 65 72 74 20 74 68 65 20 69 6e 74 65 67 65 72 20 61 72 67 75 6d 65 6e 74 20 74 \.Convert.the.integer.argument.t
1560 6f 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 2c 20 6c 69 6b 65 20 61 20 43 20 63 61 73 74 20 o.floating.point,.like.a.C.cast.
1580 6f 70 65 72 61 74 6f 72 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c1 08 c2 42 21 87 22 20 5b operator.".(byte-code."...B!.".[
15a0 69 6e 74 20 6e 6f 72 6d 61 6c 69 7a 65 20 30 5d 20 33 29 29 0a 0a 28 64 65 66 75 6e 20 69 6e 74 int.normalize.0].3))..(defun.int
15c0 2d 74 6f 2d 68 65 78 2d 73 74 72 69 6e 67 20 28 69 6e 74 29 20 22 5c 0a 43 6f 6e 76 65 72 74 20 -to-hex-string.(int)."\.Convert.
15e0 74 68 65 20 69 6e 74 65 67 65 72 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 61 20 43 2d 73 74 79 6c the.integer.argument.to.a.C-styl
1600 65 20 68 65 78 61 64 65 63 69 6d 61 6c 20 73 74 72 69 6e 67 2e 22 20 28 62 79 74 65 2d 63 6f 64 e.hexadecimal.string.".(byte-cod
1620 65 20 22 c4 c5 c6 1a 19 18 08 c7 58 85 23 00 09 c8 0a c9 ca 0b 08 5c 22 cb 5c 22 48 21 50 11 08 e."........X.#........\".\"H!P..
1640 cc 5c 5c 89 10 88 82 06 00 88 09 2b 87 22 20 5b 73 68 69 66 74 76 61 6c 20 73 74 72 20 68 65 78 .\\........+.".[shiftval.str.hex
1660 2d 63 68 61 72 73 20 69 6e 74 20 2d 32 30 20 22 30 78 22 20 22 30 31 32 33 34 35 36 37 38 39 41 -chars.int.-20."0x"."0123456789A
1680 42 43 44 45 46 22 20 30 20 63 68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 6c 6f 67 61 6e 64 20 6c BCDEF".0.char-to-string.logand.l
16a0 73 68 20 31 35 20 34 5d 20 38 29 29 0a 0a 28 64 65 66 75 6e 20 66 74 72 75 6e 63 20 28 66 6e 75 sh.15.4].8))..(defun.ftrunc.(fnu
16c0 6d 29 20 22 5c 0a 54 72 75 6e 63 61 74 65 20 74 68 65 20 66 72 61 63 74 69 6f 6e 61 6c 20 70 61 m)."\.Truncate.the.fractional.pa
16e0 72 74 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 22 20 rt.of.a.floating.point.number.".
1700 28 62 79 74 65 2d 63 6f 64 65 20 22 c5 08 41 21 83 0b 00 08 82 3d 00 08 41 09 5b 58 83 17 00 c6 (byte-code."..A!.....=..A.[X....
1720 82 3d 00 08 40 08 41 1c 1b c7 c5 0b 21 83 2f 00 c8 c8 0b 0c 5c 22 0c 5b 5c 22 82 39 00 c8 c8 0b .=..@.A.....!./.....\".[\".9....
1740 5b 0c 5c 22 0c 5b 5c 22 5b 0c 42 21 2a 87 22 20 5b 66 6e 75 6d 20 6d 61 78 62 69 74 20 74 20 6d [.\".[\"[.B!*.".[fnum.maxbit.t.m
1760 61 6e 74 20 65 78 70 20 6e 61 74 6e 75 6d 70 20 28 30 20 2e 20 31 29 20 6e 6f 72 6d 61 6c 69 7a ant.exp.natnump.(0...1).normaliz
1780 65 20 61 73 68 5d 20 39 29 29 0a 0a 28 64 65 66 75 6e 20 66 69 6e 74 20 28 66 6e 75 6d 29 20 22 e.ash].9))..(defun.fint.(fnum)."
17a0 5c 0a 43 6f 6e 76 65 72 74 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d \.Convert.the.floating.point.num
17c0 62 65 72 20 74 6f 20 69 6e 74 65 67 65 72 2c 20 77 69 74 68 20 74 72 75 6e 63 61 74 69 6f 6e 2c ber.to.integer,.with.truncation,
17e0 20 0a 6c 69 6b 65 20 61 20 43 20 63 61 73 74 20 6f 70 65 72 61 74 6f 72 2e 22 20 28 62 79 74 65 ..like.a.C.cast.operator.".(byte
1800 2d 63 6f 64 65 20 22 c8 09 21 18 08 40 1a 08 41 1b 0b 0c 59 83 14 00 0d 82 24 00 0b 0c 5b 58 83 -code."..!..@..A...Y.....$...[X.
1820 20 00 0e 06 82 24 00 c9 0a 0b 5c 22 2b 87 22 20 5b 74 66 20 66 6e 75 6d 20 74 69 6e 74 20 74 65 .....$....\"+.".[tf.fnum.tint.te
1840 78 70 20 6d 61 6e 74 69 73 73 61 2d 62 69 74 73 20 6d 61 6e 74 69 73 73 61 2d 6d 61 78 76 61 6c xp.mantissa-bits.mantissa-maxval
1860 20 6d 61 6e 74 69 73 73 61 2d 6d 69 6e 76 61 6c 20 74 20 66 74 72 75 6e 63 20 61 73 68 5d 20 34 .mantissa-minval.t.ftrunc.ash].4
1880 29 29 0a 0a 28 64 65 66 75 6e 20 66 6c 6f 61 74 2d 74 6f 2d 73 74 72 69 6e 67 20 28 66 6e 75 6d ))..(defun.float-to-string.(fnum
18a0 20 26 6f 70 74 69 6f 6e 61 6c 20 73 63 69 29 20 22 5c 0a 43 6f 6e 76 65 72 74 20 74 68 65 20 66 .&optional.sci)."\.Convert.the.f
18c0 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 74 6f 20 61 20 64 65 63 69 6d 61 loating.point.number.to.a.decima
18e0 6c 20 73 74 72 69 6e 67 2e 0a 4f 70 74 69 6f 6e 61 6c 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 l.string..Optional.second.argume
1900 6e 74 20 6e 6f 6e 2d 6e 69 6c 20 6d 65 61 6e 73 20 75 73 65 20 73 63 69 65 6e 74 69 66 69 63 20 nt.non-nil.means.use.scientific.
1920 6e 6f 74 61 74 69 6f 6e 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 d3 09 21 18 09 40 d4 57 1a notation.".(byte-code."..!..@.W.
1940 d4 1b d4 1c d5 1d d4 1e 06 0e 08 1e 07 d6 09 0e 09 5c 22 83 5c 22 00 d7 82 65 01 d8 08 0e 08 5c .................\".\"...e.....\
1960 22 83 66 00 d9 da 0e 07 0e 0a 5c 22 89 16 06 08 5c 22 85 47 00 0e 06 16 07 0b 0e 0b 5c 5c 89 13 ".f.......\"....\".G........\\..
1980 88 82 2a 00 88 d9 da 0e 07 0e 0c 5c 22 89 16 06 08 5c 22 85 63 00 0e 06 16 07 0b 54 89 13 88 82 ..*........\"....\".c......T....
19a0 48 00 82 9c 00 db dc 0e 07 0e 0a 5c 22 89 16 06 08 5c 22 85 83 00 0e 06 16 07 0b 0e 0b 5a 89 13 H..........\"....\"..........Z..
19c0 88 82 66 00 88 db 0e 07 08 5c 22 85 9c 00 dc 0e 07 0e 0c 5c 22 16 07 0b 53 89 13 88 82 84 00 88 ..f......\"........\"...S.......
19e0 da dc 08 0e 07 5c 22 0e 0d 5c 22 10 dd 08 21 89 14 88 de 1e 0e db df 08 0c 5c 22 0e 0f 5c 22 83 .....\"..\"...!..........\"..\".
1a00 c5 00 e0 0c 21 54 89 16 0e 82 cb 00 e0 0c 21 89 16 0e 88 e1 0e 0e 21 89 15 88 0e 0e e2 59 85 de ....!T........!.......!......Y..
1a20 00 0b 54 89 13 29 88 0e 10 83 f9 00 e3 0d d4 e4 4f e5 0d e4 de 4f e6 e1 0b 21 25 89 15 82 59 01 ..T..)..........O....O...!%...Y.
1a40 0b 0e 0b 53 59 83 20 01 0b 0e 0b 5a 1e 11 e7 0e 11 21 85 1c 01 0d d7 50 15 0e 11 53 89 16 11 88 ...SY......Z.....!.....P...S....
1a60 82 07 01 29 82 59 01 0b d4 57 83 4b 01 0b 5b e8 5a 1e 11 e7 0e 11 21 85 41 01 d7 0d 50 15 0e 11 ...).Y...W.K..[.Z.....!.A...P...
1a80 53 89 16 11 88 82 2c 01 88 e9 0d 50 89 15 29 82 59 01 0d d4 0b 54 4f e5 0d 0b 54 de 4f 51 89 15 S.....,....P..).Y....TO...T.OQ..
1aa0 88 0a 83 64 01 ea 0d 50 82 65 01 0d 2e 07 87 22 20 5b 76 61 6c 75 65 20 66 6e 75 6d 20 73 69 67 ...d...P.e.....".[value.fnum.sig
1ac0 6e 20 70 6f 77 65 72 20 72 65 73 75 6c 74 20 73 74 72 20 74 65 6d 70 20 70 6f 77 31 30 20 5f 66 n.power.result.str.temp.pow10._f
1ae0 31 20 5f 66 30 20 68 69 67 68 65 73 74 2d 70 6f 77 65 72 2d 6f 66 2d 31 30 20 64 65 63 69 6d 61 1._f0.highest-power-of-10.decima
1b00 6c 2d 64 69 67 69 74 73 20 5f 66 31 30 20 61 6c 6c 2d 64 65 63 69 6d 61 6c 2d 64 69 67 73 2d 6d l-digits._f10.all-decimal-digs-m
1b20 69 6e 76 61 6c 20 69 6e 74 20 5f 66 31 2f 32 20 73 63 69 20 7a 65 72 6f 65 73 20 74 20 66 61 62 inval.int._f1/2.sci.zeroes.t.fab
1b40 73 20 30 20 22 22 20 66 3d 20 22 30 22 20 66 3e 3d 20 66 3c 3d 20 66 2a 20 66 3e 20 66 2f 20 66 s.0."".f=."0".f>=.f<=.f*.f>.f/.f
1b60 74 72 75 6e 63 20 6e 69 6c 20 66 2d 20 66 69 6e 74 20 69 6e 74 2d 74 6f 2d 73 74 72 69 6e 67 20 trunc.nil.f-.fint.int-to-string.
1b80 31 30 30 30 30 30 30 20 63 6f 6e 63 61 74 20 31 20 22 2e 22 20 22 45 22 20 6e 61 74 6e 75 6d 70 1000000.concat.1."."."E".natnump
1ba0 20 32 20 22 30 2e 22 20 22 2d 22 5d 20 32 38 29 29 0a 0a 28 64 65 66 75 6e 20 73 74 72 69 6e 67 .2."0."."-"].28))..(defun.string
1bc0 2d 74 6f 2d 66 6c 6f 61 74 20 28 73 74 72 29 20 22 5c 0a 43 6f 6e 76 65 72 74 20 74 68 65 20 73 -to-float.(str)."\.Convert.the.s
1be0 74 72 69 6e 67 20 74 6f 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 tring.to.a.floating.point.number
1c00 2e 0a 41 63 63 65 70 74 73 20 61 20 64 65 63 69 6d 61 6c 20 73 74 72 69 6e 67 20 69 6e 20 73 63 ..Accepts.a.decimal.string.in.sc
1c20 69 65 6e 74 69 66 69 63 20 6e 6f 74 61 74 69 6f 6e 2c 20 0a 77 69 74 68 20 65 78 70 6f 6e 65 6e ientific.notation,..with.exponen
1c40 74 20 70 72 65 63 65 64 65 64 20 62 79 20 65 69 74 68 65 72 20 45 20 6f 72 20 65 2e 0a 4f 6e 6c t.preceded.by.either.E.or.e..Onl
1c60 79 20 74 68 65 20 36 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 64 69 67 69 74 73 20 y.the.6.most.significant.digits.
1c80 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 61 6e 64 20 66 72 61 63 74 69 6f 6e 61 6c 20 70 61 of.the.integer.and.fractional.pa
1ca0 72 74 73 0a 61 72 65 20 75 73 65 64 3b 20 6f 6e 6c 79 20 74 68 65 20 66 69 72 73 74 20 74 77 6f rts.are.used;.only.the.first.two
1cc0 20 64 69 67 69 74 73 20 6f 66 20 74 68 65 20 65 78 70 6f 6e 65 6e 74 20 61 72 65 20 75 73 65 64 .digits.of.the.exponent.are.used
1ce0 2e 0a 4e 65 67 61 74 69 76 65 20 73 69 67 6e 73 20 70 72 65 63 65 64 69 6e 67 20 62 6f 74 68 20 ..Negative.signs.preceding.both.
1d00 74 68 65 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 61 6e 64 20 74 68 65 20 65 78 70 6f 6e the.decimal.number.and.the.expon
1d20 65 6e 74 0a 61 72 65 20 72 65 63 6f 67 6e 69 7a 65 64 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 ent.are.recognized.".(byte-code.
1d40 22 d7 08 09 d8 23 83 29 01 c9 1a d9 da 09 db 5c 22 1b da 09 dc 5c 22 1c 0b 0c 50 1d dd da 09 de "....#.).......\"....\"...P.....
1d60 5c 22 df 5c 22 1e 06 d8 1e 07 c9 1e 08 0b 47 0e 0a 5a 89 12 88 0e 07 0d 47 57 85 3e 00 0d 0e 07 \".\".........G..Z......GW.>....
1d80 48 e0 55 85 4b 00 0e 07 54 89 16 07 88 82 30 00 88 0a 0e 07 5a 12 0d 0e 07 c9 4f 89 15 88 0d 47 H.U.K...T.....0.....Z.....O....G
1da0 0e 0a 56 83 73 00 0d 0e 0a 48 e1 59 16 08 0d d8 0e 0a 4f 89 15 82 7c 00 0a 0e 0a 0d 47 5a 5c 5c ..V.s....H.Y......O...|.....GZ\\
1dc0 89 12 88 e2 e3 e4 0d 21 0e 08 83 8b 00 de 82 8c 00 d8 5c 5c 0e 06 83 96 00 e5 82 97 00 de 5c 22 .......!..........\\..........\"
1de0 21 2e 06 da 09 e6 5c 22 1e 0b dd da 09 e7 5c 22 df 5c 22 1e 0c d8 1e 0d d8 1e 0e d8 1e 0f 0e 11 !.....\"......\".\".............
1e00 1e 10 d9 1e 12 e3 e4 0e 0b d8 0e 13 0e 0b 47 5e 4f 21 0e 0c 83 d0 00 e5 82 d1 00 de 5c 22 0a 5c ..............G^O!..........\".\
1e20 5c 89 16 0d 88 0e 0d d8 57 85 e8 00 0e 0d 5b 16 0d e8 89 16 12 88 e9 0e 0d 0e 0a 5c 22 16 0e ea \.......W.....[............\"...
1e40 0e 0d 0e 0a 5c 22 89 16 0f 88 0e 0e d8 56 85 16 01 eb 0e 12 0e 10 0e 14 23 16 10 0e 0e 53 89 16 ....\".......V..........#....S..
1e60 0e 88 82 fb 00 88 eb 0e 12 0e 10 0e 15 0e 0f 48 23 2e 07 5c 22 29 82 2b 01 0e 16 87 22 20 5b 66 ...............H#..\").+....".[f
1e80 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 2d 72 65 67 65 78 70 20 73 74 72 20 70 6f 77 65 72 20 69 loating-point-regexp.str.power.i
1ea0 6e 74 2d 73 75 62 73 74 20 66 72 61 63 74 2d 73 75 62 73 74 20 64 69 67 69 74 2d 73 74 72 69 6e nt-subst.fract-subst.digit-strin
1ec0 67 20 6d 61 6e 74 2d 73 69 67 6e 20 6c 65 61 64 69 6e 67 2d 30 73 20 72 6f 75 6e 64 2d 75 70 20 g.mant-sign.leading-0s.round-up.
1ee0 6e 69 6c 20 64 65 63 69 6d 61 6c 2d 64 69 67 69 74 73 20 65 78 70 74 2d 73 75 62 73 74 20 65 78 nil.decimal-digits.expt-subst.ex
1f00 70 74 2d 73 69 67 6e 20 65 78 70 74 20 63 68 75 6e 6b 73 20 74 65 6e 73 20 65 78 70 6f 6e 65 6e pt-sign.expt.chunks.tens.exponen
1f20 74 20 5f 66 31 20 66 75 6e 63 20 65 78 70 74 2d 64 69 67 69 74 73 20 68 69 67 68 65 73 74 2d 70 t._f1.func.expt-digits.highest-p
1f40 6f 77 65 72 2d 6f 66 2d 31 30 20 70 6f 77 65 72 73 2d 6f 66 2d 31 30 20 5f 66 30 20 73 74 72 69 ower-of-10.powers-of-10._f0.stri
1f60 6e 67 2d 6d 61 74 63 68 20 30 20 66 2a 20 65 78 74 72 61 63 74 2d 6d 61 74 63 68 20 32 20 34 20 ng-match.0.f*.extract-match.2.4.
1f80 65 71 75 61 6c 20 31 20 22 2d 22 20 34 38 20 35 33 20 66 20 2a 20 73 74 72 69 6e 67 2d 74 6f 2d equal.1."-".48.53.f.*.string-to-
1fa0 69 6e 74 20 2d 31 20 39 20 38 20 66 2f 20 2f 20 25 20 66 75 6e 63 61 6c 6c 5d 20 32 33 29 29 0a int.-1.9.8.f/./.%.funcall].23)).