https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100855
--- Comment #2 from anlauf at gcc dot gnu.org --- If you do not care about correct rounding, you can replace sum = sum + (i ** (0.05 + n)) by sum = sum + exp (log (real(i)) * (0.05 + n)) I think __builtin_powf and powf do care. I do not know if there is a gcc flag that replaces __builtin_powf by the combination of __builtin_expf / __builtin_logf which would also allow for (better) vectorization. (I know of a $$$$ compiler for $$$$ hardware which offers this).