\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.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.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.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.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))
\Re(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0.0 i\right)\right)\right) + \left(1 + 0.0 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(20 + 0.0 i\right)\right)\right) + \left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right)\right)\right)\right)\right))
double f() {
double r20620 = -1.0;
double r20621 = 1.0;
double r20622 = /* ERROR: no complex support in C */;
double r20623 = r20622 * r20622;
double r20624 = r20623 * r20622;
double r20625 = r20624 * r20622;
double r20626 = r20625 * r20622;
double r20627 = r20626 * r20622;
double r20628 = 6.0;
double r20629 = 0.0;
double r20630 = /* ERROR: no complex support in C */;
double r20631 = r20630 * r20622;
double r20632 = r20631 * r20622;
double r20633 = r20632 * r20622;
double r20634 = r20633 * r20622;
double r20635 = r20634 * r20622;
double r20636 = r20627 + r20635;
double r20637 = 15.0;
double r20638 = /* ERROR: no complex support in C */;
double r20639 = r20638 * r20622;
double r20640 = r20639 * r20622;
double r20641 = r20640 * r20622;
double r20642 = r20641 * r20622;
double r20643 = r20636 + r20642;
double r20644 = 20.0;
double r20645 = /* ERROR: no complex support in C */;
double r20646 = r20645 * r20622;
double r20647 = r20646 * r20622;
double r20648 = r20647 * r20622;
double r20649 = r20643 + r20648;
double r20650 = r20649 + r20640;
double r20651 = r20650 + r20631;
double r20652 = /* ERROR: no complex support in C */;
double r20653 = r20651 + r20652;
double r20654 = /* ERROR: no complex support in C */;
return r20654;
}
double f() {
double r20655 = -1.0;
double r20656 = 1.0;
double r20657 = /* ERROR: no complex support in C */;
double r20658 = 15.0;
double r20659 = 0.0;
double r20660 = /* ERROR: no complex support in C */;
double r20661 = r20660 * r20657;
double r20662 = 6.0;
double r20663 = /* ERROR: no complex support in C */;
double r20664 = r20661 + r20663;
double r20665 = r20657 * r20664;
double r20666 = /* ERROR: no complex support in C */;
double r20667 = r20665 + r20666;
double r20668 = r20657 * r20657;
double r20669 = 20.0;
double r20670 = /* ERROR: no complex support in C */;
double r20671 = r20661 + r20670;
double r20672 = r20657 * r20671;
double r20673 = r20668 * r20657;
double r20674 = r20657 + r20663;
double r20675 = r20673 * r20674;
double r20676 = r20672 + r20675;
double r20677 = r20668 * r20676;
double r20678 = r20667 + r20677;
double r20679 = /* ERROR: no complex support in C */;
return r20679;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019208
(FPCore ()
:name "3.9.1 real part (p56)"
:precision binary64
(re (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (* (* (* (* (* (complex 6 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (complex 20 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1))) (* (complex 6 0.0) (complex -1 1))) (complex 1 0.0))))