\Im(\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))
\Im(\left(\left(\left(\left(1 + 0.0 i\right) + \left(\left(-1 \cdot 6 - 1 \cdot 0.0\right) + \left(1 \cdot 6 + 0.0 \cdot -1\right) i\right)\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(-1 \cdot 20 - 1 \cdot 0.0\right) + 15\right) + \left(0.0 + \left(0.0 \cdot -1 + 20 \cdot 1\right)\right) i\right)\right)\right) + \left(\left(\left(\left(15 + 0.0 i\right) + \left(\left(-1 \cdot 6 - 1 \cdot 0.0\right) + \left(1 \cdot 6 + 0.0 \cdot -1\right) i\right)\right) \cdot \left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) + \left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) i\right)\right) + \left(\left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) + \left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) + \left(\left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) + \left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right) i\right)\right)\right))
double f() {
double r1794764 = -1.0;
double r1794765 = 1.0;
double r1794766 = /* ERROR: no complex support in C */;
double r1794767 = r1794766 * r1794766;
double r1794768 = r1794767 * r1794766;
double r1794769 = r1794768 * r1794766;
double r1794770 = r1794769 * r1794766;
double r1794771 = r1794770 * r1794766;
double r1794772 = 6.0;
double r1794773 = 0.0;
double r1794774 = /* ERROR: no complex support in C */;
double r1794775 = r1794774 * r1794766;
double r1794776 = r1794775 * r1794766;
double r1794777 = r1794776 * r1794766;
double r1794778 = r1794777 * r1794766;
double r1794779 = r1794778 * r1794766;
double r1794780 = r1794771 + r1794779;
double r1794781 = 15.0;
double r1794782 = /* ERROR: no complex support in C */;
double r1794783 = r1794782 * r1794766;
double r1794784 = r1794783 * r1794766;
double r1794785 = r1794784 * r1794766;
double r1794786 = r1794785 * r1794766;
double r1794787 = r1794780 + r1794786;
double r1794788 = 20.0;
double r1794789 = /* ERROR: no complex support in C */;
double r1794790 = r1794789 * r1794766;
double r1794791 = r1794790 * r1794766;
double r1794792 = r1794791 * r1794766;
double r1794793 = r1794787 + r1794792;
double r1794794 = r1794793 + r1794784;
double r1794795 = r1794794 + r1794775;
double r1794796 = /* ERROR: no complex support in C */;
double r1794797 = r1794795 + r1794796;
double r1794798 = /* ERROR: no complex support in C */;
return r1794798;
}
double f() {
double r1794799 = 1.0;
double r1794800 = 0.0;
double r1794801 = /* ERROR: no complex support in C */;
double r1794802 = -1.0;
double r1794803 = 6.0;
double r1794804 = r1794802 * r1794803;
double r1794805 = r1794799 * r1794800;
double r1794806 = r1794804 - r1794805;
double r1794807 = r1794799 * r1794803;
double r1794808 = r1794800 * r1794802;
double r1794809 = r1794807 + r1794808;
double r1794810 = /* ERROR: no complex support in C */;
double r1794811 = r1794801 + r1794810;
double r1794812 = r1794799 + r1794802;
double r1794813 = r1794802 - r1794799;
double r1794814 = r1794812 * r1794813;
double r1794815 = r1794799 * r1794802;
double r1794816 = r1794815 + r1794815;
double r1794817 = /* ERROR: no complex support in C */;
double r1794818 = 20.0;
double r1794819 = r1794802 * r1794818;
double r1794820 = r1794819 - r1794805;
double r1794821 = 15.0;
double r1794822 = r1794820 + r1794821;
double r1794823 = r1794818 * r1794799;
double r1794824 = r1794808 + r1794823;
double r1794825 = r1794800 + r1794824;
double r1794826 = /* ERROR: no complex support in C */;
double r1794827 = r1794817 * r1794826;
double r1794828 = r1794811 + r1794827;
double r1794829 = /* ERROR: no complex support in C */;
double r1794830 = r1794829 + r1794810;
double r1794831 = r1794816 + r1794814;
double r1794832 = r1794814 - r1794816;
double r1794833 = r1794831 * r1794832;
double r1794834 = r1794814 * r1794816;
double r1794835 = r1794834 + r1794834;
double r1794836 = /* ERROR: no complex support in C */;
double r1794837 = r1794830 * r1794836;
double r1794838 = r1794814 * r1794833;
double r1794839 = r1794816 * r1794835;
double r1794840 = r1794838 - r1794839;
double r1794841 = r1794833 * r1794816;
double r1794842 = r1794835 * r1794814;
double r1794843 = r1794841 + r1794842;
double r1794844 = /* ERROR: no complex support in C */;
double r1794845 = r1794837 + r1794844;
double r1794846 = r1794828 + r1794845;
double r1794847 = /* ERROR: no complex support in C */;
return r1794847;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019169
(FPCore ()
:name "3.9.1 imaginary part (p56)"
(im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1.0 1.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (* (* (* (* (* (complex 6.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (complex 20.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (complex 6.0 0.0) (complex -1.0 1.0))) (complex 1.0 0.0))))