\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))
0
double f() {
double r723294 = -1.0;
double r723295 = 1.0;
double r723296 = /* ERROR: no complex support in C */;
double r723297 = r723296 * r723296;
double r723298 = r723297 * r723296;
double r723299 = r723298 * r723296;
double r723300 = r723299 * r723296;
double r723301 = r723300 * r723296;
double r723302 = 6.0;
double r723303 = 0.0;
double r723304 = /* ERROR: no complex support in C */;
double r723305 = r723304 * r723296;
double r723306 = r723305 * r723296;
double r723307 = r723306 * r723296;
double r723308 = r723307 * r723296;
double r723309 = r723308 * r723296;
double r723310 = r723301 + r723309;
double r723311 = 15.0;
double r723312 = /* ERROR: no complex support in C */;
double r723313 = r723312 * r723296;
double r723314 = r723313 * r723296;
double r723315 = r723314 * r723296;
double r723316 = r723315 * r723296;
double r723317 = r723310 + r723316;
double r723318 = 20.0;
double r723319 = /* ERROR: no complex support in C */;
double r723320 = r723319 * r723296;
double r723321 = r723320 * r723296;
double r723322 = r723321 * r723296;
double r723323 = r723317 + r723322;
double r723324 = r723323 + r723314;
double r723325 = r723324 + r723305;
double r723326 = /* ERROR: no complex support in C */;
double r723327 = r723325 + r723326;
double r723328 = /* ERROR: no complex support in C */;
return r723328;
}
double f() {
double r723329 = 0.0;
return r723329;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019132 +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))))