<div dir="ltr"><div><div><div><div>Hi Levente, thank you.<br></div><div>Here is a follow up:<br></div><div><br></div>I was able to reproduce the same symptom on the classical interpreter VM.<br></div>&lt;rant&gt; It&#39;s just that for MacOSX, there is no recent VM available, and that the MacOS build is somehow abandonware, so it took much more time than necessary :( &lt;/rant&gt;<br><br>So the changes that have been integrated on Interpreter Vm in july 2014 and that I thought correct were not.<br>It&#39;s certainly related to a LargeInteger plugin primitive.<br>Those are triggered when nbits of magnitude &gt; 64.<br></div><div>(otherwise, &lt;= 64 bits, the LargeInteger numbered primitives do their job).<br><br></div><div>Now the job is to produce/isolate an elementary failing LargeInteger test.<br></div><div>But you need to generate the VM from VMMaker.oscog head for COG/STACK V3/SPUR 32/64 bits<br></div><div>or use a sufficiently recent interpreter VM (&gt; july 2014) to trigger such failure.<br><br></div><div><br>--------------------------------------------<br><br>Here is my starting point:<br><br>If you load ArbitraryPrecisionFloat and Tests from <a href="http://www.squeaksource.com/ArbitraryPrecisionFl">http://www.squeaksource.com/ArbitraryPrecisionFl</a><br>then you&#39;ll see this strange pattern:<br><br>(53 to: 70) collect: [:i |<br>    i -&gt; (10 asArbitraryPrecisionFloatNumBits: i) erf ]<br><br> {53-&gt;(ArbitraryPrecisionFloat readFrom: &#39;0.9999998981732067&#39; readStream numBits: 53) .<br> 54-&gt;(ArbitraryPrecisionFloat readFrom: &#39;1.0&#39; readStream numBits: 54) .<br> 55-&gt;(ArbitraryPrecisionFloat readFrom: &#39;1.0&#39; readStream numBits: 55) .<br> 56-&gt;(ArbitraryPrecisionFloat readFrom: &#39;1.0&#39; readStream numBits: 56) .<br> 57-&gt;(ArbitraryPrecisionFloat readFrom: &#39;0.99999989817320666&#39; readStream numBits: 57) .<br> 58-&gt;(ArbitraryPrecisionFloat readFrom: &#39;1.0&#39; readStream numBits: 58) .<br> 59-&gt;(ArbitraryPrecisionFloat readFrom: &#39;1.0&#39; readStream numBits: 59) .<br> 60-&gt;(ArbitraryPrecisionFloat readFrom: &#39;1.0&#39; readStream numBits: 60) .<br> 61-&gt;(ArbitraryPrecisionFloat readFrom: &#39;0.9999998981732066655&#39; readStream numBits: 61) .<br> 62-&gt;(ArbitraryPrecisionFloat readFrom: &#39;1.0&#39; readStream numBits: 62) .<br> 63-&gt;(ArbitraryPrecisionFloat readFrom: &#39;1.0&#39; readStream numBits: 63) .<br> 64-&gt;(ArbitraryPrecisionFloat readFrom: &#39;1.0&#39; readStream numBits: 64) .<br> 65-&gt;(ArbitraryPrecisionFloat readFrom: &#39;0.99999989817320666564&#39; readStream numBits: 65) .<br> 66-&gt;(ArbitraryPrecisionFloat readFrom: &#39;1.0&#39; readStream numBits: 66) .<br> 67-&gt;(ArbitraryPrecisionFloat readFrom: &#39;1.0&#39; readStream numBits: 67) .<br> 68-&gt;(ArbitraryPrecisionFloat readFrom: &#39;1.0&#39; readStream numBits: 68) .<br> 69-&gt;(ArbitraryPrecisionFloat readFrom: &#39;0.999999898173206665646&#39; readStream numBits: 69) .<br> 70-&gt;(ArbitraryPrecisionFloat readFrom: &#39;1.0&#39; readStream numBits: 70)}<br><br></div><div>The value seems incorrect every four numbits<br>The exact value is near 1- 2.0e-45, and given the insufficient precision requested, the result should be rounded to 1.<br>We can confirm with online high precision erf calculator like found for example with <a href="http://keisan.casio.com/exec/system/1180573449">http://keisan.casio.com/exec/system/1180573449</a><br><br>Or we can check with<br>(10 asArbitraryPrecisionFloatNumBits: 200) erf (ArbitraryPrecisionFloat readFrom: &#39;0.999999999999999999999999999999999999999999997911512416237455&#39; readStream numBits: 200)<br><br>-----------------------------<br><br></div><div>Note that when I change the LargeInteger digitLength to 32bits instead of 8 (my own VM branch) then the problem magically disappear.<br><br></div><div>I plan to introduce these change in the VMMaker.oscog, so I can as well ignore the problem and proceed, however I much prefer to isolate it, and understand it for gain of knowledge :)<br></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-03-27 4:27 GMT+02:00 Levente Uzonyi <span dir="ltr">&lt;<a href="mailto:leves@caesar.elte.hu" target="_blank">leves@caesar.elte.hu</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Hi Nicolas,<br>
<br>
If you give us a bit more detailed instructions about what to test, then we might be able to help you get this sorted out.<span class="HOEnZb"><font color="#888888"><br>
<br>
Levente<br>
<br>
</font></span></blockquote></div><br></div>