\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 r813458 = -1.0;
double r813459 = 1.0;
double r813460 = /* ERROR: no complex support in C */;
double r813461 = r813460 * r813460;
double r813462 = r813461 * r813460;
double r813463 = r813462 * r813460;
double r813464 = r813463 * r813460;
double r813465 = r813464 * r813460;
double r813466 = 6.0;
double r813467 = 0.0;
double r813468 = /* ERROR: no complex support in C */;
double r813469 = r813468 * r813460;
double r813470 = r813469 * r813460;
double r813471 = r813470 * r813460;
double r813472 = r813471 * r813460;
double r813473 = r813472 * r813460;
double r813474 = r813465 + r813473;
double r813475 = 15.0;
double r813476 = /* ERROR: no complex support in C */;
double r813477 = r813476 * r813460;
double r813478 = r813477 * r813460;
double r813479 = r813478 * r813460;
double r813480 = r813479 * r813460;
double r813481 = r813474 + r813480;
double r813482 = 20.0;
double r813483 = /* ERROR: no complex support in C */;
double r813484 = r813483 * r813460;
double r813485 = r813484 * r813460;
double r813486 = r813485 * r813460;
double r813487 = r813481 + r813486;
double r813488 = r813487 + r813478;
double r813489 = r813488 + r813469;
double r813490 = /* ERROR: no complex support in C */;
double r813491 = r813489 + r813490;
double r813492 = /* ERROR: no complex support in C */;
return r813492;
}
double f() {
double r813493 = -1.0;
double r813494 = 0.0;
double r813495 = /* ERROR: no complex support in C */;
double r813496 = /* ERROR: no complex support in C */;
return r813496;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019139 +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))))