Hi,

I know it is important to round results of calculations with real. I was expecting this specialty with non decimal values like 1/3, etc…

But i was more surprised with values which for me seemed “safe” without rounding. I was wrong (or is it a bug ?)…

```
ARRAY REAL($tr_real;6)
$tr_real{1}:=8.73
$tr_real{2}:=9.295
$tr_real{3}:=8.435
$tr_real{4}:=8.435
$tr_real{5}:=8.505
$tr_real{6}:=0.15
C_REAL($vr_sum;$vr_expected)
$vr_expected:=43.55 // = 8.73 + 9.295 + 8.435 + 8.435 + 8.505 + 8.505 + 0.15
$vr_sum:=Sum($tr_real)
// to "fix" the problem (for instance) :
//$vr_sum:=Round($vr_sum;13)
// or
//$vr_sum:=Trunc($vr_sum;14)
ASSERT($vr_sum=$vr_expected;"diff is "+String($vr_expected-$vr_sum))
// v15 $vr_sum#$vr_expected, but $vr_expected-$vr_sum = -0,000000000000007105427357601
// v16, v17, v18 $vr_sum=$vr_expected, but $vr_expected-$vr_sum = -0,000000000000007105427357601
$vr_sum:=0
C_LONGINT($i)
For ($i;1;Size of array($tr_real))
$vr_sum:=$vr_sum+$tr_real{$i}
End for
// to "fix" the problem (for instance) :
//$vr_sum:=Round($vr_sum;13)
// or
//$vr_sum:=Trunc($vr_sum;14)
ASSERT($vr_sum=$vr_expected;"diff is "+String($vr_expected-$vr_sum))
```

What’s your view on this ? Do you write safe code when dealing with numeric values ?