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