/usr/share/doc/racket/math/flonum.html is in racket-doc 6.7-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>2 Flonums</title><link rel="stylesheet" type="text/css" href="../scribble.css" title="default"/><link rel="stylesheet" type="text/css" href="../racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-style.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../doc-site.css" title="default"/><script type="text/javascript" src="../scribble-common.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../doc-site.js"></script><script type="text/javascript" src="../local-redirect/local-redirect.js"></script><script type="text/javascript" src="../local-redirect/local-user-redirect.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><body id="doc-racket-lang-org"><div class="tocset"><div class="tocview"><div class="tocviewlist tocviewlisttopspace"><div class="tocviewtitle"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,"tocview_0");">▼</a></td><td></td><td><a href="index.html" class="tocviewlink" data-pltdoc="x">Math Library</a></td></tr></table></div><div class="tocviewsublisttop" style="display: block;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1 </td><td><a href="base.html" class="tocviewlink" data-pltdoc="x">Constants and Elementary Functions</a></td></tr><tr><td align="right">2 </td><td><a href="" class="tocviewselflink" data-pltdoc="x">Flonums</a></td></tr><tr><td align="right">3 </td><td><a href="special.html" class="tocviewlink" data-pltdoc="x">Special Functions</a></td></tr><tr><td align="right">4 </td><td><a href="number-theory.html" class="tocviewlink" data-pltdoc="x">Number Theory</a></td></tr><tr><td align="right">5 </td><td><a href="bigfloat.html" class="tocviewlink" data-pltdoc="x">Arbitrary-<wbr></wbr>Precision Floating-<wbr></wbr>Point Numbers (<a name="(tech._bigfloat)"></a><span style="font-style: italic">Bigfloats</span>)</a></td></tr><tr><td align="right">6 </td><td><a href="array.html" class="tocviewlink" data-pltdoc="x">Arrays</a></td></tr><tr><td align="right">7 </td><td><a href="matrices.html" class="tocviewlink" data-pltdoc="x">Matrices and Linear Algebra</a></td></tr><tr><td align="right">8 </td><td><a href="stats.html" class="tocviewlink" data-pltdoc="x">Statistics Functions</a></td></tr><tr><td align="right">9 </td><td><a href="dist.html" class="tocviewlink" data-pltdoc="x">Probability Distributions</a></td></tr><tr><td align="right">10 </td><td><a href="utils.html" class="tocviewlink" data-pltdoc="x">Stuff That Doesn’t Belong Anywhere Else</a></td></tr></table></div></div><div class="tocviewlist"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,"tocview_1");">►</a></td><td>2 </td><td><a href="" class="tocviewselflink" data-pltdoc="x">Flonums</a></td></tr></table><div class="tocviewsublistbottom" style="display: none;" id="tocview_1"><table cellspacing="0" cellpadding="0"><tr><td align="right">2.1 </td><td><a href="#%28part._.Additional_.Flonum_.Functions%29" class="tocviewlink" data-pltdoc="x">Additional Flonum Functions</a></td></tr><tr><td align="right">2.2 </td><td><a href="#%28part._.Log-.Space_.Arithmetic%29" class="tocviewlink" data-pltdoc="x">Log-<wbr></wbr>Space Arithmetic</a></td></tr><tr><td align="right">2.3 </td><td><a href="#%28part._.Debugging_.Flonum_.Functions%29" class="tocviewlink" data-pltdoc="x">Debugging Flonum Functions</a></td></tr><tr><td align="right">2.4 </td><td><a href="#%28part._.Double-.Double_.Operations%29" class="tocviewlink" data-pltdoc="x">Double-<wbr></wbr>Double Operations</a></td></tr><tr><td align="right">2.5 </td><td><a href="#%28part._.Additional_.Flonum_.Vector_.Functions%29" class="tocviewlink" data-pltdoc="x">Additional Flonum Vector Functions</a></td></tr></table></div></div></div><div class="tocsub"><div class="tocsubtitle">On this page:</div><table class="tocsublist" cellspacing="0"><tr><td><span class="tocsublinknumber">2.1<tt> </tt></span><a href="#%28part._.Additional_.Flonum_.Functions%29" class="tocsubseclink" data-pltdoc="x">Additional Flonum Functions</a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsgn%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flsgn</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fleven~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fleven?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flodd~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flodd?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flrational~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flrational?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flinfinite~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flinfinite?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flnan~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flnan?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flinteger~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flinteger?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flhypot%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flhypot</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsum%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flsum</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsinh%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flsinh</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flcosh%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flcosh</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fltanh%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fltanh</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flasinh%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flasinh</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flacosh%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flacosh</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flatanh%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flatanh</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flfactorial%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flfactorial</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flbinomial%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flbinomial</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flpermutations%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flpermutations</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flmultinomial%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flmultinomial</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog-factorial%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fllog-<wbr></wbr>factorial</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog-binomial%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fllog-<wbr></wbr>binomial</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog-permutations%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fllog-<wbr></wbr>permutations</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog-multinomial%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fllog-<wbr></wbr>multinomial</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog1p%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fllog1p</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpm1%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flexpm1</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpt1p%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flexpt1p</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpt%2B%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flexpt+</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexp2%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flexp2</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog2%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fllog2</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fllogb</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flbracketed-root%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flbracketed-<wbr></wbr>root</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._make-flexpt%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>flexpt</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsqrt1pm1%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flsqrt1pm1</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog1pmx%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fllog1pmx</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpsqr%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flexpsqr</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flgauss%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flgauss</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexp1p%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flexp1p</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsinpix%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flsinpix</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flcospix%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flcospix</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fltanpix%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fltanpix</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flcscpix%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flcscpix</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsecpix%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flsecpix</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flcotpix%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flcotpix</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.2<tt> </tt></span><a href="#%28part._.Log-.Space_.Arithmetic%29" class="tocsubseclink" data-pltdoc="x">Log-<wbr></wbr>Space Arithmetic</a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2A%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">lg*</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2F%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">lg/</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lgprod%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">lgprod</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2B%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">lg+</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg-%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">lg-</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lgsum%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">lgsum</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg1%2B%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">lg1+</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg1-%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">lg1-</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flprobability~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flprobability?</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3<tt> </tt></span><a href="#%28part._.Debugging_.Flonum_.Functions%29" class="tocsubseclink" data-pltdoc="x">Debugging Flonum Functions</a></td></tr><tr><td><span class="tocsublinknumber">2.3.1<tt> </tt></span><a href="#%28part._.Measuring_.Floating-.Point_.Error%29" class="tocsubseclink" data-pltdoc="x">Measuring Floating-<wbr></wbr>Point Error</a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flulp</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flulp-<wbr></wbr>error</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3.2<tt> </tt></span><a href="#%28part._.Flonum_.Constants%29" class="tocsubseclink" data-pltdoc="x">Flonum Constants</a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-max..0%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink"><span class="nobreak">-<wbr></wbr>m</span>ax.0</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-min..0%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink"><span class="nobreak">-<wbr></wbr>m</span>in.0</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmin..0%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">+<span class="mywbr"> </span>min.0</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax..0%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">+<span class="mywbr"> </span>max.0</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._epsilon..0%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">epsilon.0</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3.3<tt> </tt></span><a href="#%28part._.Low-.Level_.Flonum_.Operations%29" class="tocsubseclink" data-pltdoc="x">Low-<wbr></wbr>Level Flonum Operations</a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3ebit-field%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flonum-<wbr></wbr>>bit-<wbr></wbr>field</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._bit-field-~3eflonum%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bit-<wbr></wbr>field-<wbr></wbr>>flonum</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flonum-<wbr></wbr>>ordinal</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._ordinal-~3eflonum%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">ordinal-<wbr></wbr>>flonum</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonums-between%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flonums-<wbr></wbr>between</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flstep</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flnext%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flnext</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flprev%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flprev</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsubnormal~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flsubnormal?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-max-subnormal..0%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink"><span class="nobreak">-<wbr></wbr>m</span>ax-<wbr></wbr>subnormal.0</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax-subnormal..0%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">+<span class="mywbr"> </span>max-<wbr></wbr>subnormal.0</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.4<tt> </tt></span><a href="#%28part._.Double-.Double_.Operations%29" class="tocsubseclink" data-pltdoc="x">Double-<wbr></wbr>Double Operations</a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2-~3ereal%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2-<wbr></wbr>>real</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%2B%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl+<span class="mywbr"> </span>/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl-%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl-<wbr></wbr>/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%2A%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl*/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%2F%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl/<span class="mywbr"> </span>/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsqr%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flsqr/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsqrt%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flsqrt/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexp%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flexp/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpm1%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flexpm1/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2zero~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2zero?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2rational~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2rational?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2positive~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2positive?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2negative~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2negative?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2infinite~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2infinite?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2nan~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2nan?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%2B%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2+</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2-%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2-</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%2A%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2*</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%2F%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2/</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2abs%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2abs</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2sqr%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2sqr</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2sqrt%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2sqrt</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3d%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2=</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3e%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2></span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3c%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2<</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3e~3d%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2>=</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3c~3d%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2<=</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2exp%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2exp</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2log%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2log</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2expm1%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2expm1</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2log1p%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2log1p</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.4.1<tt> </tt></span><a href="#%28part._.Debugging_.Double-.Double_.Functions%29" class="tocsubseclink" data-pltdoc="x">Debugging Double-<wbr></wbr>Double Functions</a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2ulp%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2ulp</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2ulp-error%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">fl2ulp-<wbr></wbr>error</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax..hi%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">+<span class="mywbr"> </span>max.hi</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax..lo%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">+<span class="mywbr"> </span>max.lo</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-max..hi%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink"><span class="nobreak">-<wbr></wbr>m</span>ax.hi</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-max..lo%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink"><span class="nobreak">-<wbr></wbr>m</span>ax.lo</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax-subnormal..hi%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">+<span class="mywbr"> </span>max-<wbr></wbr>subnormal.hi</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-max-subnormal..hi%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink"><span class="nobreak">-<wbr></wbr>m</span>ax-<wbr></wbr>subnormal.hi</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.4.2<tt> </tt></span><a href="#%28part._.Low-.Level_.Double-.Double_.Operations%29" class="tocsubseclink" data-pltdoc="x">Low-<wbr></wbr>Level Double-<wbr></wbr>Double Operations</a></td></tr><tr><td><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-mono-fl%2B%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">fast-<wbr></wbr>mono-<wbr></wbr>fl+<span class="mywbr"> </span>/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-mono-fl-%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">fast-<wbr></wbr>mono-<wbr></wbr>fl-<wbr></wbr>/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-fl%2B%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">fast-<wbr></wbr>fl+<span class="mywbr"> </span>/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-fl-%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">fast-<wbr></wbr>fl-<wbr></wbr>/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-fl%2A%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">fast-<wbr></wbr>fl*/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-fl%2F%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">fast-<wbr></wbr>fl/<span class="mywbr"> </span>/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-flsqr%2Ferror%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">fast-<wbr></wbr>flsqr/<span class="mywbr"> </span>error</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._flsplit%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">flsplit</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.5<tt> </tt></span><a href="#%28part._.Additional_.Flonum_.Vector_.Functions%29" class="tocsubseclink" data-pltdoc="x">Additional Flonum Vector Functions</a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._build-flvector%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">build-<wbr></wbr>flvector</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._inline-build-flvector%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">inline-<wbr></wbr>build-<wbr></wbr>flvector</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-map%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector-<wbr></wbr>map</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._inline-flvector-map%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">inline-<wbr></wbr>flvector-<wbr></wbr>map</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-copy%21%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector-<wbr></wbr>copy!</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._list-~3eflvector%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">list-<wbr></wbr>>flvector</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-~3elist%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector-<wbr></wbr>>list</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._vector-~3eflvector%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">vector-<wbr></wbr>>flvector</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-~3evector%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector-<wbr></wbr>>vector</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector%2B%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector+</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector%2A%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector*</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector-</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector%2F%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector/</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-scale%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector-<wbr></wbr>scale</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-abs%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector-<wbr></wbr>abs</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-sqr%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector-<wbr></wbr>sqr</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-sqrt%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector-<wbr></wbr>sqrt</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-min%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector-<wbr></wbr>min</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-max%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector-<wbr></wbr>max</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-sum%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector-<wbr></wbr>sum</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-sums%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">flvector-<wbr></wbr>sums</span></span></a></td></tr></table></div></div><div class="maincolumn"><div class="main"><div class="versionbox"><span class="version">6.7</span></div><div class="navsettop"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, "6.7", "../");" onfocus="this.style.color="black"; this.style.textAlign="left"; if (this.value == "...search manuals...") this.value="";" onblur="if (this.value.match(/^ *$/)) { this.style.color="#888"; this.style.textAlign="center"; this.value="...search manuals..."; }"/></form> <a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("6.7");">top</a></span><span class="navright"> <a href="base.html" title="backward to "1 Constants and Elementary Functions"" data-pltdoc="x">← prev</a> <a href="index.html" title="up to "Math Library"" data-pltdoc="x">up</a> <a href="special.html" title="forward to "3 Special Functions"" data-pltdoc="x">next →</a></span> </div><h3 x-source-module="(lib "math/scribblings/math.scrbl")" x-source-pkg="math-doc" x-part-tag=""flonum"">2<tt> </tt><a name="(part._flonum)"></a><a name="(mod-path._math/flonum)"></a>Flonums</h3><div class="SAuthorListBox"><span class="SAuthorList"><p class="author">Neil Toronto <<a href="mailto:ntoronto@racket-lang.org">ntoronto@racket-lang.org</a>></p></span></div><p><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=require.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._require%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="" class="RktModLink" data-pltdoc="x"><span class="RktSym">math/flonum</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller"> package:</span> <span class="stt">math-lib</span></span></td></tr></table></p><p>For convenience, <a href="" class="RktModLink" data-pltdoc="x"><span class="RktSym">math/flonum</span></a> re-exports <a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html&version=6.7" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">racket/flonum</span></a>
as well as providing the functions document below.</p><table cellspacing="0" cellpadding="0"><tr><td><p><span class="hspace"> </span><a href="#%28part._.Additional_.Flonum_.Functions%29" class="toclink" data-pltdoc="x">2.1<span class="hspace"> </span>Additional Flonum Functions</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="#%28part._.Log-.Space_.Arithmetic%29" class="toclink" data-pltdoc="x">2.2<span class="hspace"> </span>Log-Space Arithmetic</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="#%28part._.Debugging_.Flonum_.Functions%29" class="toclink" data-pltdoc="x">2.3<span class="hspace"> </span>Debugging Flonum Functions</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="#%28part._.Measuring_.Floating-.Point_.Error%29" class="toclink" data-pltdoc="x">2.3.1<span class="hspace"> </span>Measuring Floating-Point Error</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="#%28part._.Flonum_.Constants%29" class="toclink" data-pltdoc="x">2.3.2<span class="hspace"> </span>Flonum Constants</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="#%28part._.Low-.Level_.Flonum_.Operations%29" class="toclink" data-pltdoc="x">2.3.3<span class="hspace"> </span>Low-Level Flonum Operations</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="#%28part._.Double-.Double_.Operations%29" class="toclink" data-pltdoc="x">2.4<span class="hspace"> </span>Double-Double Operations</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="#%28part._.Debugging_.Double-.Double_.Functions%29" class="toclink" data-pltdoc="x">2.4.1<span class="hspace"> </span>Debugging Double-Double Functions</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="#%28part._.Low-.Level_.Double-.Double_.Operations%29" class="toclink" data-pltdoc="x">2.4.2<span class="hspace"> </span>Low-Level Double-Double Operations</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="#%28part._.Additional_.Flonum_.Vector_.Functions%29" class="toclink" data-pltdoc="x">2.5<span class="hspace"> </span>Additional Flonum Vector Functions</a></p></td></tr></table><h4 x-source-module="(lib "math/scribblings/math.scrbl")" x-source-pkg="math-doc" x-part-tag=""Additional_Flonum_Functions"">2.1<tt> </tt><a name="(part._.Additional_.Flonum_.Functions)"></a>Additional Flonum Functions</h4><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Real%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Real</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Equivalent to <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._real-%7E3edouble-flonum%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">real->double-flonum</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span>, but much easier to read and write.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="hspace"> </span><span class="RktVal">1/2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.5</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.5</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="hspace"> </span><span class="RktVal">0.5f0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.5</span></p></td></tr></table></blockquote></div></p></div><div class="SIntrapara">Note that <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-%7E3einexact%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">exact->inexact</a></span> does not always convert a <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Real%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Real</a></span> to a <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span>:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-%7E3einexact%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">exact->inexact</a></span><span class="hspace"> </span><span class="RktVal">0.5f0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.5f0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flabs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flabs</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-%7E3einexact%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">exact->inexact</a></span><span class="hspace"> </span><span class="RktVal">0.5f0</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktErr">flabs: contract violation</span></p></td></tr><tr><td><p><span class="RktErr"></span><span class="hspace"> </span><span class="RktErr">expected: flonum?</span></p></td></tr><tr><td><p><span class="RktErr"></span><span class="hspace"> </span><span class="RktErr">given: 0.5f0</span></p></td></tr></table></blockquote></div><div class="SIntrapara">You should prefer <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span> over <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-%7E3einexact%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">exact->inexact</a></span>, especially in Typed Racket code.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flsgn))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsgn%29%29" class="RktValDef RktValLink" data-pltdoc="x">flsgn</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fleven~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fleven~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">fleven?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flodd~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flodd~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">flodd?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528lib._racket%252Fmath..rkt%2529._sgn%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">sgn</a></span>, <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._even%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">even?</a></span> and <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._odd%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">odd?</a></span>, but restricted to flonum input.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fmap..rkt%2529._map%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">map</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsgn%29%29" class="RktValLink" data-pltdoc="x">flsgn</a></span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal"><span class="nobreak">-2</span>.0</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-0</span>.0</span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="hspace"> </span><span class="RktVal">2.0</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(-1.0 0.0 0.0 1.0)</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fmap..rkt%2529._map%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">map</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fleven~3f%29%29" class="RktValLink" data-pltdoc="x">fleven?</a></span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">2.0</span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(#t #f #f)</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fmap..rkt%2529._map%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">map</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flodd~3f%29%29" class="RktValLink" data-pltdoc="x">flodd?</a></span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">2.0</span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(#f #t #f)</span></p></td></tr></table></blockquote></div></p></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flrational~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flrational~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">flrational?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flinfinite~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flinfinite~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">flinfinite?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flnan~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flnan~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">flnan?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flinteger~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flinteger~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">flinteger?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._rational%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">rational?</a></span>, <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528lib._racket%252Fmath..rkt%2529._infinite%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">infinite?</a></span>, <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528lib._racket%252Fmath..rkt%2529._nan%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">nan?</a></span> and <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._integer%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">integer?</a></span>, but restricted
to flonum input.
In Typed Racket, these are 2-3 times faster as well.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flhypot))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flhypot%29%29" class="RktValDef RktValLink" data-pltdoc="x">flhypot</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Computes <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flsqrt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flsqrt</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktVar">y</span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span> in way that overflows only when the
answer is too large.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flsqrt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flsqrt</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktVal">1e+200</span><span class="hspace"> </span><span class="RktVal">1e+200</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktVal">1e+199</span><span class="hspace"> </span><span class="RktVal">1e+199</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">+inf.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flhypot%29%29" class="RktValLink" data-pltdoc="x">flhypot</a></span><span class="hspace"> </span><span class="RktVal">1e+200</span><span class="hspace"> </span><span class="RktVal">1e+199</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0049875621120889e+200</span></p></td></tr></table></blockquote></div></p></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flsum))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lgprod%29%29" class="RktValDef RktValLink" data-pltdoc="x">flsum</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Listof%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Listof</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=procedures.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._apply%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">apply</a></span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktVar">xs</span><span class="RktPn">)</span>, but incurs rounding error only once.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">1e-16</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">1e-16</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">1e-16</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lgprod%29%29" class="RktValLink" data-pltdoc="x">flsum</a></span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">1e-16</span><span class="hspace"> </span><span class="RktVal">1e-16</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0000000000000002</span></p></td></tr></table></blockquote></div></p></div><div class="SIntrapara">The <span class="RktSym"><a href="base.html#%28def._%28%28lib._math%2Fbase..rkt%29._sum%29%29" class="RktValLink" data-pltdoc="x">sum</a></span> function does the same for heterogenous lists of reals.</div></p><p>Worst-case time complexity is O(<span style="font-style: italic">n</span><span style="vertical-align: super; font-size: 80%">2</span>), though the pathological
inputs needed to observe quadratic time are exponentially improbable and are hard
to generate purposely. Expected time complexity is O(<span style="font-style: italic">n</span> log(<span style="font-style: italic">n</span>)).</p><p>See <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-sums%29%29" class="RktValLink" data-pltdoc="x">flvector-sums</a></span> for a variant that computes all the partial sums in <span class="RktVar">xs</span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flsinh))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsinh%29%29" class="RktValDef RktValLink" data-pltdoc="x">flsinh</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flcosh))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flcosh%29%29" class="RktValDef RktValLink" data-pltdoc="x">flcosh</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fltanh))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fltanh%29%29" class="RktValDef RktValLink" data-pltdoc="x">fltanh</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Return the <a href="http://en.wikipedia.org/wiki/Hyperbolic_function">hyperbolic sine, cosine and tangent</a>
of <span class="RktVar">x</span>, respectively.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=plotting.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._plot%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">plot</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">list</a></span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=renderer2d.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._function%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">function</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=procedures.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Flist..rkt%2529._compose%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">compose</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsinh%29%29" class="RktValLink" data-pltdoc="x">flsinh</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">#:label</span><span class="hspace"> </span><span class="RktVal">"flsinh x"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=renderer2d.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._function%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">function</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=procedures.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Flist..rkt%2529._compose%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">compose</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flcosh%29%29" class="RktValLink" data-pltdoc="x">flcosh</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">#:label</span><span class="hspace"> </span><span class="RktVal">"flcosh x"</span><span class="hspace"> </span><span class="RktPn">#:color</span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=renderer2d.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._function%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">function</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=procedures.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Flist..rkt%2529._compose%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">compose</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fltanh%29%29" class="RktValLink" data-pltdoc="x">fltanh</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">#:label</span><span class="hspace"> </span><span class="RktVal">"fltanh x"</span><span class="hspace"> </span><span class="RktPn">#:color</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">#:x-min</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-2</span></span><span class="hspace"> </span><span class="RktPn">#:x-max</span><span class="hspace"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktPn">#:y-label</span><span class="hspace"> </span><span class="RktVal">#f</span><span class="hspace"> </span><span class="RktPn">#:legend-anchor</span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">bottom-right</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><img style="vertical-align: 0px; margin: -3px -3px -3px -3px;" src="pict.png" alt="image" width="406" height="406"/></p></td></tr></table></blockquote></div></p><p>Maximum observed error is 2 <a href="#%28tech._ulp%29" class="techoutside" data-pltdoc="x"><span class="techinside">ulps</span></a>, making these functions (currently) much more accurate than their
<a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528mod-path._racket%252Fmath%2529&version=6.7" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">racket/math</span></a> counterparts. They also return sensible values on the largest possible domain.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flasinh))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flasinh%29%29" class="RktValDef RktValLink" data-pltdoc="x">flasinh</a></span></span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flacosh))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flacosh%29%29" class="RktValDef RktValLink" data-pltdoc="x">flacosh</a></span></span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flatanh))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flatanh%29%29" class="RktValDef RktValLink" data-pltdoc="x">flatanh</a></span></span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Return the <a href="http://en.wikipedia.org/wiki/Inverse_hyperbolic_function">inverse hyperbolic sine, cosine and tangent</a>
of <span class="RktVar">y</span>, respectively.</div></p><p>These functions are as robust and accurate as their corresponding inverses.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flfactorial))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flfactorial%29%29" class="RktValDef RktValLink" data-pltdoc="x">flfactorial</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flbinomial))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flbinomial%29%29" class="RktValDef RktValLink" data-pltdoc="x">flbinomial</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">k</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flpermutations))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flpermutations%29%29" class="RktValDef RktValLink" data-pltdoc="x">flpermutations</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">k</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flmultinomial))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flmultinomial%29%29" class="RktValDef RktValLink" data-pltdoc="x">flmultinomial</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">ks</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ks</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Listof%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Listof</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="number-theory.html#%28def._%28%28lib._math%2Fnumber-theory..rkt%29._factorial%29%29" class="RktValLink" data-pltdoc="x">factorial</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fl-%7E3eexact-integer%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fl->exact-integer</a></span><span class="stt"> </span><span class="RktVar">n</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span> and so on, but computed in constant
time. Also, these return <span class="RktVal">+nan.0</span> instead of raising exceptions.</div></p><p>For factorial-like functions that return sensible values for non-integers, see
<span class="RktSym"><a href="special.html#%28def._%28%28lib._math%2Fspecial-functions..rkt%29._gamma%29%29" class="RktValLink" data-pltdoc="x">gamma</a></span> and <span class="RktSym"><a href="special.html#%28def._%28%28lib._math%2Fspecial-functions..rkt%29._beta%29%29" class="RktValLink" data-pltdoc="x">beta</a></span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fllog-factorial))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog-factorial%29%29" class="RktValDef RktValLink" data-pltdoc="x">fllog-factorial</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fllog-binomial))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog-binomial%29%29" class="RktValDef RktValLink" data-pltdoc="x">fllog-binomial</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">k</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fllog-permutations))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog-permutations%29%29" class="RktValDef RktValLink" data-pltdoc="x">fllog-permutations</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">k</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fllog-multinomial))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog-multinomial%29%29" class="RktValDef RktValLink" data-pltdoc="x">fllog-multinomial</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">ks</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ks</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Listof%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Listof</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flfactorial%29%29" class="RktValLink" data-pltdoc="x">flfactorial</a></span><span class="stt"> </span><span class="RktVar">n</span><span class="RktPn">)</span><span class="RktPn">)</span> and so on, but more accurate and without unnecessary overflow.</div></p><p>For log-factorial-like functions that return sensible values for non-integers, see
<span class="RktSym"><a href="special.html#%28def._%28%28lib._math%2Fspecial-functions..rkt%29._log-gamma%29%29" class="RktValLink" data-pltdoc="x">log-gamma</a></span> and <span class="RktSym"><a href="special.html#%28def._%28%28lib._math%2Fspecial-functions..rkt%29._log-beta%29%29" class="RktValLink" data-pltdoc="x">log-beta</a></span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fllog1p))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog1p%29%29" class="RktValDef RktValLink" data-pltdoc="x">fllog1p</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flexpm1))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpm1%29%29" class="RktValDef RktValLink" data-pltdoc="x">flexpm1</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktVal">1.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span> and <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span>, but accurate when
<span class="RktVar">x</span> is small (within 1 <a href="#%28tech._ulp%29" class="techoutside" data-pltdoc="x"><span class="techinside">ulp</span></a>).</div></p><p><div class="SIntrapara">For example, one difficult input for <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktVal">1.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span> and <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span>
is <span class="RktVar">x</span> = <span class="RktVal">1e-14</span>, which <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog1p%29%29" class="RktValLink" data-pltdoc="x">fllog1p</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpm1%29%29" class="RktValLink" data-pltdoc="x">flexpm1</a></span> compute correctly:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">1e-14</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">9.992007221626358e-15</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog1p%29%29" class="RktValLink" data-pltdoc="x">fllog1p</a></span><span class="hspace"> </span><span class="RktVal">1e-14</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">9.99999999999995e-15</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="hspace"> </span><span class="RktVal">1e-14</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">9.992007221626409e-15</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpm1%29%29" class="RktValLink" data-pltdoc="x">flexpm1</a></span><span class="hspace"> </span><span class="RktVal">1e-14</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0000000000000049e-14</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara">These functions are mutual inverses:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=plotting.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._plot%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">plot</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">list</a></span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=renderer2d.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._function%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">function</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._%7Ece%7Ebb%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">λ</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">#:color</span><span class="hspace"> </span><span class="RktVal">0</span><span class="hspace"> </span><span class="RktPn">#:style</span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">long-dash</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=renderer2d.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._function%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">function</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=procedures.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Flist..rkt%2529._compose%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">compose</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog1p%29%29" class="RktValLink" data-pltdoc="x">fllog1p</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">#:label</span><span class="hspace"> </span><span class="RktVal">"fllog1p x"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=renderer2d.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._function%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">function</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=procedures.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Flist..rkt%2529._compose%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">compose</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpm1%29%29" class="RktValLink" data-pltdoc="x">flexpm1</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">#:label</span><span class="hspace"> </span><span class="RktVal">"flexpm1 x"</span><span class="hspace"> </span><span class="RktPn">#:color</span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">#:x-min</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-4</span></span><span class="hspace"> </span><span class="RktPn">#:x-max</span><span class="hspace"> </span><span class="RktVal">4</span><span class="hspace"> </span><span class="RktPn">#:y-min</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-4</span></span><span class="hspace"> </span><span class="RktPn">#:y-max</span><span class="hspace"> </span><span class="RktVal">4</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><img style="vertical-align: 0px; margin: -3px -3px -3px -3px;" src="pict_2.png" alt="image" width="406" height="406"/></p></td></tr></table></blockquote></div><div class="SIntrapara">Notice that both graphs pass through the origin. Thus, inputs close to <span class="RktVal">0.0</span>,
around which flonums are particularly dense, result in outputs that are also close
to <span class="RktVal">0.0</span>. Further, both functions are approximately the identity function
near <span class="RktVal">0.0</span>, so the output density is approximately the same.</div></p><p>Many flonum functions defined in terms of <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span> and <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span>
become much more accurate when their defining expressions are put in terms of
<span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog1p%29%29" class="RktValLink" data-pltdoc="x">fllog1p</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpm1%29%29" class="RktValLink" data-pltdoc="x">flexpm1</a></span>. The functions exported by this module and
by <a href="special.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">math/special-functions</span></a> use them extensively.</p><p><div class="SIntrapara">One notorious culprit is <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktVal">1.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktSym">y</span><span class="RktPn">)</span>, when <span class="RktVar">x</span> is near
<span class="RktVal">0.0</span>. Computing it directly too often results in the wrong answer:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">1e-20</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">1e+20</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0</span></p></td></tr></table></blockquote></div><div class="SIntrapara">We should expect that multiplying a number just less than <span class="RktVal">1.0</span> by itself
that many times would result in something less than <span class="RktVal">1.0</span>. The problem
comes from subtracting such a small number from <span class="RktVal">1.0</span> in the first place:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">1e-20</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0</span></p></td></tr></table></blockquote></div><div class="SIntrapara">Fortunately, we can compute this correctly by putting the expression in terms
of <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog1p%29%29" class="RktValLink" data-pltdoc="x">fllog1p</a></span>, which avoids the error-prone subtraction:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktVal">1e+20</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog1p%29%29" class="RktValLink" data-pltdoc="x">fllog1p</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="hspace"> </span><span class="RktVal">1e-20</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.36787944117144233</span></p></td></tr></table></blockquote></div><div class="SIntrapara">But see <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpt1p%29%29" class="RktValLink" data-pltdoc="x">flexpt1p</a></span>, which is more accurate still.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flexpt1p))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpt1p%29%29" class="RktValDef RktValLink" data-pltdoc="x">flexpt1p</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktVal">1.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span>, but accurate for any <span class="RktVar">x</span> and <span class="RktVar">y</span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flexpt+))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpt%2B%29%29" class="RktValDef RktValLink" data-pltdoc="x">flexpt+</a></span></span><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktVar">x1</span><span class="stt"> </span><span class="RktVar">x2</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span>, but more accurate.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flexp2))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexp2%29%29" class="RktValDef RktValLink" data-pltdoc="x">flexp2</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Nonnegative-.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Nonnegative-Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Equivalent to <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span><span class="stt"> </span><span class="RktVal">2.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span>, but faster when <span class="RktVar">x</span> is an integer.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fllog2))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog2%29%29" class="RktValDef RktValLink" data-pltdoc="x">fllog2</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Computes the base-2 log of <span class="RktVar">x</span> more accurately than <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252F%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">/</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="stt"> </span><span class="RktVal">2.0</span><span class="RktPn">)</span><span class="RktPn">)</span>.
In particular, <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog2%29%29" class="RktValLink" data-pltdoc="x">fllog2</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span> is correct for any power of two <span class="RktVar">x</span>.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog2%29%29" class="RktValLink" data-pltdoc="x">fllog2</a></span><span class="hspace"> </span><span class="RktVal">4.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.169925001442312</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252F%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">/</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexp2%29%29" class="RktValLink" data-pltdoc="x">flexp2</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>066.0</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="hspace"> </span><span class="RktVal">2.0</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-1066.0000000000002</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog2%29%29" class="RktValLink" data-pltdoc="x">fllog2</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexp2%29%29" class="RktValLink" data-pltdoc="x">flexp2</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>066.0</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-1066.0</span></p></td></tr></table></blockquote></div></p></div><div class="SIntrapara">Maximum observed error is 0.5006 <a href="#%28tech._ulp%29" class="techoutside" data-pltdoc="x"><span class="techinside">ulps</span></a>, but is almost always no more than 0.5 (i.e. it is
almost always <span style="font-style: italic">correct</span>).</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fllogb))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValDef RktValLink" data-pltdoc="x">fllogb</a></span></span><span class="hspace"> </span><span class="RktVar">b</span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">b</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Computes the base-<span class="RktVar">b</span> log of <span class="RktVar">x</span> more accurately than <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252F%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">/</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="stt"> </span><span class="RktVar">b</span><span class="RktPn">)</span><span class="RktPn">)</span>,
and handles limit values correctly.
</div><div class="SIntrapara"><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=plotting.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._plot3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">plot3d</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=renderer3d.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._contour-intervals3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">contour-intervals3d</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._%7Ece%7Ebb%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">λ</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktVar">b</span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="hspace"> </span><span class="RktVar">b</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">0</span><span class="hspace"> </span><span class="RktVal">4</span><span class="hspace"> </span><span class="RktVal">0</span><span class="hspace"> </span><span class="RktVal">4</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">#:x-label</span><span class="hspace"> </span><span class="RktVal">"b"</span><span class="hspace"> </span><span class="RktPn">#:y-label</span><span class="hspace"> </span><span class="RktVal">"x"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><img style="vertical-align: 0px; margin: -3px -3px -3px -3px;" src="pict_3.png" alt="image" width="406" height="406"/></p></td></tr></table></blockquote></div></p></div></p><p>Maximum observed error is 2.1 <a href="#%28tech._ulp%29" class="techoutside" data-pltdoc="x"><span class="techinside">ulps</span></a>, but is usually less than 0.7 (i.e. near rounding error).</p><p><div class="SIntrapara">Except possibly at limit values (such as <span class="RktVal">0.0</span> and <span class="RktVal">+inf.0</span>, and <span class="RktVar">b</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">=</a></span><span class="stt"> </span><span class="RktVal">1.0</span>)
and except when the inner expression underflows or overflows, <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span> approximately meets
these identities for <span class="RktVar">b</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3e%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">></a></span><span class="stt"> </span><span class="RktVal">0.0</span>:
</div><div class="SIntrapara"><ul><li><p>Left inverse: <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVar">b</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span><span class="stt"> </span><span class="RktVar">b</span><span class="stt"> </span><span class="RktSym">y</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">=</a></span><span class="stt"> </span><span class="RktSym">y</span></p></li><li><p>Right inverse: <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span><span class="stt"> </span><span class="RktVar">b</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVar">b</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">=</a></span><span class="stt"> </span><span class="RktVar">x</span> when <span class="RktVar">x</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3e%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">></a></span><span class="stt"> </span><span class="RktVal">0.0</span></p></li></ul></div></p><p><div class="SIntrapara">Unlike with <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span>, there is no standard for <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span>’s behavior at limit values.
Fortunately, deriving the following rules (applied in order) is not prohibitively difficult.
</div><div class="SIntrapara"><blockquote class="SCentered"><table cellspacing="0" cellpadding="0" width="90%"><tr><td align="left"><blockquote class="SubFlow"><p><span style="font-weight: bold">Case</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"><p><span style="font-weight: bold">Condition</span></p></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span style="font-weight: bold">Value</span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVar">b</span><span class="stt"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal">0.0</span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVal">1.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal">+nan.0</span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVar">b</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"><p><span class="RktVar">b</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3c%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><</a></span><span class="stt"> </span><span class="RktVal">0.0</span> or <span class="RktVar">x</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3c%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><</a></span><span class="stt"> </span><span class="RktVal">0.0</span></p></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal">+nan.0</span></p></blockquote></td></tr><tr><td align="left" colspan="3"><blockquote class="SubFlow"><p><span style="font-style: italic">Double limits</span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVal">0.0</span><span class="stt"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal">+inf.0</span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVal">0.0</span><span class="stt"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal"><span class="nobreak">-i</span>nf.0</span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVal">+inf.0</span><span class="stt"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal"><span class="nobreak">-i</span>nf.0</span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVal">+inf.0</span><span class="stt"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal">+inf.0</span></p></blockquote></td></tr><tr><td align="left" colspan="3"><blockquote class="SubFlow"><p><span style="font-style: italic">Limits with respect to <span class="RktVar">b</span></span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVal">0.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"><p><span class="RktVar">x</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3c%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><</a></span><span class="stt"> </span><span class="RktVal">1.0</span></p></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal">0.0</span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVal">0.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"><p><span class="RktVar">x</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3e%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">></a></span><span class="stt"> </span><span class="RktVal">1.0</span></p></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal"><span class="nobreak">-0</span>.0</span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVal">+inf.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"><p><span class="RktVar">x</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3e%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">></a></span><span class="stt"> </span><span class="RktVal">1.0</span></p></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal">0.0</span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVal">+inf.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"><p><span class="RktVar">x</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3c%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><</a></span><span class="stt"> </span><span class="RktVal">1.0</span></p></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal"><span class="nobreak">-0</span>.0</span></p></blockquote></td></tr><tr><td align="left" colspan="3"><blockquote class="SubFlow"><p><span style="font-style: italic">Limits with respect to <span class="RktVar">x</span></span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVar">b</span><span class="stt"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"><p><span class="RktVar">b</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3c%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><</a></span><span class="stt"> </span><span class="RktVal">1.0</span></p></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal">+inf.0</span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVar">b</span><span class="stt"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"><p><span class="RktVar">b</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3e%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">></a></span><span class="stt"> </span><span class="RktVal">1.0</span></p></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal"><span class="nobreak">-i</span>nf.0</span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVar">b</span><span class="stt"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"><p><span class="RktVar">b</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3e%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">></a></span><span class="stt"> </span><span class="RktVal">1.0</span></p></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal">+inf.0</span></p></blockquote></td></tr><tr><td align="left"><blockquote class="SubFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVar">b</span><span class="stt"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></p></blockquote></td><td align="center"><blockquote class="SubFlow"><p><span class="RktVar">b</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3c%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><</a></span><span class="stt"> </span><span class="RktVal">1.0</span></p></blockquote></td><td align="right"><blockquote class="SubFlow"><p><span class="RktVal"><span class="nobreak">-i</span>nf.0</span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Most of these rules are derived by taking limits of the mathematical base-<span class="RktVar">b</span> log function.
Except for <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVal">1.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span>, when doing so gives rise to ambiguities, they are resolved using
<span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span>’s behavior, which follows the IEEE 754 and C99 standards for <span class="stt">pow</span>.</div></p><p>For example, consider <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVal">0.0</span><span class="stt"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span>.
Taking an interated limit, we get ∞ if the outer limit is with respect to <span class="RktVar">x</span>, or 0 if the
outer limit is with respect to <span class="RktVar">b</span>.
This would normally mean <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="stt"> </span><span class="RktVal">0.0</span><span class="stt"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">=</a></span><span class="stt"> </span><span class="RktVal">+nan.0</span>.</p><p><div class="SIntrapara">However, choosing <span class="RktVal">+inf.0</span> ensures that these additional left-inverse and right-inverse
identities hold:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">=</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span></td></tr><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllogb%29%29" class="RktValLink" data-pltdoc="x">fllogb</a></span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">=</a></span><span class="hspace"> </span><span class="RktVal">0.0</span></td></tr></table></blockquote></div><div class="SIntrapara">Further, choosing <span class="RktVal">0.0</span> does not ensure that any additional identities hold.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flbracketed-root))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flbracketed-root%29%29" class="RktValDef RktValLink" data-pltdoc="x">flbracketed-root</a></span></span><span class="hspace"> </span><span class="RktVar">f</span><span class="hspace"> </span><span class="RktVar">a</span><span class="hspace"> </span><span class="RktVar">b</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">f</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._-%7E3e%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">a</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">b</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Uses the <a href="http://en.wikipedia.org/wiki/Brent%27s_method">Brent-Dekker method</a> to
find a floating-point root of <span class="RktVar">f</span> (an <span class="RktSym">x</span><span class="stt"> </span><span class="RktSym">:</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span> for which <span class="RktPn">(</span><span class="RktVar">f</span><span class="stt"> </span><span class="RktSym">x</span><span class="RktPn">)</span> is
very near a zero crossing) between <span class="RktVar">a</span> and <span class="RktVar">b</span>.
The values <span class="RktPn">(</span><span class="RktVar">f</span><span class="stt"> </span><span class="RktVar">a</span><span class="RktPn">)</span> and <span class="RktPn">(</span><span class="RktVar">f</span><span class="stt"> </span><span class="RktVar">b</span><span class="RktPn">)</span> must have opposite signs, but <span class="RktVar">a</span> and <span class="RktVar">b</span>
may be in any order.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktVar">f</span><span class="hspace"> </span><span class="RktSym">x</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktSym">x</span><span class="hspace"> </span><span class="RktVal">3.0</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528lib._racket%252Fmath..rkt%2529._sqr%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">sqr</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="hspace"> </span><span class="RktSym">x</span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="hspace"> </span><span class="RktSym">x0</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flbracketed-root%29%29" class="RktValLink" data-pltdoc="x">flbracketed-root</a></span><span class="hspace"> </span><span class="RktVar">f</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-4</span>.0</span><span class="hspace"> </span><span class="RktVal">2.0</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=plotting.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._plot%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">plot</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=renderer2d.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._x-axis%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">x-axis</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=renderer2d.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._function%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">function</a></span><span class="hspace"> </span><span class="RktVar">f</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-4</span></span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=renderer2d.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._function-label%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">function-label</a></span><span class="hspace"> </span><span class="RktVar">f</span><span class="hspace"> </span><span class="RktSym">x0</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">#:y-min</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><img style="vertical-align: 0px; margin: -3px -3px -3px -3px;" src="pict_4.png" alt="image" width="406" height="406"/></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktVar">f</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flprev%29%29" class="RktValLink" data-pltdoc="x">flprev</a></span><span class="hspace"> </span><span class="RktSym">x0</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-7.105427357601002e-15</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktVar">f</span><span class="hspace"> </span><span class="RktSym">x0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">6.661338147750939e-16</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flbracketed-root%29%29" class="RktValLink" data-pltdoc="x">flbracketed-root</a></span><span class="hspace"> </span><span class="RktVar">f</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>.0</span><span class="hspace"> </span><span class="RktVal">2.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">+nan.0</span></p></td></tr></table></blockquote></div></p></div><div class="SIntrapara">Caveats:
</div><div class="SIntrapara"><ul><li><p>There is no guarantee that <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flbracketed-root%29%29" class="RktValLink" data-pltdoc="x">flbracketed-root</a></span> will find any <span style="font-style: italic">particular</span> root.
Moreover, future updates to its implementation could make it find different ones.</p></li><li><p>There is currently no guarantee that it will find the <span style="font-style: italic">closest</span> <span class="RktSym">x</span> to an exact root.</p></li><li><p>It currently runs for at most 5000 iterations.</p></li></ul></div><div class="SIntrapara">It usually requires far fewer iterations, especially if the initial bounds <span class="RktVar">a</span> and <span class="RktVar">b</span> are tight.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._make-flexpt))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._make-flexpt%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-flexpt</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._-%7E3e%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Real%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Real</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Equivalent to <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._%7Ece%7Ebb%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">λ</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym">y</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktSym">y</span><span class="RktPn">)</span><span class="RktPn">)</span> when <span class="RktVar">x</span> is a flonum, but much more
accurate for large <span class="RktSym">y</span> when <span class="RktVar">x</span> cannot be exactly represented
by a flonum.</div></p><p><div class="SIntrapara">Suppose we want to compute π<span style="vertical-align: super; font-size: 80%"><span class="RktSym">y</span></span>, where <span class="RktSym">y</span> is a flonum.
If we use <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span> with an <span style="font-style: italic">approximation</span> of the irrational base π,
the error is low near zero, but grows with distance from the origin:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="bigfloat.html#%28def._%28%28lib._math%2Fbigfloat..rkt%29._bf-precision%29%29" class="RktValLink" data-pltdoc="x">bf-precision</a></span><span class="hspace"> </span><span class="RktVal">128</span><span class="RktPn">)</span></td></tr><tr><td><p></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="hspace"> </span><span class="RktSym">y</span><span class="hspace"> </span><span class="RktVal">150.0</span><span class="RktPn">)</span></td></tr><tr><td><p></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="hspace"> </span><span class="RktSym">pi^y</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="bigfloat.html#%28def._%28%28lib._math%2Fbigfloat..rkt%29._bigfloat-~3erational%29%29" class="RktValLink" data-pltdoc="x">bigfloat->rational</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="bigfloat.html#%28def._%28%28lib._math%2Fbigfloat..rkt%29._bfexpt%29%29" class="RktValLink" data-pltdoc="x">bfexpt</a></span><span class="hspace"> </span><span class="RktSym"><a href="bigfloat.html#%28def._%28%28lib._math%2Fbigfloat..rkt%29._pi..bf%29%29" class="RktValLink" data-pltdoc="x">pi.bf</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="bigfloat.html#%28def._%28%28lib._math%2Fbigfloat..rkt%29._bf%29%29" class="RktValLink" data-pltdoc="x">bf</a></span><span class="hspace"> </span><span class="RktSym">y</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValLink" data-pltdoc="x">flulp-error</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexpt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexpt</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528lib._racket%252Fmath..rkt%2529._pi%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">pi</a></span><span class="hspace"> </span><span class="RktSym">y</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktSym">pi^y</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">43.12619934359266</span></p></td></tr></table></blockquote></div><div class="SIntrapara">Using <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._make-flexpt%29%29" class="RktValLink" data-pltdoc="x">make-flexpt</a></span>, the error is near rounding error everywhere:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="hspace"> </span><span class="RktSym">flexppi</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._make-flexpt%29%29" class="RktValLink" data-pltdoc="x">make-flexpt</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="bigfloat.html#%28def._%28%28lib._math%2Fbigfloat..rkt%29._bigfloat-~3erational%29%29" class="RktValLink" data-pltdoc="x">bigfloat->rational</a></span><span class="hspace"> </span><span class="RktSym"><a href="bigfloat.html#%28def._%28%28lib._math%2Fbigfloat..rkt%29._pi..bf%29%29" class="RktValLink" data-pltdoc="x">pi.bf</a></span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValLink" data-pltdoc="x">flulp-error</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">flexppi</span><span class="hspace"> </span><span class="RktSym">y</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktSym">pi^y</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.8738006564073412</span></p></td></tr></table></blockquote></div><div class="SIntrapara">This example is used in the implementations of <span class="RktSym"><a href="special.html#%28def._%28%28lib._math%2Fspecial-functions..rkt%29._zeta%29%29" class="RktValLink" data-pltdoc="x">zeta</a></span> and <span class="RktSym"><a href="special.html#%28def._%28%28lib._math%2Fspecial-functions..rkt%29._psi%29%29" class="RktValLink" data-pltdoc="x">psi</a></span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flsqrt1pm1))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsqrt1pm1%29%29" class="RktValDef RktValLink" data-pltdoc="x">flsqrt1pm1</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flsqrt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flsqrt</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktVal">1.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span>, but accurate when <span class="RktVar">x</span> is small.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fllog1pmx))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog1pmx%29%29" class="RktValDef RktValLink" data-pltdoc="x">fllog1pmx</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog1p%29%29" class="RktValLink" data-pltdoc="x">fllog1p</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span>, but accurate when <span class="RktVar">x</span> is small.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flexpsqr))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpsqr%29%29" class="RktValDef RktValLink" data-pltdoc="x">flexpsqr</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span>, but accurate when <span class="RktVar">x</span> is large.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flgauss))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flgauss%29%29" class="RktValDef RktValLink" data-pltdoc="x">flgauss</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span>, but accurate when <span class="RktVar">x</span> is large.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flexp1p))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexp1p%29%29" class="RktValDef RktValLink" data-pltdoc="x">flexp1p</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktVal">1.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span>, but accurate when <span class="RktVar">x</span> is near a power of 2.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flsinpix))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsinpix%29%29" class="RktValDef RktValLink" data-pltdoc="x">flsinpix</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flcospix))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flcospix%29%29" class="RktValDef RktValLink" data-pltdoc="x">flcospix</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fltanpix))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fltanpix%29%29" class="RktValDef RktValLink" data-pltdoc="x">fltanpix</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flsin%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flsin</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528lib._racket%252Fmath..rkt%2529._pi%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">pi</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span>, <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flcos%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flcos</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528lib._racket%252Fmath..rkt%2529._pi%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">pi</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span> and <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fltan%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fltan</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528lib._racket%252Fmath..rkt%2529._pi%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">pi</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span>, respectively,
but accurate near roots and singularities. When <span class="RktVar">x</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">=</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktSym">n</span><span class="stt"> </span><span class="RktVal">0.5</span><span class="RktPn">)</span> for some integer <span class="RktSym">n</span>,
<span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fltanpix%29%29" class="RktValLink" data-pltdoc="x">fltanpix</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">=</a></span><span class="stt"> </span><span class="RktVal">+nan.0</span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flcscpix))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flcscpix%29%29" class="RktValDef RktValLink" data-pltdoc="x">flcscpix</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flsecpix))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsecpix%29%29" class="RktValDef RktValLink" data-pltdoc="x">flsecpix</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flcotpix))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flcotpix%29%29" class="RktValDef RktValLink" data-pltdoc="x">flcotpix</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252F%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">/</a></span><span class="stt"> </span><span class="RktVal">1.0</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsinpix%29%29" class="RktValLink" data-pltdoc="x">flsinpix</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span>, <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252F%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">/</a></span><span class="stt"> </span><span class="RktVal">1.0</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flcospix%29%29" class="RktValLink" data-pltdoc="x">flcospix</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span> and <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252F%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">/</a></span><span class="stt"> </span><span class="RktVal">1.0</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fltanpix%29%29" class="RktValLink" data-pltdoc="x">fltanpix</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span>,
respectively, but the first two return <span class="RktVal">+nan.0</span> at singularities and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flcotpix%29%29" class="RktValLink" data-pltdoc="x">flcotpix</a></span> avoids
a double reciprocal.</div></p><h4 x-source-module="(lib "math/scribblings/math.scrbl")" x-source-pkg="math-doc" x-part-tag=""Log-Space_Arithmetic"">2.2<tt> </tt><a name="(part._.Log-.Space_.Arithmetic)"></a>Log-Space Arithmetic</h4><p>It is often useful, especially when working with probabilities and probability
densities, to represent nonnegative numbers in <a name="(tech._log._space)"></a><span style="font-style: italic">log space</span>, or as the
natural logs of their true values. Generally, the reason is that the <span style="font-style: italic">smallest</span>
positive flonum is <span style="font-style: italic">too large</span>.</p><p><div class="SIntrapara">For example, say we want the probability density of the standard normal distribution
(the bell curve) at 50 standard deviations from zero:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=require.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._require%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">require</a></span><span class="hspace"> </span><span class="RktSym">math/distributions</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="Distribution_Types_and_Operations.html#%28def._%28%28lib._math%2Fdistributions..rkt%29._pdf%29%29" class="RktValLink" data-pltdoc="x">pdf</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="Real_Distribution_Families.html#%28def._%28%28lib._math%2Fdistributions..rkt%29._normal-dist%29%29" class="RktValLink" data-pltdoc="x">normal-dist</a></span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">50.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.0</span></p></td></tr></table></blockquote></div><div class="SIntrapara">Mathematically, the density is nonzero everywhere, but the density at 50 is less than
<span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmin..0%29%29" class="RktValLink" data-pltdoc="x">+min.0</a></span>. However, its density in log space, or its log-density, is representable:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="Distribution_Types_and_Operations.html#%28def._%28%28lib._math%2Fdistributions..rkt%29._pdf%29%29" class="RktValLink" data-pltdoc="x">pdf</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="Real_Distribution_Families.html#%28def._%28%28lib._math%2Fdistributions..rkt%29._normal-dist%29%29" class="RktValLink" data-pltdoc="x">normal-dist</a></span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">50.0</span><span class="hspace"> </span><span class="RktVal">#t</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-1250.9189385332047</span></p></td></tr></table></blockquote></div><div class="SIntrapara">While this example may seem contrived, it is very common, when computing the density
of a <span style="font-style: italic">vector</span> of data, for the product of the densities to be too small to represent directly.</div></p><p>In log space, exponentiation becomes multiplication, multiplication becomes addition, and
addition becomes tricky. See <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2B%29%29" class="RktValLink" data-pltdoc="x">lg+</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lgsum%29%29" class="RktValLink" data-pltdoc="x">lgsum</a></span> for solutions.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._lg*))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2A%29%29" class="RktValDef RktValLink" data-pltdoc="x">lg*</a></span></span><span class="hspace"> </span><span class="RktVar">logx</span><span class="hspace"> </span><span class="RktVar">logy</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">logx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">logy</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._lg/))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fl-%2529%2529&version=6.7" class="RktValDef Sq RktValLink" data-pltdoc="x">lg/</a></span></span><span class="hspace"> </span><span class="RktVar">logx</span><span class="hspace"> </span><span class="RktVar">logy</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">logx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">logy</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._lgprod))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lgprod%29%29" class="RktValDef RktValLink" data-pltdoc="x">lgprod</a></span></span><span class="hspace"> </span><span class="RktVar">logxs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">logxs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Listof%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Listof</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Equivalent to <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2A%29%29" class="RktValLink" data-pltdoc="x">fl+</a></span><span class="stt"> </span><span class="RktVar">logx</span><span class="stt"> </span><span class="RktVar">logy</span><span class="RktPn">)</span>, <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fl-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fl-</a></span><span class="stt"> </span><span class="RktVar">logx</span><span class="stt"> </span><span class="RktVar">logy</span><span class="RktPn">)</span> and <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lgprod%29%29" class="RktValLink" data-pltdoc="x">flsum</a></span><span class="stt"> </span><span class="RktVar">logxs</span><span class="RktPn">)</span>, respectively.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._lg+))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2B%29%29" class="RktValDef RktValLink" data-pltdoc="x">lg+</a></span></span><span class="hspace"> </span><span class="RktVar">logx</span><span class="hspace"> </span><span class="RktVar">logy</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">logx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">logy</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._lg-))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg-%29%29" class="RktValDef RktValLink" data-pltdoc="x">lg-</a></span></span><span class="hspace"> </span><span class="RktVar">logx</span><span class="hspace"> </span><span class="RktVar">logy</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">logx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">logy</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="stt"> </span><span class="RktVar">logx</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="stt"> </span><span class="RktVar">logy</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span> and <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="stt"> </span><span class="RktVar">logx</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="stt"> </span><span class="RktVar">logy</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span>,
respectively, but more accurate and less prone to overflow and underflow.</div></p><p>When <span class="RktVar">logy</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3e%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">></a></span><span class="stt"> </span><span class="RktVar">logx</span>, <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg-%29%29" class="RktValLink" data-pltdoc="x">lg-</a></span> returns <span class="RktVal">+nan.0</span>. Both functions correctly treat
<span class="RktVal"><span class="nobreak">-i</span>nf.0</span> as log-space <span class="RktVal">0.0</span>.</p><p>To add more than two log-space numbers with the same guarantees, use <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lgsum%29%29" class="RktValLink" data-pltdoc="x">lgsum</a></span>.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2B%29%29" class="RktValLink" data-pltdoc="x">lg+</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="hspace"> </span><span class="RktVal">0.2</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-0.35667494393873234</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2B%29%29" class="RktValLink" data-pltdoc="x">lg+</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="hspace"> </span><span class="RktVal">0.2</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.7000000000000001</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg-%29%29" class="RktValLink" data-pltdoc="x">lg-</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="hspace"> </span><span class="RktVal">0.2</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-1.203972804325936</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg-%29%29" class="RktValLink" data-pltdoc="x">lg-</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="hspace"> </span><span class="RktVal">0.2</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.30000000000000004</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg-%29%29" class="RktValLink" data-pltdoc="x">lg-</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="hspace"> </span><span class="RktVal">0.2</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">+nan.0</span></p></td></tr></table></blockquote></div></p><p>Though more accurate than a naive implementation, both functions are prone to <a href="#%28tech._catastrophic._cancellation%29" class="techoutside" data-pltdoc="x"><span class="techinside">catastrophic
cancellation</span></a> in regions where they output a value close to <span class="RktVal">0.0</span> (or log-space <span class="RktVal">1.0</span>).
While these outputs have high relative error, their absolute error is very low, and when
exponentiated, nearly have just rounding error. Further, catastrophic cancellation is unavoidable
when <span class="RktVar">logx</span> and <span class="RktVar">logy</span> themselves have error, which is by far the common case.</p><p>These are, of course, excuses—<wbr></wbr>but for floating-point research generally. There are currently no
reasonably fast algorithms for computing <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2B%29%29" class="RktValLink" data-pltdoc="x">lg+</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg-%29%29" class="RktValLink" data-pltdoc="x">lg-</a></span> with low relative error.
For now, if you need that kind of accuracy, use <a href="bigfloat.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">math/bigfloat</span></a>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._lgsum))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lgsum%29%29" class="RktValDef RktValLink" data-pltdoc="x">lgsum</a></span></span><span class="hspace"> </span><span class="RktVar">logxs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">logxs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Listof%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Listof</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Like folding <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2B%29%29" class="RktValLink" data-pltdoc="x">lg+</a></span> over <span class="RktVar">logxs</span>, but more accurate. Analogous to <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lgprod%29%29" class="RktValLink" data-pltdoc="x">flsum</a></span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._lg1+))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg1%2B%29%29" class="RktValDef RktValLink" data-pltdoc="x">lg1+</a></span></span><span class="hspace"> </span><span class="RktVar">logx</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">logx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._lg1-))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg1-%29%29" class="RktValDef RktValLink" data-pltdoc="x">lg1-</a></span></span><span class="hspace"> </span><span class="RktVar">logx</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">logx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Equivalent to <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2B%29%29" class="RktValLink" data-pltdoc="x">lg+</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="stt"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVar">logx</span><span class="RktPn">)</span> and <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg-%29%29" class="RktValLink" data-pltdoc="x">lg-</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span><span class="stt"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVar">logx</span><span class="RktPn">)</span>,
respectively, but faster.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flprobability~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flprobability~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">flprobability?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>[<span class="RktVar">log?</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">log?</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Any%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Any</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">#f</span></td></tr></table></blockquote></div><div class="SIntrapara">When <span class="RktVar">log?</span> is <span class="RktVal">#f</span>, returns <span class="RktVal">#t</span> when <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3c%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><=</a></span><span class="stt"> </span><span class="RktVal">0.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span>.
When <span class="RktVar">log?</span> is <span class="RktVal">#t</span>, returns <span class="RktVal">#t</span> when <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3c%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><=</a></span><span class="stt"> </span><span class="RktVal"><span class="nobreak">-i</span>nf.0</span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span>.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flprobability~3f%29%29" class="RktValLink" data-pltdoc="x">flprobability?</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-0</span>.1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flprobability~3f%29%29" class="RktValLink" data-pltdoc="x">flprobability?</a></span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flprobability~3f%29%29" class="RktValLink" data-pltdoc="x">flprobability?</a></span><span class="hspace"> </span><span class="RktVal">+nan.0</span><span class="hspace"> </span><span class="RktVal">#t</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr></table></blockquote></div></p></div></p><h4 x-source-module="(lib "math/scribblings/math.scrbl")" x-source-pkg="math-doc" x-part-tag=""Debugging_Flonum_Functions"">2.3<tt> </tt><a name="(part._.Debugging_.Flonum_.Functions)"></a>Debugging Flonum Functions</h4><p>The following functions and constants are useful in authoring and debugging flonum functions
that must be accurate on the largest possible domain.</p><p><div class="SIntrapara">Suppose we approximate <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span> using its Taylor series centered at <span class="RktVal">1.0</span>, truncated
after three terms (a second-order polynomial):
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">exp-taylor-1</span><span class="hspace"> </span><span class="RktSym">x</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=let.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fletstx-scheme..rkt%2529._let%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">let</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">x</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="hspace"> </span><span class="RktSym">x</span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktSym">x</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="hspace"> </span><span class="RktSym">x</span><span class="hspace"> </span><span class="RktSym">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote></div></p><p><div class="SIntrapara">We can use <a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=index.html&version=6.7" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">plot</span></a> and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span> (documented below) to compare its output
to that of <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span> on very small intervals:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=plotting.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._plot%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">plot</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=renderer2d.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._function%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">function</a></span><span class="hspace"> </span><span class="RktSym">exp-taylor-1</span><span class="hspace"> </span><span class="RktPn">#:label</span><span class="hspace"> </span><span class="RktVal">"exp-taylor-1 x"</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=renderer2d.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._function%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">function</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">exp</a></span><span class="hspace"> </span><span class="RktPn">#:color</span><span class="hspace"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktPn">#:label</span><span class="hspace"> </span><span class="RktVal">"exp x"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">#:x-min</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span><span class="hspace"> </span><span class="RktVal">1.00002</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-4</span>0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">#:x-max</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span><span class="hspace"> </span><span class="RktVal">1.00002</span><span class="hspace"> </span><span class="RktVal">40</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">#:width</span><span class="hspace"> </span><span class="RktVal">480</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><img style="vertical-align: 0px; margin: -3px -3px -3px -3px;" src="pict_5.png" alt="image" width="486" height="406"/></p></td></tr></table></blockquote></div><div class="SIntrapara">Such plots are especially useful when centered at a boundary between two different
approximation methods.</div></p><p><div class="SIntrapara">For larger intervals, assuming the approximated function is fairly smooth,
we can get a better idea how close the approximation is using <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValLink" data-pltdoc="x">flulp-error</a></span>:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=plotting.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._plot%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">plot</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=plot&rel=renderer2d.html%23%2528def._%2528%2528lib._plot%252Fmain..rkt%2529._function%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">function</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._%7Ece%7Ebb%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">λ</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValLink" data-pltdoc="x">flulp-error</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">exp-taylor-1</span><span class="hspace"> </span><span class="RktSym">x</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">exp</a></span><span class="hspace"> </span><span class="RktSym">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">#:x-min</span><span class="hspace"> </span><span class="RktVal">0.99998</span><span class="hspace"> </span><span class="RktPn">#:x-max</span><span class="hspace"> </span><span class="RktVal">1.00002</span><span class="hspace"> </span><span class="RktPn">#:y-label</span><span class="hspace"> </span><span class="RktVal">"Error (ulps)"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><img style="vertical-align: 0px; margin: -3px -3px -3px -3px;" src="pict_6.png" alt="image" width="406" height="406"/></p></td></tr></table></blockquote></div><div class="SIntrapara">We can infer from this plot that our Taylor series approximation has close to
rounding error (no more than an <a href="#%28tech._ulp%29" class="techoutside" data-pltdoc="x"><span class="techinside">ulp</span></a>) near <span class="RktVal">1.0</span>, but quickly becomes worse farther away.</div></p><p>To get a ground-truth function such as <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">exp</a></span> to test against, compute the
outputs as accurately as possible using exact rationals or high-precision <a href="bigfloat.html#%28tech._bigfloat%29" class="techoutside" data-pltdoc="x"><span class="techinside">bigfloats</span></a>.</p><h5 x-source-module="(lib "math/scribblings/math.scrbl")" x-source-pkg="math-doc" x-part-tag=""Measuring_Floating-Point_Error"">2.3.1<tt> </tt><a name="(part._.Measuring_.Floating-.Point_.Error)"></a>Measuring Floating-Point Error</h5><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flulp))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp%29%29" class="RktValDef RktValLink" data-pltdoc="x">flulp</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVar">x</span>’s <a name="(tech._ulp)"></a><span style="font-style: italic">ulp</span>, or <span style="font-weight: bold">u</span>nit in <span style="font-weight: bold">l</span>ast <span style="font-weight: bold">p</span>lace:
the magnitude of the least significant bit in <span class="RktVar">x</span>.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp%29%29" class="RktValLink" data-pltdoc="x">flulp</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.220446049250313e-16</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp%29%29" class="RktValLink" data-pltdoc="x">flulp</a></span><span class="hspace"> </span><span class="RktVal">1e-100</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.2689709186578246e-116</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp%29%29" class="RktValLink" data-pltdoc="x">flulp</a></span><span class="hspace"> </span><span class="RktVal">1e+200</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.6996415770136547e+184</span></p></td></tr></table></blockquote></div></p></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flulp-error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValDef RktValLink" data-pltdoc="x">flulp-error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">r</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">r</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Real%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Real</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the absolute number of <a href="#%28tech._ulp%29" class="techoutside" data-pltdoc="x"><span class="techinside">ulps</span></a> difference between <span class="RktVar">x</span> and <span class="RktVar">r</span>.</div></p><p>For non-rational arguments such as <span class="RktVal">+nan.0</span>, <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValLink" data-pltdoc="x">flulp-error</a></span> returns <span class="RktVal">0.0</span>
if <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._eqv%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">eqv?</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVar">r</span><span class="RktPn">)</span>; otherwise it returns <span class="RktVal">+inf.0</span>.</p><p>A flonum function with maximum error <span class="RktVal">0.5</span> ulps exhibits only rounding error;
it is <span style="font-style: italic">correct</span>. A flonum function with maximum error no greater than a few ulps
is <span style="font-style: italic">accurate</span>. Most moderately complicated flonum functions, when implemented
directly, seem to have over a hundred thousand ulps maximum error.</p><p><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValLink" data-pltdoc="x">flulp-error</a></span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="hspace"> </span><span class="RktVal">1/2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValLink" data-pltdoc="x">flulp-error</a></span><span class="hspace"> </span><span class="RktVal">0.14285714285714285</span><span class="hspace"> </span><span class="RktVal">1/7</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.2857142857142857</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValLink" data-pltdoc="x">flulp-error</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValLink" data-pltdoc="x">flulp-error</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal">+nan.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">+inf.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValLink" data-pltdoc="x">flulp-error</a></span><span class="hspace"> </span><span class="RktVal">1e-20</span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">+inf.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValLink" data-pltdoc="x">flulp-error</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="hspace"> </span><span class="RktVal">4999999/5000000</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">1/5000000</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">217271.6580864</span></p></td></tr></table></blockquote></div></p></div><div class="SIntrapara"><span class="refelem"><span class="refcolumn"><span class="refcontent">* You can make an exception when the result is to be exponentiated.
If <span class="RktVar">x</span> has small <span class="RktSym"><a href="base.html#%28def._%28%28lib._math%2Fbase..rkt%29._absolute-error%29%29" class="RktValLink" data-pltdoc="x">absolute-error</a></span>, then <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">exp</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span>
has small <span class="RktSym"><a href="base.html#%28def._%28%28lib._math%2Fbase..rkt%29._relative-error%29%29" class="RktValLink" data-pltdoc="x">relative-error</a></span> and small <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValLink" data-pltdoc="x">flulp-error</a></span>.</span></span></span>
The last example subtracts two nearby flonums, the second of which had already been
rounded, resulting in horrendous error. This is an example of <a name="(tech._catastrophic._cancellation)"></a><span style="font-style: italic">catastrophic
cancellation</span>. Avoid subtracting nearby flonums whenever possible.*</div></p><p>See <span class="RktSym"><a href="base.html#%28def._%28%28lib._math%2Fbase..rkt%29._relative-error%29%29" class="RktValLink" data-pltdoc="x">relative-error</a></span> for a similar way to measure approximation error when the
approximation is not necessarily represented by a flonum.</p><h5 x-source-module="(lib "math/scribblings/math.scrbl")" x-source-pkg="math-doc" x-part-tag=""Flonum_Constants"">2.3.2<tt> </tt><a name="(part._.Flonum_.Constants)"></a>Flonum Constants</h5><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._math/flonum..rkt)._-max..0))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-max..0%29%29" class="RktValDef RktValLink" data-pltdoc="x"><span class="nobreak">-m</span>ax.0</a></span></span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._math/flonum..rkt)._-min..0))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-min..0%29%29" class="RktValDef RktValLink" data-pltdoc="x"><span class="nobreak">-m</span>in.0</a></span></span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._math/flonum..rkt)._+min..0))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmin..0%29%29" class="RktValDef RktValLink" data-pltdoc="x">+min.0</a></span></span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._math/flonum..rkt)._+max..0))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax..0%29%29" class="RktValDef RktValLink" data-pltdoc="x">+max.0</a></span></span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">The nonzero, rational flonums with maximum and minimum magnitude.
</div><div class="SIntrapara"><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-max..0%29%29" class="RktValLink" data-pltdoc="x"><span class="nobreak">-m</span>ax.0</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-min..0%29%29" class="RktValLink" data-pltdoc="x"><span class="nobreak">-m</span>in.0</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmin..0%29%29" class="RktValLink" data-pltdoc="x">+min.0</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax..0%29%29" class="RktValLink" data-pltdoc="x">+max.0</a></span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0"><tr><td><p><span class="RktRes">'(-1.7976931348623157e+308</span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">-4.9406564584125e-324</span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">4.9406564584125e-324</span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">1.7976931348623157e+308)</span></p></td></tr></table></td></tr></table></blockquote></div></p></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._math/flonum..rkt)._epsilon..0))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._epsilon..0%29%29" class="RktValDef RktValLink" data-pltdoc="x">epsilon.0</a></span></span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">The smallest flonum that can be added to <span class="RktVal">1.0</span> to yield a larger number,
or the magnitude of the least significant bit in <span class="RktVal">1.0</span>.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._epsilon..0%29%29" class="RktValLink" data-pltdoc="x">epsilon.0</a></span></td></tr><tr><td><p><span class="RktRes">2.220446049250313e-16</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp%29%29" class="RktValLink" data-pltdoc="x">flulp</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.220446049250313e-16</span></p></td></tr></table></blockquote></div></p></div></p><p><div class="SIntrapara">Epsilon is often used in stopping conditions for iterative or additive approximation methods.
For example, the following function uses it to stop Newton’s method to compute square roots.
(Please do not assume this example is robust.)
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">newton-sqrt</span><span class="hspace"> </span><span class="RktSym">x</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=let.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fletstx-scheme..rkt%2529._let%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">let</a></span><span class="hspace"> </span><span class="RktSym">loop</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">y</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="hspace"> </span><span class="RktSym">x</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="hspace"> </span><span class="RktSym">dy</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252F%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">/</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="hspace"> </span><span class="RktSym">x</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528lib._racket%252Fmath..rkt%2529._sqr%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">sqr</a></span><span class="hspace"> </span><span class="RktSym">y</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktVal">2.0</span><span class="hspace"> </span><span class="RktSym">y</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=if.html%23%2528form._%2528%2528quote._%7E23%7E25kernel%2529._if%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">if</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._abs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">abs</a></span><span class="hspace"> </span><span class="RktSym">dy</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">. </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3c%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><=</a></span><span class="RktPn"> .</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._abs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">abs</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._epsilon..0%29%29" class="RktValLink" data-pltdoc="x">epsilon.0</a></span><span class="hspace"> </span><span class="RktSym">y</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktSym">y</span><span class="hspace"> </span><span class="RktSym">dy</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">loop</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktSym">y</span><span class="hspace"> </span><span class="RktSym">dy</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">When <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3c%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><=</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._abs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">abs</a></span><span class="stt"> </span><span class="RktSym">dy</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._abs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">abs</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktVal">0.5</span><span class="stt"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._epsilon..0%29%29" class="RktValLink" data-pltdoc="x">epsilon.0</a></span><span class="stt"> </span><span class="RktSym">y</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span>, adding <span class="RktSym">dy</span> to <span class="RktSym">y</span>
rarely results in a different flonum. The value <span class="RktVal">0.5</span> can be changed to allow
looser approximations. This is a good idea when the approximation does not have to be
as close as possible (e.g. it is only a starting point for another approximation method),
or when the computation of <span class="RktSym">dy</span> is known to be inaccurate.</div></p><p>Approximation error is often understood in terms of relative error in epsilons.
Number of epsilons relative error roughly corresponds with error in ulps, except
when the approximation is subnormal.</p><h5 x-source-module="(lib "math/scribblings/math.scrbl")" x-source-pkg="math-doc" x-part-tag=""Low-Level_Flonum_Operations"">2.3.3<tt> </tt><a name="(part._.Low-.Level_.Flonum_.Operations)"></a>Low-Level Flonum Operations</h5><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flonum-~3ebit-field))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3ebit-field%29%29" class="RktValDef RktValLink" data-pltdoc="x">flonum->bit-field</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym">Natural</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the bits comprising <span class="RktVar">x</span> as an integer.
A convenient shortcut for composing <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._integer-bytes-%7E3einteger%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">integer-bytes->integer</a></span> with
<span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._real-%7E3efloating-point-bytes%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">real->floating-point-bytes</a></span>.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number-%7E3estring%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">number->string</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3ebit-field%29%29" class="RktValLink" data-pltdoc="x">flonum->bit-field</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-i</span>nf.0</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">16</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"fff0000000000000"</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number-%7E3estring%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">number->string</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3ebit-field%29%29" class="RktValLink" data-pltdoc="x">flonum->bit-field</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">16</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"7ff0000000000000"</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number-%7E3estring%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">number->string</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3ebit-field%29%29" class="RktValLink" data-pltdoc="x">flonum->bit-field</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-0</span>.0</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">16</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"8000000000000000"</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number-%7E3estring%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">number->string</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3ebit-field%29%29" class="RktValLink" data-pltdoc="x">flonum->bit-field</a></span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">16</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"0"</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number-%7E3estring%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">number->string</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3ebit-field%29%29" class="RktValLink" data-pltdoc="x">flonum->bit-field</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>.0</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">16</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"bff0000000000000"</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number-%7E3estring%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">number->string</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3ebit-field%29%29" class="RktValLink" data-pltdoc="x">flonum->bit-field</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">16</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"3ff0000000000000"</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._number-%7E3estring%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">number->string</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3ebit-field%29%29" class="RktValLink" data-pltdoc="x">flonum->bit-field</a></span><span class="hspace"> </span><span class="RktVal">+nan.0</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">16</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"7ff8000000000000"</span></p></td></tr></table></blockquote></div></p></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._bit-field-~3eflonum))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._bit-field-~3eflonum%29%29" class="RktValDef RktValLink" data-pltdoc="x">bit-field->flonum</a></span></span><span class="hspace"> </span><span class="RktVar">i</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">i</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Integer%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Integer</a></span></td></tr></table></blockquote></div><div class="SIntrapara">The inverse of <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3ebit-field%29%29" class="RktValLink" data-pltdoc="x">flonum->bit-field</a></span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flonum-~3eordinal))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValDef RktValLink" data-pltdoc="x">flonum->ordinal</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Integer%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Integer</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the signed ordinal index of <span class="RktVar">x</span> in a total order over flonums.</div></p><p><div class="SIntrapara">When inputs are not <span class="RktVal">+nan.0</span>, this function is monotone and symmetric;
i.e. if <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fl%7E3c%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fl<=</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktSym">y</span><span class="RktPn">)</span> then <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3c%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><=</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span><span class="stt"> </span><span class="RktSym">y</span><span class="RktPn">)</span><span class="RktPn">)</span>,
and <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">=</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span>.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-i</span>nf.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-9218868437227405312</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">9218868437227405312</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-0</span>.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-4607182418800017408</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">4607182418800017408</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span><span class="hspace"> </span><span class="RktVal">+nan.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">9221120237041090560</span></p></td></tr></table></blockquote></div></p></div><div class="SIntrapara">These properties mean that <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span> does not distinguish <span class="RktVal"><span class="nobreak">-0</span>.0</span>
and <span class="RktVal">0.0</span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._ordinal-~3eflonum))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._ordinal-~3eflonum%29%29" class="RktValDef RktValLink" data-pltdoc="x">ordinal->flonum</a></span></span><span class="hspace"> </span><span class="RktVar">i</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">i</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Integer%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Integer</a></span></td></tr></table></blockquote></div><div class="SIntrapara">The inverse of <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flonums-between))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonums-between%29%29" class="RktValDef RktValLink" data-pltdoc="x">flonums-between</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Integer%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Integer</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the number of flonums between <span class="RktVar">x</span> and <span class="RktVar">y</span>, excluding one endpoint.
Equivalent to <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span>.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonums-between%29%29" class="RktValLink" data-pltdoc="x">flonums-between</a></span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">4607182418800017408</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonums-between%29%29" class="RktValLink" data-pltdoc="x">flonums-between</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">2.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">4503599627370496</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonums-between%29%29" class="RktValLink" data-pltdoc="x">flonums-between</a></span><span class="hspace"> </span><span class="RktVal">2.0</span><span class="hspace"> </span><span class="RktVal">3.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2251799813685248</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonums-between%29%29" class="RktValLink" data-pltdoc="x">flonums-between</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">4611686018427387904</span></p></td></tr></table></blockquote></div></p></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flstep))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValDef RktValLink" data-pltdoc="x">flstep</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">n</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Integer%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Integer</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the flonum <span class="RktVar">n</span> flonums away from <span class="RktVar">x</span>, according to <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flonum-~3eordinal%29%29" class="RktValLink" data-pltdoc="x">flonum->ordinal</a></span>.
If <span class="RktVar">x</span> is <span class="RktVal">+nan.0</span>, returns <span class="RktVal">+nan.0</span>.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">4.9406564584125e-324</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-4.9406564584125e-324</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">+inf.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.7976931348623157e+308</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-i</span>nf.0</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-inf.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-i</span>nf.0</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-1.7976931348623157e+308</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span><span class="hspace"> </span><span class="RktVal">+nan.0</span><span class="hspace"> </span><span class="RktVal">1000</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">+nan.0</span></p></td></tr></table></blockquote></div></p></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flnext))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flnext%29%29" class="RktValDef RktValLink" data-pltdoc="x">flnext</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flprev))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flprev%29%29" class="RktValDef RktValLink" data-pltdoc="x">flprev</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Equivalent to <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVal">1</span><span class="RktPn">)</span> and <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flstep%29%29" class="RktValLink" data-pltdoc="x">flstep</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVal"><span class="nobreak">-1</span></span><span class="RktPn">)</span>, respectively.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flsubnormal~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsubnormal~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">flsubnormal?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#t</span> when <span class="RktVar">x</span> is a
<a href="http://en.wikipedia.org/wiki/Denormal_number">subnormal number</a>.</div></p><p>Though flonum operations on subnormal numbers are still often implemented
by software exception handling, the situation is improving. Robust
flonum functions should handle subnormal inputs correctly, and reduce error
in outputs as close to zero <a href="#%28tech._ulp%29" class="techoutside" data-pltdoc="x"><span class="techinside">ulps</span></a> as possible.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._math/flonum..rkt)._-max-subnormal..0))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-max-subnormal..0%29%29" class="RktValDef RktValLink" data-pltdoc="x"><span class="nobreak">-m</span>ax-subnormal.0</a></span></span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._math/flonum..rkt)._+max-subnormal..0))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax-subnormal..0%29%29" class="RktValDef RktValLink" data-pltdoc="x">+max-subnormal.0</a></span></span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">The maximum positive and negative subnormal flonums. A flonum <span class="RktSym">x</span> is subnormal when
it is not zero and <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3c%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><=</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._abs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">abs</a></span><span class="stt"> </span><span class="RktSym">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax-subnormal..0%29%29" class="RktValLink" data-pltdoc="x">+max-subnormal.0</a></span><span class="RktPn">)</span>.
</div><div class="SIntrapara"><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax-subnormal..0%29%29" class="RktValLink" data-pltdoc="x">+max-subnormal.0</a></span></td></tr><tr><td><p><span class="RktRes">2.225073858507201e-308</span></p></td></tr></table></blockquote></div></p></div></p><h4 x-source-module="(lib "math/scribblings/math.scrbl")" x-source-pkg="math-doc" x-part-tag=""Double-Double_Operations"">2.4<tt> </tt><a name="(part._.Double-.Double_.Operations)"></a>Double-Double Operations</h4><p>For extra precision, floating-point computations may use two nonoverlapping flonums to represent a single number.
Such pairs are often called <a name="(tech._double._double)"></a><span style="font-style: italic">double-double</span> numbers.
The exact sum of the pair is the number it represents.
(Because they are nonoverlapping, the floating-point sum is equal to the largest.)</p><p>For speed, especially with arithmetic operations, there is no data type for double-double numbers.
They are always unboxed: given as two arguments, and received as two values.
In both cases, the number with higher magnitude is first.</p><p>Inputs are never checked to ensure they are sorted and nonoverlapping, but outputs are guaranteed to be
sorted and nonoverlapping if inputs are.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Real%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Real</a></span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Converts a real number or the sum of two flonums into a <a href="#%28tech._double._double%29" class="techoutside" data-pltdoc="x"><span class="techinside">double-double</span></a>.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="hspace"> </span><span class="RktVal">1/7</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.14285714285714285</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="base.html#%28def._%28%28lib._math%2Fbase..rkt%29._relative-error%29%29" class="RktValLink" data-pltdoc="x">relative-error</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="hspace"> </span><span class="RktVal">1/7</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">1/7</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">5.551115123125783e-17</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528quote._%7E23%7E25kernel%2529._define-values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define-values</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">x2</span><span class="hspace"> </span><span class="RktSym">x1</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%29%29" class="RktValLink" data-pltdoc="x">fl2</a></span><span class="hspace"> </span><span class="RktVal">1/7</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktSym">x2</span><span class="hspace"> </span><span class="RktSym">x1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(0.14285714285714285 7.93016446160826e-18)</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="base.html#%28def._%28%28lib._math%2Fbase..rkt%29._relative-error%29%29" class="RktValLink" data-pltdoc="x">relative-error</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._inexact-%7E3eexact%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">inexact->exact</a></span><span class="hspace"> </span><span class="RktSym">x2</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._inexact-%7E3eexact%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">inexact->exact</a></span><span class="hspace"> </span><span class="RktSym">x1</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktVal">1/7</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">3.0814879110195774e-33</span></p></td></tr></table></blockquote></div></p></div><div class="SIntrapara">Notice that the exact sum of <span class="RktSym">x2</span> and <span class="RktSym">x1</span> in the preceeding example has very low
relative error.</div></p><p>If <span class="RktVar">x</span> is not rational, <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%29%29" class="RktValLink" data-pltdoc="x">fl2</a></span> returns <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=values.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._values%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">values</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2-~3ereal))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2-~3ereal%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2->real</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Real%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Real</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the exact sum of <span class="RktVar">x2</span> and <span class="RktVar">x1</span> if <span class="RktVar">x2</span> is rational, <span class="RktVar">x2</span> otherwise.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528quote._%7E23%7E25kernel%2529._define-values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define-values</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%29%29" class="RktValLink" data-pltdoc="x">fl2</a></span><span class="hspace"> </span><span class="RktVal">1/7</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2-~3ereal%29%29" class="RktValLink" data-pltdoc="x">fl2->real</a></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">46359793379775246683308002939465/324518553658426726783156020576256</span></p></td></tr></table></blockquote></div></p></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2?</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></blockquote></div><div class="SIntrapara">When <span class="RktVar">x2</span> is rational, returns <span class="RktVal">#t</span> when <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flabs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flabs</a></span><span class="stt"> </span><span class="RktVar">x2</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3e%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">></a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flabs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flabs</a></span><span class="stt"> </span><span class="RktVar">x1</span><span class="RktPn">)</span> and <span class="RktVar">x2</span>
and <span class="RktVar">x1</span> are nonoverlapping.
When <span class="RktVar">x2</span> is not rational, returns <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fl%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fl=</a></span><span class="stt"> </span><span class="RktVar">x1</span><span class="stt"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528quote._%7E23%7E25kernel%2529._define-values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define-values</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%29%29" class="RktValLink" data-pltdoc="x">fl2</a></span><span class="hspace"> </span><span class="RktVal">1/7</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3f%29%29" class="RktValLink" data-pltdoc="x">fl2?</a></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3f%29%29" class="RktValLink" data-pltdoc="x">fl2?</a></span><span class="hspace"> </span><span class="RktVal">0.14285714285714285</span><span class="hspace"> </span><span class="RktVal">0.07692307692307693</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3f%29%29" class="RktValLink" data-pltdoc="x">fl2?</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal">0.0001</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr></table></blockquote></div></p><p>This function is quite slow, so it is used only for testing.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl+/error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%2B%2Ferror%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl+/error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl-/error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl-%2Ferror%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl-/error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl*/error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%2A%2Ferror%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl*/error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl//error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%2F%2Ferror%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl//error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flsqr/error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsqr%2Ferror%29%29" class="RktValDef RktValLink" data-pltdoc="x">flsqr/error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flsqrt/error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsqrt%2Ferror%29%29" class="RktValDef RktValLink" data-pltdoc="x">flsqrt/error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flexp/error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexp%2Ferror%29%29" class="RktValDef RktValLink" data-pltdoc="x">flexp/error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flexpm1/error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpm1%2Ferror%29%29" class="RktValDef RktValLink" data-pltdoc="x">flexpm1/error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Compute the same values as <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2A%29%29" class="RktValLink" data-pltdoc="x">fl+</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span>, <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fl-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fl-</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span>, <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fl%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fl*</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span>, <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fl%252F%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fl/</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span>,
<span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fl%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fl*</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span>, <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flsqrt%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flsqrt</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span>, <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span> and <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpm1%29%29" class="RktValLink" data-pltdoc="x">flexpm1</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span>, but return the normally
rounded-off low-order bits as the second value.
The result is an unboxed <a href="#%28tech._double._double%29" class="techoutside" data-pltdoc="x"><span class="techinside">double-double</span></a>.</div></p><p>Use these functions to generate double-double numbers directly from the results of floating-point operations.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="hspace"> </span><span class="RktSym">x1</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="hspace"> </span><span class="RktVal">1/7</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="hspace"> </span><span class="RktSym">x2</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="hspace"> </span><span class="RktVal">1/13</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="hspace"> </span><span class="RktSym">z*</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="bigfloat.html#%28def._%28%28lib._math%2Fbigfloat..rkt%29._bigfloat-~3ereal%29%29" class="RktValLink" data-pltdoc="x">bigfloat->real</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="bigfloat.html#%28def._%28%28lib._math%2Fbigfloat..rkt%29._bfexp%29%29" class="RktValLink" data-pltdoc="x">bfexp</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="bigfloat.html#%28def._%28%28lib._math%2Fbigfloat..rkt%29._bf%2A%29%29" class="RktValLink" data-pltdoc="x">bf*</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="bigfloat.html#%28def._%28%28lib._math%2Fbigfloat..rkt%29._bf%29%29" class="RktValLink" data-pltdoc="x">bf</a></span><span class="hspace"> </span><span class="RktSym">x1</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="bigfloat.html#%28def._%28%28lib._math%2Fbigfloat..rkt%29._bf%29%29" class="RktValLink" data-pltdoc="x">bf</a></span><span class="hspace"> </span><span class="RktSym">x2</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="base.html#%28def._%28%28lib._math%2Fbase..rkt%29._relative-error%29%29" class="RktValLink" data-pltdoc="x">relative-error</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fl%252A%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fl*</a></span><span class="hspace"> </span><span class="RktSym">x1</span><span class="hspace"> </span><span class="RktSym">x2</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktSym">z*</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">9.755408946378402e-17</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=let.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fletstx-scheme..rkt%2529._let%252A-values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">let*-values</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktPn">(</span><span class="RktSym">y2</span><span class="hspace"> </span><span class="RktSym">y1</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%2A%2Ferror%29%29" class="RktValLink" data-pltdoc="x">fl*/error</a></span><span class="hspace"> </span><span class="RktSym">x1</span><span class="hspace"> </span><span class="RktSym">x2</span><span class="RktPn">)</span><span class="RktPn">]</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">[</span><span class="RktPn">(</span><span class="RktSym">z2</span><span class="hspace"> </span><span class="RktSym">z1</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2exp%29%29" class="RktValLink" data-pltdoc="x">fl2exp</a></span><span class="hspace"> </span><span class="RktSym">y2</span><span class="hspace"> </span><span class="RktSym">y1</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="base.html#%28def._%28%28lib._math%2Fbase..rkt%29._relative-error%29%29" class="RktValLink" data-pltdoc="x">relative-error</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2-~3ereal%29%29" class="RktValLink" data-pltdoc="x">fl2->real</a></span><span class="hspace"> </span><span class="RktSym">z2</span><span class="hspace"> </span><span class="RktSym">z1</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktSym">z*</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">4.890426935548821e-33</span></p></td></tr></table></blockquote></div></p><p>For <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexp%2Ferror%29%29" class="RktValLink" data-pltdoc="x">flexp/error</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpm1%2Ferror%29%29" class="RktValLink" data-pltdoc="x">flexpm1/error</a></span>, the largest observed error is 3 ulps.
(See <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2ulp%29%29" class="RktValLink" data-pltdoc="x">fl2ulp</a></span>.)
For the rest, the largest observed error is 0.5 ulps.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2zero~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2zero~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2zero?</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2rational~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2rational~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2rational?</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2positive~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2positive~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2positive?</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2negative~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2negative~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2negative?</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2infinite~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2infinite~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2infinite?</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2nan~3f))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2nan~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2nan?</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Boolean%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Boolean</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._zero%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">zero?</a></span>, <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._rational%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">rational?</a></span>, <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._positive%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">positive?</a></span>, <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._negative%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">negative?</a></span>, <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528lib._racket%252Fmath..rkt%2529._infinite%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">infinite?</a></span> and <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528lib._racket%252Fmath..rkt%2529._nan%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">nan?</a></span>,
but for <a href="#%28tech._double._double%29" class="techoutside" data-pltdoc="x"><span class="techinside">double-double</span></a> flonums.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2+))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%2B%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2+</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span>[<span class="RktVar">y1</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">0.0</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2-))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2-%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2-</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span>[<span class="RktVar">y1</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">0.0</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2*))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%2A%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2*</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span>[<span class="RktVar">y1</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">0.0</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2/))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%2F%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2/</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span>[<span class="RktVar">y1</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">0.0</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2abs))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2abs%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2abs</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>[<span class="RktVar">x1</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">0.0</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2sqr))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2sqr%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2sqr</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>[<span class="RktVar">x1</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">0.0</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2sqrt))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2sqrt%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2sqrt</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>[<span class="RktVar">x1</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">0.0</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Arithmetic and square root for <a href="#%28tech._double._double%29" class="techoutside" data-pltdoc="x"><span class="techinside">double-double</span></a> flonums.</div></p><p>For arithmetic, error is less than 8 ulps. (See <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2ulp%29%29" class="RktValLink" data-pltdoc="x">fl2ulp</a></span>.)
For <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2sqr%29%29" class="RktValLink" data-pltdoc="x">fl2sqr</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2sqrt%29%29" class="RktValLink" data-pltdoc="x">fl2sqrt</a></span>, error is less than 1 ulp, and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2abs%29%29" class="RktValLink" data-pltdoc="x">fl2abs</a></span> is exact.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2~3d))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3d%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2=</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span><span class="RktVar">y1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2~3e))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3e%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2></a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span><span class="RktVar">y1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2~3c))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3c%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2<</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span><span class="RktVar">y1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2~3e~3d))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3e~3d%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2>=</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span><span class="RktVar">y1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2~3c~3d))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2~3c~3d%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2<=</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span><span class="RktVar">y1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Comparison functions for <a href="#%28tech._double._double%29" class="techoutside" data-pltdoc="x"><span class="techinside">double-double</span></a> flonums.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2exp))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2exp%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2exp</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2log))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2log%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2log</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2expm1))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2expm1%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2expm1</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2log1p))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2log1p%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2log1p</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._.Values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Values</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flexp%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flexp</a></span>, <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fllog%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fllog</a></span>, <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flexpm1%29%29" class="RktValLink" data-pltdoc="x">flexpm1</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fllog1p%29%29" class="RktValLink" data-pltdoc="x">fllog1p</a></span>, but for <a href="#%28tech._double._double%29" class="techoutside" data-pltdoc="x"><span class="techinside">double-double</span></a> flonums.</div></p><p>For <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2exp%29%29" class="RktValLink" data-pltdoc="x">fl2exp</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2expm1%29%29" class="RktValLink" data-pltdoc="x">fl2expm1</a></span>, error is less than 3 ulps. (See <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2ulp%29%29" class="RktValLink" data-pltdoc="x">fl2ulp</a></span>.)
For <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2log%29%29" class="RktValLink" data-pltdoc="x">fl2log</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2log1p%29%29" class="RktValLink" data-pltdoc="x">fl2log1p</a></span>, error is less than 2 ulps.</p><h5 x-source-module="(lib "math/scribblings/math.scrbl")" x-source-pkg="math-doc" x-part-tag=""Debugging_Double-Double_Functions"">2.4.1<tt> </tt><a name="(part._.Debugging_.Double-.Double_.Functions)"></a>Debugging Double-Double Functions</h5><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2ulp))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2ulp%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2ulp</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._fl2ulp-error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2ulp-error%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl2ulp-error</a></span></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span><span class="RktVar">r</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">r</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Real%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Real</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp%29%29" class="RktValLink" data-pltdoc="x">flulp</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flulp-error%29%29" class="RktValLink" data-pltdoc="x">flulp-error</a></span>, but for <a href="#%28tech._double._double%29" class="techoutside" data-pltdoc="x"><span class="techinside">double-double</span></a> flonums.</div></p><p>The unit in last place of a double-double is that of the higher-order of the pair, shifted 52 bits right.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2ulp%29%29" class="RktValLink" data-pltdoc="x">fl2ulp</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">4.930380657631324e-32</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=let.html%23%2528form._%2528%2528quote._%7E23%7E25kernel%2529._let-values%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">let-values</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktPn">(</span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2%29%29" class="RktValLink" data-pltdoc="x">fl2</a></span><span class="hspace"> </span><span class="RktVal">1/7</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl2ulp-error%29%29" class="RktValLink" data-pltdoc="x">fl2ulp-error</a></span><span class="hspace"> </span><span class="RktVar">x2</span><span class="hspace"> </span><span class="RktVar">x1</span><span class="hspace"> </span><span class="RktVal">1/7</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">0.07142857142857142</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._math/flonum..rkt)._+max..hi))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax..hi%29%29" class="RktValDef RktValLink" data-pltdoc="x">+max.hi</a></span></span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._math/flonum..rkt)._+max..lo))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax..lo%29%29" class="RktValDef RktValLink" data-pltdoc="x">+max.lo</a></span></span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._math/flonum..rkt)._-max..hi))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-max..hi%29%29" class="RktValDef RktValLink" data-pltdoc="x"><span class="nobreak">-m</span>ax.hi</a></span></span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._math/flonum..rkt)._-max..lo))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-max..lo%29%29" class="RktValDef RktValLink" data-pltdoc="x"><span class="nobreak">-m</span>ax.lo</a></span></span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">The maximum-magnitude, unboxed <a href="#%28tech._double._double%29" class="techoutside" data-pltdoc="x"><span class="techinside">double-double</span></a> flonums.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._math/flonum..rkt)._+max-subnormal..hi))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax-subnormal..hi%29%29" class="RktValDef RktValLink" data-pltdoc="x">+max-subnormal.hi</a></span></span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>value</p></div></div><p class="RForeground"><a name="(def._((lib._math/flonum..rkt)._-max-subnormal..hi))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._-max-subnormal..hi%29%29" class="RktValDef RktValLink" data-pltdoc="x"><span class="nobreak">-m</span>ax-subnormal.hi</a></span></span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">The high-order flonum of the maximum-magnitude, subnormal <a href="#%28tech._double._double%29" class="techoutside" data-pltdoc="x"><span class="techinside">double-double</span></a> flonums.
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax-subnormal..0%29%29" class="RktValLink" data-pltdoc="x">+max-subnormal.0</a></span></td></tr><tr><td><p><span class="RktRes">2.225073858507201e-308</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._%2Bmax-subnormal..hi%29%29" class="RktValLink" data-pltdoc="x">+max-subnormal.hi</a></span></td></tr><tr><td><p><span class="RktRes">1.0020841800044864e-292</span></p></td></tr></table></blockquote></div><div class="SIntrapara">Try to avoid computing with double-doubles in the subnormal range in intermediate computations.</div></p><h5 x-source-module="(lib "math/scribblings/math.scrbl")" x-source-pkg="math-doc" x-part-tag=""Low-Level_Double-Double_Operations"">2.4.2<tt> </tt><a name="(part._.Low-.Level_.Double-.Double_.Operations)"></a>Low-Level Double-Double Operations</h5><p>The following syntactic forms are fast versions of functions like <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%2B%2Ferror%29%29" class="RktValLink" data-pltdoc="x">fl+/error</a></span>.
They are fast because they make assumptions about the magnitudes of and relationships between their arguments,
and do not handle non-rational double-double flonums properly.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._math/flonum..rkt)._fast-mono-fl+/error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-mono-fl%2B%2Ferror%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">fast-mono-fl+/error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._math/flonum..rkt)._fast-mono-fl-/error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-mono-fl-%2Ferror%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">fast-mono-fl-/error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span></p></blockquote></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Return two values: <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2A%29%29" class="RktValLink" data-pltdoc="x">fl+</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span> or <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._fl-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">fl-</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span>, and its rounding error.
Both assume <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flabs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flabs</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3e%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">></a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flabs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flabs</a></span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span>.
The values are unspecified when <span class="RktVar">x</span> or <span class="RktVar">y</span> is not rational.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._math/flonum..rkt)._fast-fl+/error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-fl%2B%2Ferror%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">fast-fl+/error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._math/flonum..rkt)._fast-fl-/error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-fl-%2Ferror%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">fast-fl-/error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span></p></blockquote></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-mono-fl%2B%2Ferror%29%29" class="RktStxLink" data-pltdoc="x">fast-mono-fl+/error</a></span> and <span class="RktSym"><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-mono-fl-%2Ferror%29%29" class="RktStxLink" data-pltdoc="x">fast-mono-fl-/error</a></span>, but do not assume <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flabs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flabs</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3e%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">></a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flabs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flabs</a></span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._math/flonum..rkt)._fast-fl*/error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-fl%2A%2Ferror%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">fast-fl*/error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._math/flonum..rkt)._fast-fl//error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-fl%2F%2Ferror%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">fast-fl//error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._math/flonum..rkt)._fast-flsqr/error))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._fast-flsqr%2Ferror%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">fast-flsqr/error</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span></p></blockquote></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%2A%2Ferror%29%29" class="RktValLink" data-pltdoc="x">fl*/error</a></span>, <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%2F%2Ferror%29%29" class="RktValLink" data-pltdoc="x">fl//error</a></span> and <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flsqr%2Ferror%29%29" class="RktValLink" data-pltdoc="x">flsqr/error</a></span>, but faster, and may return garbage when an argument is subnormal or nearly infinite.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._math/flonum..rkt)._flsplit))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._flsplit%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">flsplit</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Returns nonoverlapping <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=values.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._values%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">values</a></span><span class="stt"> </span><span class="RktSym">y2</span><span class="stt"> </span><span class="RktSym">y1</span><span class="RktPn">)</span>, each with 26 bits precision, with <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flabs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flabs</a></span><span class="stt"> </span><span class="RktSym">y2</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3e%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">></a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flabs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flabs</a></span><span class="stt"> </span><span class="RktSym">y1</span><span class="RktPn">)</span>,
such that <span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2A%29%29" class="RktValLink" data-pltdoc="x">fl+</a></span><span class="stt"> </span><span class="RktSym">y2</span><span class="stt"> </span><span class="RktSym">y1</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3d%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">=</a></span><span class="stt"> </span><span class="RktVar">x</span>.
For <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flabs%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flabs</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%7E3e%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">></a></span><span class="stt"> </span><span class="RktVal">1.3393857490036326e+300</span>, returns <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=values.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._values%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">values</a></span><span class="stt"> </span><span class="RktVal">+nan.0</span><span class="stt"> </span><span class="RktVal">+nan.0</span><span class="RktPn">)</span>.</div></p><p>Used to implement double-double multiplication.</p><h4 x-source-module="(lib "math/scribblings/math.scrbl")" x-source-pkg="math-doc" x-part-tag=""Additional_Flonum_Vector_Functions"">2.5<tt> </tt><a name="(part._.Additional_.Flonum_.Vector_.Functions)"></a>Additional Flonum Vector Functions</h4><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._build-flvector))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._build-flvector%29%29" class="RktValDef RktValLink" data-pltdoc="x">build-flvector</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">proc</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Integer%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Integer</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Index%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Index</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._-%7E3e%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a length-<span class="RktVar">n</span> flonum vector by applying <span class="RktVar">proc</span> to the indexes
from <span class="RktVal">0</span> to <span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._-%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktVar">n</span><span class="stt"> </span><span class="RktVal">1</span><span class="RktPn">)</span>. Analogous to <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=vectors.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Flist..rkt%2529._build-vector%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">build-vector</a></span>.
</div><div class="SIntrapara"><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._build-flvector%29%29" class="RktValLink" data-pltdoc="x">build-flvector</a></span><span class="hspace"> </span><span class="RktVal">10</span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._fl%29%29" class="RktValLink" data-pltdoc="x">fl</a></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">(flvector 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0)</span></p></td></tr></table></blockquote></div></p></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._math/flonum..rkt)._inline-build-flvector))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._inline-build-flvector%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">inline-build-flvector</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">proc</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="stt"> </span></td></tr><tr><td><blockquote class="SubFlow"><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">n</span></td><td><span class="hspace"> </span></td><td>:</td><td><span class="hspace"> </span></td><td><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Integer%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Integer</a></span></td></tr></table><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">proc</span></td><td><span class="hspace"> </span></td><td>:</td><td><span class="hspace"> </span></td><td><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Index%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Index</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._-%7E3e%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></td></tr></table></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._build-flvector%29%29" class="RktValLink" data-pltdoc="x">build-flvector</a></span>, but always inlined. This increases speed at the expense of code size.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector-map))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-map%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector-map</a></span></span><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span><span class="RktVar">xss</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=stx-patterns.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fstxcase-scheme..rkt%2529._......%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">...</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._-%7E3e%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xss</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Applies <span class="RktVar">proc</span> to the corresponding elements of <span class="RktVar">xs</span> and <span class="RktVar">xss</span>. Analogous to
<span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=vectors.html%23%2528def._%2528%2528lib._racket%252Fvector..rkt%2529._vector-map%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">vector-map</a></span>.</div></p><p>The <span class="RktVar">proc</span> is meant to accept the same number of arguments as the number of its following
flonum vector arguments. However, a current limitation in Typed Racket requires <span class="RktVar">proc</span>
to accept <span style="font-style: italic">any</span> number of arguments. To map a single-arity function such as <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lg%2A%29%29" class="RktValLink" data-pltdoc="x">fl+</a></span>
over the corresponding number of flonum vectors, for now, use <span class="RktSym"><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._inline-flvector-map%29%29" class="RktStxLink" data-pltdoc="x">inline-flvector-map</a></span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._math/flonum..rkt)._inline-flvector-map))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28form._%28%28lib._math%2Fflonum..rkt%29._inline-flvector-map%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">inline-flvector-map</a></span></span><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span><span class="RktVar">xss</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="stt"> </span></td></tr><tr><td><blockquote class="SubFlow"><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">proc</span></td><td><span class="hspace"> </span></td><td>:</td><td><span class="hspace"> </span></td><td><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="hspace"> </span><span class="RktMeta"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=stx-patterns.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fstxcase-scheme..rkt%2529._......%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">...</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types-extra..rkt%2529._-%7E3e%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></td></tr></table><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">xs</span></td><td><span class="hspace"> </span></td><td>:</td><td><span class="hspace"> </span></td><td><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">xss</span></td><td><span class="hspace"> </span></td><td>:</td><td><span class="hspace"> </span></td><td><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-map%29%29" class="RktValLink" data-pltdoc="x">flvector-map</a></span>, but always inlined.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector-copy!))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-copy%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector-copy!</a></span></span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">dest</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">dest-start</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">src</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span>[</td><td valign="top"><span class="RktVar">src-start</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">src-end</span>]<span class="RktPn">)</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">→</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktSym">Void</span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">dest</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">dest-start</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Integer%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Integer</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">src</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">src-start</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Integer%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Integer</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">0</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">src-end</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Integer%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Integer</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flvector-length%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flvector-length</a></span><span class="hspace"> </span><span class="RktVar">src</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=vectors.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._vector-copy%2521%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">vector-copy!</a></span>, but for flonum vectors.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._list-~3eflvector))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._list-~3eflvector%29%29" class="RktValDef RktValLink" data-pltdoc="x">list->flvector</a></span></span><span class="hspace"> </span><span class="RktVar">vs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">vs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Listof%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Listof</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Real%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Real</a></span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector-~3elist))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-~3elist%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector->list</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Listof%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Listof</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._vector-~3eflvector))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._vector-~3eflvector%29%29" class="RktValDef RktValLink" data-pltdoc="x">vector->flvector</a></span></span><span class="hspace"> </span><span class="RktVar">vs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">vs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Vectorof%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Vectorof</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Real%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Real</a></span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector-~3evector))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-~3evector%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector->vector</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Vectorof%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Vectorof</a></span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Convert between lists and flonum vectors, and between vectors and flonum vectors.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector+))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector%2B%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector+</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span><span class="RktVar">ys</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ys</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector*))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector%2A%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector*</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span><span class="RktVar">ys</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ys</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector-))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector-</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector-</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span><span class="RktVar">ys</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ys</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector/))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector%2F%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector/</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector%2F%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector/</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span><span class="RktVar">ys</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ys</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector-scale))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-scale%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector-scale</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector-abs))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-abs%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector-abs</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector-sqr))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-sqr%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector-sqr</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector-sqrt))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-sqrt%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector-sqrt</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector-min))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-min%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector-min</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span><span class="RktVar">ys</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ys</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector-max))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-max%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector-max</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span><span class="RktVar">ys</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ys</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Arithmetic lifted to operate on flonum vectors.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector-sum))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-sum%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector-sum</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Flonum%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">Flonum</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lgprod%29%29" class="RktValLink" data-pltdoc="x">flsum</a></span>, but operates on flonum vectors. In fact, <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._lgprod%29%29" class="RktValLink" data-pltdoc="x">flsum</a></span> is defined in terms
of <span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-sum%29%29" class="RktValLink" data-pltdoc="x">flvector-sum</a></span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._math/flonum..rkt)._flvector-sums))"></a><span title="Provided from: math/flonum | Package: math-lib"><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-sums%29%29" class="RktValDef RktValLink" data-pltdoc="x">flvector-sums</a></span></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">xs</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=ts-reference&rel=type-ref.html%23%2528form._%2528%2528lib._typed-racket%252Fbase-env%252Fbase-types..rkt%2529._.Fl.Vector%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">FlVector</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Computes the partial sums of the elements in <span class="RktVar">xs</span> in a way that incurs rounding error only
once for each partial sum.
</div><div class="SIntrapara"><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._math%2Fflonum..rkt%29._flvector-sums%29%29" class="RktValLink" data-pltdoc="x">flvector-sums</a></span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=flonums.html%23%2528def._%2528%2528lib._racket%252Fflonum..rkt%2529._flvector%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">flvector</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">1e-16</span><span class="hspace"> </span><span class="RktVal">1e-16</span><span class="hspace"> </span><span class="RktVal">1e-16</span><span class="hspace"> </span><span class="RktVal">1e-16</span><span class="hspace"> </span><span class="RktVal">1e+100</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>e+100</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0"><tr><td><p><span class="RktRes">(flvector</span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">1.0</span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">1.0</span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">1.0000000000000002</span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">1.0000000000000002</span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">1.0000000000000004</span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">1e+100</span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">1.0000000000000004)</span></p></td></tr></table></td></tr></table></blockquote></div></p></div><div class="SIntrapara">Compare the same example computed by direct summation:
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528lib._racket%252Flist..rkt%2529._rest%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">rest</a></span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Flist..rkt%2529._reverse%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">reverse</a></span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Flist..rkt%2529._foldl%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">foldl</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._%7Ece%7Ebb%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">λ</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">x</span><span class="hspace"> </span><span class="RktVar">xs</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._cons%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">cons</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=generic-numbers.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._%252B%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktSym">x</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528lib._racket%252Flist..rkt%2529._first%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">first</a></span><span class="hspace"> </span><span class="RktVar">xs</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVar">xs</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">1e-16</span><span class="hspace"> </span><span class="RktVal">1e-16</span><span class="hspace"> </span><span class="RktVal">1e-16</span><span class="hspace"> </span><span class="RktVal">1e-16</span><span class="hspace"> </span><span class="RktVal">1e+100</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>e+100</span><span class="RktVal">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">'(1.0 1.0 1.0 1.0 1.0 1e+100 0.0)</span></p></td></tr></table></blockquote></div></p><div class="navsetbottom"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, "6.7", "../");" onfocus="this.style.color="black"; this.style.textAlign="left"; if (this.value == "...search manuals...") this.value="";" onblur="if (this.value.match(/^ *$/)) { this.style.color="#888"; this.style.textAlign="center"; this.value="...search manuals..."; }"/></form> <a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("6.7");">top</a></span><span class="navright"> <a href="base.html" title="backward to "1 Constants and Elementary Functions"" data-pltdoc="x">← prev</a> <a href="index.html" title="up to "Math Library"" data-pltdoc="x">up</a> <a href="special.html" title="forward to "3 Special Functions"" data-pltdoc="x">next →</a></span> </div></div></div><div id="contextindicator"> </div></body></html>
|