\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(\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) + \left(1 + 0.0 i\right)\right) + \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)\right))
double f() {
double r35666 = -1.0;
double r35667 = 1.0;
double r35668 = /* ERROR: no complex support in C */;
double r35669 = r35668 * r35668;
double r35670 = r35669 * r35668;
double r35671 = r35670 * r35668;
double r35672 = r35671 * r35668;
double r35673 = r35672 * r35668;
double r35674 = 6.0;
double r35675 = 0.0;
double r35676 = /* ERROR: no complex support in C */;
double r35677 = r35676 * r35668;
double r35678 = r35677 * r35668;
double r35679 = r35678 * r35668;
double r35680 = r35679 * r35668;
double r35681 = r35680 * r35668;
double r35682 = r35673 + r35681;
double r35683 = 15.0;
double r35684 = /* ERROR: no complex support in C */;
double r35685 = r35684 * r35668;
double r35686 = r35685 * r35668;
double r35687 = r35686 * r35668;
double r35688 = r35687 * r35668;
double r35689 = r35682 + r35688;
double r35690 = 20.0;
double r35691 = /* ERROR: no complex support in C */;
double r35692 = r35691 * r35668;
double r35693 = r35692 * r35668;
double r35694 = r35693 * r35668;
double r35695 = r35689 + r35694;
double r35696 = r35695 + r35686;
double r35697 = r35696 + r35677;
double r35698 = /* ERROR: no complex support in C */;
double r35699 = r35697 + r35698;
double r35700 = /* ERROR: no complex support in C */;
return r35700;
}
double f() {
double r35701 = -1.0;
double r35702 = 1.0;
double r35703 = /* ERROR: no complex support in C */;
double r35704 = 20.0;
double r35705 = 0.0;
double r35706 = /* ERROR: no complex support in C */;
double r35707 = r35706 * r35703;
double r35708 = 15.0;
double r35709 = /* ERROR: no complex support in C */;
double r35710 = r35707 + r35709;
double r35711 = r35703 * r35710;
double r35712 = 6.0;
double r35713 = /* ERROR: no complex support in C */;
double r35714 = r35711 + r35713;
double r35715 = r35703 * r35714;
double r35716 = /* ERROR: no complex support in C */;
double r35717 = r35715 + r35716;
double r35718 = r35703 * r35703;
double r35719 = r35709 * r35703;
double r35720 = r35703 + r35713;
double r35721 = r35718 * r35720;
double r35722 = r35719 + r35721;
double r35723 = r35718 * r35722;
double r35724 = r35703 * r35723;
double r35725 = r35717 + r35724;
double r35726 = /* ERROR: no complex support in C */;
return r35726;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2020045 +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))))