\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 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 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 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 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0 i\right)\right))
\Im(\left(-1 + 0 i\right))
double f() {
double r58043 = -1.0;
double r58044 = 1.0;
double r58045 = /* ERROR: no complex support in C */;
double r58046 = r58045 * r58045;
double r58047 = r58046 * r58045;
double r58048 = r58047 * r58045;
double r58049 = r58048 * r58045;
double r58050 = r58049 * r58045;
double r58051 = 6.0;
double r58052 = 0.0;
double r58053 = /* ERROR: no complex support in C */;
double r58054 = r58053 * r58045;
double r58055 = r58054 * r58045;
double r58056 = r58055 * r58045;
double r58057 = r58056 * r58045;
double r58058 = r58057 * r58045;
double r58059 = r58050 + r58058;
double r58060 = 15.0;
double r58061 = /* ERROR: no complex support in C */;
double r58062 = r58061 * r58045;
double r58063 = r58062 * r58045;
double r58064 = r58063 * r58045;
double r58065 = r58064 * r58045;
double r58066 = r58059 + r58065;
double r58067 = 20.0;
double r58068 = /* ERROR: no complex support in C */;
double r58069 = r58068 * r58045;
double r58070 = r58069 * r58045;
double r58071 = r58070 * r58045;
double r58072 = r58066 + r58071;
double r58073 = r58072 + r58063;
double r58074 = r58073 + r58054;
double r58075 = /* ERROR: no complex support in C */;
double r58076 = r58074 + r58075;
double r58077 = /* ERROR: no complex support in C */;
return r58077;
}
double f() {
double r58078 = -1.0;
double r58079 = 0.0;
double r58080 = /* ERROR: no complex support in C */;
double r58081 = /* ERROR: no complex support in C */;
return r58081;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019132
(FPCore ()
:name "3.9.1 imaginary part (p56)"
(im (+.c (+.c (+.c (+.c (+.c (+.c (*.c (*.c (*.c (*.c (*.c (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (*.c (*.c (*.c (*.c (*.c (complex 6 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (complex 20 0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1))) (*.c (complex 6 0) (complex -1 1))) (complex 1 0))))