\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 r1610770 = d1;
double r1610771 = r1610770 * r1610770;
double r1610772 = r1610771 * r1610770;
double r1610773 = r1610772 * r1610770;
return r1610773;
}
double f(double d1) {
double r1610774 = d1;
double r1610775 = r1610774 * r1610774;
double r1610776 = r1610775 * r1610775;
return r1610776;
}



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