\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 + 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(-1 + 1 i\right) \cdot \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 + 0.0 i\right) + \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)\right)\right))
double f() {
double r27795 = -1.0;
double r27796 = 1.0;
double r27797 = /* ERROR: no complex support in C */;
double r27798 = r27797 * r27797;
double r27799 = r27798 * r27797;
double r27800 = r27799 * r27797;
double r27801 = r27800 * r27797;
double r27802 = r27801 * r27797;
double r27803 = 6.0;
double r27804 = 0.0;
double r27805 = /* ERROR: no complex support in C */;
double r27806 = r27805 * r27797;
double r27807 = r27806 * r27797;
double r27808 = r27807 * r27797;
double r27809 = r27808 * r27797;
double r27810 = r27809 * r27797;
double r27811 = r27802 + r27810;
double r27812 = 15.0;
double r27813 = /* ERROR: no complex support in C */;
double r27814 = r27813 * r27797;
double r27815 = r27814 * r27797;
double r27816 = r27815 * r27797;
double r27817 = r27816 * r27797;
double r27818 = r27811 + r27817;
double r27819 = 20.0;
double r27820 = /* ERROR: no complex support in C */;
double r27821 = r27820 * r27797;
double r27822 = r27821 * r27797;
double r27823 = r27822 * r27797;
double r27824 = r27818 + r27823;
double r27825 = r27824 + r27815;
double r27826 = r27825 + r27806;
double r27827 = /* ERROR: no complex support in C */;
double r27828 = r27826 + r27827;
double r27829 = /* ERROR: no complex support in C */;
return r27829;
}
double f() {
double r27830 = -1.0;
double r27831 = 1.0;
double r27832 = /* ERROR: no complex support in C */;
double r27833 = r27832 * r27832;
double r27834 = 15.0;
double r27835 = 0.0;
double r27836 = /* ERROR: no complex support in C */;
double r27837 = r27836 * r27832;
double r27838 = 20.0;
double r27839 = /* ERROR: no complex support in C */;
double r27840 = r27837 + r27839;
double r27841 = r27832 * r27840;
double r27842 = 6.0;
double r27843 = /* ERROR: no complex support in C */;
double r27844 = r27832 + r27843;
double r27845 = r27833 * r27844;
double r27846 = r27832 * r27845;
double r27847 = r27841 + r27846;
double r27848 = r27833 * r27847;
double r27849 = /* ERROR: no complex support in C */;
double r27850 = r27837 + r27843;
double r27851 = r27832 * r27850;
double r27852 = r27849 + r27851;
double r27853 = r27848 + r27852;
double r27854 = /* ERROR: no complex support in C */;
return r27854;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2020047 +o rules:numerics
(FPCore ()
:name "3.9.1 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (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))))