\Re(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0 i\right)\right))
\Re(\left(-1 + 0 i\right))
double f() {
double r765614 = -1.0;
double r765615 = 1.0;
double r765616 = /* ERROR: no complex support in C */;
double r765617 = r765616 * r765616;
double r765618 = r765617 * r765616;
double r765619 = r765618 * r765616;
double r765620 = r765619 * r765616;
double r765621 = r765620 * r765616;
double r765622 = 6.0;
double r765623 = 0.0;
double r765624 = /* ERROR: no complex support in C */;
double r765625 = r765624 * r765616;
double r765626 = r765625 * r765616;
double r765627 = r765626 * r765616;
double r765628 = r765627 * r765616;
double r765629 = r765628 * r765616;
double r765630 = r765621 + r765629;
double r765631 = 15.0;
double r765632 = /* ERROR: no complex support in C */;
double r765633 = r765632 * r765616;
double r765634 = r765633 * r765616;
double r765635 = r765634 * r765616;
double r765636 = r765635 * r765616;
double r765637 = r765630 + r765636;
double r765638 = 20.0;
double r765639 = /* ERROR: no complex support in C */;
double r765640 = r765639 * r765616;
double r765641 = r765640 * r765616;
double r765642 = r765641 * r765616;
double r765643 = r765637 + r765642;
double r765644 = r765643 + r765634;
double r765645 = r765644 + r765625;
double r765646 = /* ERROR: no complex support in C */;
double r765647 = r765645 + r765646;
double r765648 = /* ERROR: no complex support in C */;
return r765648;
}
double f() {
double r765649 = -1.0;
double r765650 = 0.0;
double r765651 = /* ERROR: no complex support in C */;
double r765652 = /* ERROR: no complex support in C */;
return r765652;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019151 +o rules:numerics
(FPCore ()
:name "3.9.1 real part (p56)"
(re (+.c (+.c (+.c (+.c (+.c (+.c (*.c (*.c (*.c (*.c (*.c (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (*.c (*.c (*.c (*.c (*.c (complex 6 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (complex 20 0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1))) (*.c (complex 6 0) (complex -1 1))) (complex 1 0))))