\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 r880167 = -1.0;
double r880168 = 1.0;
double r880169 = /* ERROR: no complex support in C */;
double r880170 = r880169 * r880169;
double r880171 = r880170 * r880169;
double r880172 = r880171 * r880169;
double r880173 = r880172 * r880169;
double r880174 = r880173 * r880169;
double r880175 = 6.0;
double r880176 = 0.0;
double r880177 = /* ERROR: no complex support in C */;
double r880178 = r880177 * r880169;
double r880179 = r880178 * r880169;
double r880180 = r880179 * r880169;
double r880181 = r880180 * r880169;
double r880182 = r880181 * r880169;
double r880183 = r880174 + r880182;
double r880184 = 15.0;
double r880185 = /* ERROR: no complex support in C */;
double r880186 = r880185 * r880169;
double r880187 = r880186 * r880169;
double r880188 = r880187 * r880169;
double r880189 = r880188 * r880169;
double r880190 = r880183 + r880189;
double r880191 = 20.0;
double r880192 = /* ERROR: no complex support in C */;
double r880193 = r880192 * r880169;
double r880194 = r880193 * r880169;
double r880195 = r880194 * r880169;
double r880196 = r880190 + r880195;
double r880197 = r880196 + r880187;
double r880198 = r880197 + r880178;
double r880199 = /* ERROR: no complex support in C */;
double r880200 = r880198 + r880199;
double r880201 = /* ERROR: no complex support in C */;
return r880201;
}
double f() {
double r880202 = -1.0;
double r880203 = 0.0;
double r880204 = /* ERROR: no complex support in C */;
double r880205 = /* ERROR: no complex support in C */;
return r880205;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019151 +o rules:numerics
(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))))