\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 r948452 = -1.0;
double r948453 = 1.0;
double r948454 = /* ERROR: no complex support in C */;
double r948455 = r948454 * r948454;
double r948456 = r948455 * r948454;
double r948457 = r948456 * r948454;
double r948458 = r948457 * r948454;
double r948459 = r948458 * r948454;
double r948460 = 6.0;
double r948461 = 0.0;
double r948462 = /* ERROR: no complex support in C */;
double r948463 = r948462 * r948454;
double r948464 = r948463 * r948454;
double r948465 = r948464 * r948454;
double r948466 = r948465 * r948454;
double r948467 = r948466 * r948454;
double r948468 = r948459 + r948467;
double r948469 = 15.0;
double r948470 = /* ERROR: no complex support in C */;
double r948471 = r948470 * r948454;
double r948472 = r948471 * r948454;
double r948473 = r948472 * r948454;
double r948474 = r948473 * r948454;
double r948475 = r948468 + r948474;
double r948476 = 20.0;
double r948477 = /* ERROR: no complex support in C */;
double r948478 = r948477 * r948454;
double r948479 = r948478 * r948454;
double r948480 = r948479 * r948454;
double r948481 = r948475 + r948480;
double r948482 = r948481 + r948472;
double r948483 = r948482 + r948463;
double r948484 = /* ERROR: no complex support in C */;
double r948485 = r948483 + r948484;
double r948486 = /* ERROR: no complex support in C */;
return r948486;
}
double f() {
double r948487 = -1.0;
double r948488 = 0.0;
double r948489 = /* ERROR: no complex support in C */;
double r948490 = /* ERROR: no complex support in C */;
return r948490;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019152 +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))))