\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(\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))
double f() {
double r18622 = -1.0;
double r18623 = 1.0;
double r18624 = /* ERROR: no complex support in C */;
double r18625 = r18624 * r18624;
double r18626 = r18625 * r18624;
double r18627 = r18626 * r18624;
double r18628 = r18627 * r18624;
double r18629 = r18628 * r18624;
double r18630 = 6.0;
double r18631 = 0.0;
double r18632 = /* ERROR: no complex support in C */;
double r18633 = r18632 * r18624;
double r18634 = r18633 * r18624;
double r18635 = r18634 * r18624;
double r18636 = r18635 * r18624;
double r18637 = r18636 * r18624;
double r18638 = r18629 + r18637;
double r18639 = 15.0;
double r18640 = /* ERROR: no complex support in C */;
double r18641 = r18640 * r18624;
double r18642 = r18641 * r18624;
double r18643 = r18642 * r18624;
double r18644 = r18643 * r18624;
double r18645 = r18638 + r18644;
double r18646 = 20.0;
double r18647 = /* ERROR: no complex support in C */;
double r18648 = r18647 * r18624;
double r18649 = r18648 * r18624;
double r18650 = r18649 * r18624;
double r18651 = r18645 + r18650;
double r18652 = r18651 + r18642;
double r18653 = r18652 + r18633;
double r18654 = /* ERROR: no complex support in C */;
double r18655 = r18653 + r18654;
double r18656 = /* ERROR: no complex support in C */;
return r18656;
}
double f() {
double r18657 = -1.0;
double r18658 = 1.0;
double r18659 = /* ERROR: no complex support in C */;
double r18660 = r18659 * r18659;
double r18661 = r18660 * r18659;
double r18662 = r18661 * r18659;
double r18663 = r18662 * r18659;
double r18664 = r18663 * r18659;
double r18665 = 6.0;
double r18666 = 0.0;
double r18667 = /* ERROR: no complex support in C */;
double r18668 = r18667 * r18659;
double r18669 = r18668 * r18659;
double r18670 = r18669 * r18659;
double r18671 = r18670 * r18659;
double r18672 = r18671 * r18659;
double r18673 = r18664 + r18672;
double r18674 = 15.0;
double r18675 = /* ERROR: no complex support in C */;
double r18676 = r18675 * r18659;
double r18677 = r18676 * r18659;
double r18678 = r18677 * r18659;
double r18679 = r18678 * r18659;
double r18680 = r18673 + r18679;
double r18681 = 20.0;
double r18682 = /* ERROR: no complex support in C */;
double r18683 = r18682 * r18659;
double r18684 = r18683 * r18659;
double r18685 = r18684 * r18659;
double r18686 = r18680 + r18685;
double r18687 = r18686 + r18677;
double r18688 = r18687 + r18668;
double r18689 = /* ERROR: no complex support in C */;
double r18690 = r18688 + r18689;
double r18691 = /* ERROR: no complex support in C */;
return r18691;
}
Initial program 0
Final simplification0
herbie shell --seed 2019354 +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))))