Hi Matthew,<br><br>&nbsp; Yes, I also came to this conclusion<br><br>&nbsp; val mtenth_lo = (down();(Option.valOf ` Real.fromString &quot;1.0&quot;) / (Option.valOf ` Real.fromString &quot;10.0&quot;))<br>&nbsp; val mtenth_hi = (up();(Option.valOf
 ` R.fromString &quot;1.0&quot;) / (Option.valOf ` R.fromString &quot;10.0&quot;))<br><br>These do the correct thing.<br><br>I&#39;m not sure what the correct behavior should be.&nbsp; I&#39;d hate to lose optimizations, as I switched
<br>from O&#39;Caml because the floating point computations were so much faster in my application.<br>But it would be nice to have a document somewhere specifying exactly how rounding modes<br>are treated in expressions.&nbsp; For instance, I can imagine an optimization that executes 
<br>Real.fromString at compile time for a string constant, which would kill the fix.<br><br><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>BTW, would you expect the following output:</blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">3FB9999999999999<br>3FB999999999999A
<br>3FB999999999999A<br>3FB9999999999999</blockquote><div><br>Yes, that looks right.<br><br>Thanks,<br><br>Sean<br></div></div><br>