\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.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.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.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.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))
\Im(\left(\left(\left(\left(1 + 0.0 i\right) + \left(\left(-1 \cdot 6 - 1 \cdot 0.0\right) + \left(1 \cdot 6 + 0.0 \cdot -1\right) i\right)\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(-1 \cdot 20 - 1 \cdot 0.0\right) + 15\right) + \left(0.0 + \left(0.0 \cdot -1 + 20 \cdot 1\right)\right) i\right)\right)\right) + \left(\left(\left(\left(15 + 0.0 i\right) + \left(\left(-1 \cdot 6 - 1 \cdot 0.0\right) + \left(1 \cdot 6 + 0.0 \cdot -1\right) i\right)\right) \cdot \left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) + \left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) i\right)\right) + \left(\left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) + \left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) + \left(\left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) + \left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right) i\right)\right)\right))
double f() {
double r1050429 = -1.0;
double r1050430 = 1.0;
double r1050431 = /* ERROR: no complex support in C */;
double r1050432 = r1050431 * r1050431;
double r1050433 = r1050432 * r1050431;
double r1050434 = r1050433 * r1050431;
double r1050435 = r1050434 * r1050431;
double r1050436 = r1050435 * r1050431;
double r1050437 = 6.0;
double r1050438 = 0.0;
double r1050439 = /* ERROR: no complex support in C */;
double r1050440 = r1050439 * r1050431;
double r1050441 = r1050440 * r1050431;
double r1050442 = r1050441 * r1050431;
double r1050443 = r1050442 * r1050431;
double r1050444 = r1050443 * r1050431;
double r1050445 = r1050436 + r1050444;
double r1050446 = 15.0;
double r1050447 = /* ERROR: no complex support in C */;
double r1050448 = r1050447 * r1050431;
double r1050449 = r1050448 * r1050431;
double r1050450 = r1050449 * r1050431;
double r1050451 = r1050450 * r1050431;
double r1050452 = r1050445 + r1050451;
double r1050453 = 20.0;
double r1050454 = /* ERROR: no complex support in C */;
double r1050455 = r1050454 * r1050431;
double r1050456 = r1050455 * r1050431;
double r1050457 = r1050456 * r1050431;
double r1050458 = r1050452 + r1050457;
double r1050459 = r1050458 + r1050449;
double r1050460 = r1050459 + r1050440;
double r1050461 = /* ERROR: no complex support in C */;
double r1050462 = r1050460 + r1050461;
double r1050463 = /* ERROR: no complex support in C */;
return r1050463;
}
double f() {
double r1050464 = 1.0;
double r1050465 = 0.0;
double r1050466 = /* ERROR: no complex support in C */;
double r1050467 = -1.0;
double r1050468 = 6.0;
double r1050469 = r1050467 * r1050468;
double r1050470 = r1050464 * r1050465;
double r1050471 = r1050469 - r1050470;
double r1050472 = r1050464 * r1050468;
double r1050473 = r1050465 * r1050467;
double r1050474 = r1050472 + r1050473;
double r1050475 = /* ERROR: no complex support in C */;
double r1050476 = r1050466 + r1050475;
double r1050477 = r1050464 + r1050467;
double r1050478 = r1050467 - r1050464;
double r1050479 = r1050477 * r1050478;
double r1050480 = r1050464 * r1050467;
double r1050481 = r1050480 + r1050480;
double r1050482 = /* ERROR: no complex support in C */;
double r1050483 = 20.0;
double r1050484 = r1050467 * r1050483;
double r1050485 = r1050484 - r1050470;
double r1050486 = 15.0;
double r1050487 = r1050485 + r1050486;
double r1050488 = r1050483 * r1050464;
double r1050489 = r1050473 + r1050488;
double r1050490 = r1050465 + r1050489;
double r1050491 = /* ERROR: no complex support in C */;
double r1050492 = r1050482 * r1050491;
double r1050493 = r1050476 + r1050492;
double r1050494 = /* ERROR: no complex support in C */;
double r1050495 = r1050494 + r1050475;
double r1050496 = r1050481 + r1050479;
double r1050497 = r1050479 - r1050481;
double r1050498 = r1050496 * r1050497;
double r1050499 = r1050479 * r1050481;
double r1050500 = r1050499 + r1050499;
double r1050501 = /* ERROR: no complex support in C */;
double r1050502 = r1050495 * r1050501;
double r1050503 = r1050479 * r1050498;
double r1050504 = r1050481 * r1050500;
double r1050505 = r1050503 - r1050504;
double r1050506 = r1050498 * r1050481;
double r1050507 = r1050500 * r1050479;
double r1050508 = r1050506 + r1050507;
double r1050509 = /* ERROR: no complex support in C */;
double r1050510 = r1050502 + r1050509;
double r1050511 = r1050493 + r1050510;
double r1050512 = /* ERROR: no complex support in C */;
return r1050512;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019172
(FPCore ()
:name "3.9.1 imaginary part (p56)"
(im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1.0 1.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (* (* (* (* (* (complex 6.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (complex 20.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (complex 6.0 0.0) (complex -1.0 1.0))) (complex 1.0 0.0))))