<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Avoiding subnormal floats is desirable, since subnormals have
fewer significant bits than normal floats. This should ideally be
done by designing the application to do its computations so that
subnormals are never created. Forcing subnormals to go to zero is
the wrong direction entirely -- that is saying "I've lost some
bits of accuracy, so now let's throw away <i>all</i> the bits and
have <i>no</i> accuracy."</p>
<p>A faster path to a wrong answer is seldom, if ever, a good trade.</p>
<p>Regards,</p>
<p>-Martin</p>
<div class="moz-cite-prefix">On 11/20/25 10:00 AM, Luciano
Notarfrancesco via Cuis-dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAL5GDyqoiuBZnP-gPqQeWzL=DiZc2YodmpU-jfNijzsDk3XPng@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
It seems to me that when working with floats in Cuis we should try
to avoid denormals (or subnormals, i.e. floats that are very close
to 0 but not 0). They used to be slower than other floats in old
CPUs, and they are not so much of a problem anymore in modern
CPUs, but I think they would still be problematic in Cuis because
they turn into BoxedFloat64 (instead of SmallFloat64). What’s the
best way to handle them? For the time being I implemented
BoxedFloat64>>undenormalized as:
<div dir="auto"> self isDenormalized ifTrue: [^ 0.0]</div>
<div dir="auto">and in Float just returns self. The method
isDenormalized comes in the base image, but it’s not super fast.
Is there a better way to do it?</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
</blockquote>
</body>
</html>