Hi, I am investigating a test that is failing. I noticed that the linearized output for: static double cbrtl (double x) { int hx; double r,s,w; double lt; unsigned sign; union { double t; unsigned pt[2]; } ut, ux; int n0; ut.t = 1.0; n0 = (ut.pt[0] == 0); ut.t = 0.0; ux.t = x; is this: cbrtl: .L0: <entry-point> load.32 %r2 <- 0[ut] seteq.32 %r3 <- %r2, $0 set.64 %r4 <- 0.000000 store.64 %r4 -> 0[ut] store.64 %arg1 -> 0[ux] The assignment of 1.0 to ut.t has been skipped. Does this look correct? Is there a way to switch off optimisation / simplification? Thanks and Regards Dibyendu -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html