fparith_double_sub.c (284B)
1 /* Double FSUB round-trip. volatile int inputs -> double so a real FSUB (double) 2 * is emitted. 50.0 - 8.0 = 42.0; (int)42.0 == 42. */ 3 int test_main(void) { 4 volatile int ia = 50, ib = 8; 5 double a = (double)ia, b = (double)ib; 6 double r = a - b; 7 return (int)r == 42 ? 42 : 0; 8 }