Vincent Lefevre wrote in
 <20240105235600.gd4...@qaa.vinc17.org>:
 |On 2024-01-05 13:47:25 +0100, Aurélie Tisson (BastaPrint) wrote:
 |> The same calculation gives me 2 different values : 0.993013 0.860892
 |> wheras it should give 0.993013 only (tells GCC).
 |
 |Well, your code is not portable.

You are the mathematician.
But *i* thought it was a request to release 0.9.28, given that tcc
of 20231230 gets the stuff correct?

 |> #include <stdio.h> 
 |> #include <math.h> 
 |> int main(){ 
 |> double s = .7; 
 |> double a = (1. - .1 * s) / (1. + .1 * s); 
 |              ^^^^^^^^^^^     ^^^^^^^^^^^
 |> double b = pow(a, .05); 
 |> double c = pow( ((1. - .1 * s) / (1. + .1 * s)), .05); 
 |                    ^^^^^^^^^^^     ^^^^^^^^^^^
 |
 |> printf("%f %f \n", b, c); 
 |>} 
 |
 |You should not depend on contraction of FP expressions.
 |Here, GCC may generate a FMA, which generally increases
 |the accuracy of the results.

I am overly happy there is no floating-point in my code.
Never in the past, not today.  (Anything which was there was
thrown away.)  Yay.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to