<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">On 8/26/26 08:22, Martin Guy via
cfarm-users wrote:<br>
</div>
<blockquote type="cite"
cite="mid:17dc6eb2-8009-4bad-8308-d927b76ca912@gmail.com">[...]<br>
<br>
and the paranoia.c stringent IEEE floating point test reports one
flaw: <br>
<br>
Checking rounding on multiply, divide and add/subtract. <br>
* is neither chopped nor correctly rounded. <br>
/ is neither chopped nor correctly rounded. <br>
Addition/Subtraction neither rounds nor chops. <br>
Sticky bit used incorrectly or not at all. <br>
FLAW: lack(s) of guard digits or failure(s) to correctly round or
chop <br>
<br>
On a machine where the test succeeds, paranoia.c reports no flaws.</blockquote>
<p>To make this even weirder, cfarm26 and cfarm27 are different VMs
on the same physical box, yet they give different results from
paranoia.c. Paranoia's page 4 (when run on cfarm26) mentions:</p>
<blockquote>
<pre>Some subexpressions appear to be calculated extra
precisely with about 11 extra B-digits, i.e.
roughly 3.31133 extra significant decimals.
That feature is not tested further by this program.</pre>
</blockquote>
<p>Another bit of weirdness is that `gcc -Wall -lm paranoia.c -o
paranoia` works on cfarm27 (and my local machines), but not on
cfarm26, where I ended up using `gcc -Wall -lm
-L/usr/lib/i386-linux-gnu paranoia.c -lm -o paranoia` to get it to
link.</p>
<p>Perhaps there is something weird about Debian's libm on cfarm26?
Or the compiler defaults are different?</p>
<p>Are long doubles being used internally somewhere doubles are
expected to be used throughout? Paranoia's indication of about 11
extra bits would be consistent with the x87 80-bit format vs.
standard 64-bit double...</p>
<p><br>
</p>
<p>-- Jacob</p>
</body>
</html>