- z = sincosl_table [index + SINCOSL_COS_HI]
- + (sincosl_table [index + SINCOSL_COS_LO]
- - (sincosl_table [index + SINCOSL_SIN_HI] * sin_l)
- - (sincosl_table [index + SINCOSL_COS_HI] * cos_l_m1));
+ /* We rely on this expression not being "contracted" by the compiler
+ (cf. ISO C 99 section 6.5 paragraph 8). */
+ z =
+ sincosl_table [index + SINCOSL_COS_HI]
+ - (sincosl_table [index + SINCOSL_SIN_HI] * sin_l
+ - (sincosl_table [index + SINCOSL_COS_HI] * cos_l_m1
+ + (sincosl_table [index + SINCOSL_COS_LO] * (1 + cos_l_m1)
+ - sincosl_table [index + SINCOSL_SIN_LO] * sin_l)));