\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(\left(-5 + -24 i\right) + \left(\left(\left(24 + -24 i\right) + \left(0 + 8 i\right)\right) + \left(\left(40 + 40 i\right) + \left(-60 + 0 i\right)\right)\right)\right))
double f() {
double r853461 = -1.0;
double r853462 = 1.0;
double r853463 = /* ERROR: no complex support in C */;
double r853464 = r853463 * r853463;
double r853465 = r853464 * r853463;
double r853466 = r853465 * r853463;
double r853467 = r853466 * r853463;
double r853468 = r853467 * r853463;
double r853469 = 6.0;
double r853470 = 0.0;
double r853471 = /* ERROR: no complex support in C */;
double r853472 = r853471 * r853463;
double r853473 = r853472 * r853463;
double r853474 = r853473 * r853463;
double r853475 = r853474 * r853463;
double r853476 = r853475 * r853463;
double r853477 = r853468 + r853476;
double r853478 = 15.0;
double r853479 = /* ERROR: no complex support in C */;
double r853480 = r853479 * r853463;
double r853481 = r853480 * r853463;
double r853482 = r853481 * r853463;
double r853483 = r853482 * r853463;
double r853484 = r853477 + r853483;
double r853485 = 20.0;
double r853486 = /* ERROR: no complex support in C */;
double r853487 = r853486 * r853463;
double r853488 = r853487 * r853463;
double r853489 = r853488 * r853463;
double r853490 = r853484 + r853489;
double r853491 = r853490 + r853481;
double r853492 = r853491 + r853472;
double r853493 = /* ERROR: no complex support in C */;
double r853494 = r853492 + r853493;
double r853495 = /* ERROR: no complex support in C */;
return r853495;
}
double f() {
double r853496 = -5.0;
double r853497 = -24.0;
double r853498 = /* ERROR: no complex support in C */;
double r853499 = 24.0;
double r853500 = /* ERROR: no complex support in C */;
double r853501 = 0.0;
double r853502 = 8.0;
double r853503 = /* ERROR: no complex support in C */;
double r853504 = r853500 + r853503;
double r853505 = 40.0;
double r853506 = /* ERROR: no complex support in C */;
double r853507 = -60.0;
double r853508 = /* ERROR: no complex support in C */;
double r853509 = r853506 + r853508;
double r853510 = r853504 + r853509;
double r853511 = r853498 + r853510;
double r853512 = /* ERROR: no complex support in C */;
return r853512;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019125 +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))))