Scott Robert Ladd writes: > Andrew Haley wrote: > > Try this: > > > > public class trial > > { > > static public void main (String[] argv) > > { > > System.out.println(Math.sin(Math.pow(2.0, 90.0))); > > } > > } > > > > zapata:~ $ gcj trial.java --main=trial -ffast-math -O > > zapata:~ $ ./a.out > > 1.2379400392853803E27 > > zapata:~ $ gcj trial.java --main=trial -ffast-math > > zapata:~ $ ./a.out > > -0.9044312486086016 > > You're comparing apples and oranges, since C (my code) and Java differ > in their definitions and implementations of floating-point.
So try it in C. -ffast-math won't be any better. #include <stdio.h> #include <math.h> void main (int argc, char **argv) { printf ("%g\n", sin (pow (2.0, 90.0))); } Andrew.