\left(\left(d1 \cdot d1\right) \cdot d1\right) \cdot d1
\left(d1 \cdot d1\right) \cdot \left(d1 \cdot d1\right)
double f(double d1) {
double r3915331 = d1;
double r3915332 = r3915331 * r3915331;
double r3915333 = r3915332 * r3915331;
double r3915334 = r3915333 * r3915331;
return r3915334;
}
double f(double d1) {
double r3915335 = d1;
double r3915336 = r3915335 * r3915335;
double r3915337 = r3915336 * r3915336;
return r3915337;
}



Bits error versus d1
Initial program 0.1
Simplified0.2
Final simplification0.2
herbie shell --seed 2019128 +o rules:numerics
(FPCore (d1)
:name "FastMath repmul"
(*.p16 (*.p16 (*.p16 d1 d1) d1) d1))