\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 r322457 = -1.0;
double r322458 = 1.0;
double r322459 = /* ERROR: no complex support in C */;
double r322460 = r322459 * r322459;
double r322461 = r322460 * r322459;
double r322462 = r322461 * r322459;
double r322463 = r322462 * r322459;
double r322464 = r322463 * r322459;
double r322465 = 6.0;
double r322466 = 0.0;
double r322467 = /* ERROR: no complex support in C */;
double r322468 = r322467 * r322459;
double r322469 = r322468 * r322459;
double r322470 = r322469 * r322459;
double r322471 = r322470 * r322459;
double r322472 = r322471 * r322459;
double r322473 = r322464 + r322472;
double r322474 = 15.0;
double r322475 = /* ERROR: no complex support in C */;
double r322476 = r322475 * r322459;
double r322477 = r322476 * r322459;
double r322478 = r322477 * r322459;
double r322479 = r322478 * r322459;
double r322480 = r322473 + r322479;
double r322481 = 20.0;
double r322482 = /* ERROR: no complex support in C */;
double r322483 = r322482 * r322459;
double r322484 = r322483 * r322459;
double r322485 = r322484 * r322459;
double r322486 = r322480 + r322485;
double r322487 = r322486 + r322477;
double r322488 = r322487 + r322468;
double r322489 = /* ERROR: no complex support in C */;
double r322490 = r322488 + r322489;
double r322491 = /* ERROR: no complex support in C */;
return r322491;
}
double f() {
double r322492 = 0.0;
return r322492;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019153 +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))))