\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(1 + 0.0 i\right) + \left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0.0 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right)\right) + \left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(20 + 0.0 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right)\right)\right))
double f() {
double r28458 = -1.0;
double r28459 = 1.0;
double r28460 = /* ERROR: no complex support in C */;
double r28461 = r28460 * r28460;
double r28462 = r28461 * r28460;
double r28463 = r28462 * r28460;
double r28464 = r28463 * r28460;
double r28465 = r28464 * r28460;
double r28466 = 6.0;
double r28467 = 0.0;
double r28468 = /* ERROR: no complex support in C */;
double r28469 = r28468 * r28460;
double r28470 = r28469 * r28460;
double r28471 = r28470 * r28460;
double r28472 = r28471 * r28460;
double r28473 = r28472 * r28460;
double r28474 = r28465 + r28473;
double r28475 = 15.0;
double r28476 = /* ERROR: no complex support in C */;
double r28477 = r28476 * r28460;
double r28478 = r28477 * r28460;
double r28479 = r28478 * r28460;
double r28480 = r28479 * r28460;
double r28481 = r28474 + r28480;
double r28482 = 20.0;
double r28483 = /* ERROR: no complex support in C */;
double r28484 = r28483 * r28460;
double r28485 = r28484 * r28460;
double r28486 = r28485 * r28460;
double r28487 = r28481 + r28486;
double r28488 = r28487 + r28478;
double r28489 = r28488 + r28469;
double r28490 = /* ERROR: no complex support in C */;
double r28491 = r28489 + r28490;
double r28492 = /* ERROR: no complex support in C */;
return r28492;
}
double f() {
double r28493 = 1.0;
double r28494 = 0.0;
double r28495 = /* ERROR: no complex support in C */;
double r28496 = 15.0;
double r28497 = /* ERROR: no complex support in C */;
double r28498 = -1.0;
double r28499 = /* ERROR: no complex support in C */;
double r28500 = r28497 * r28499;
double r28501 = 6.0;
double r28502 = /* ERROR: no complex support in C */;
double r28503 = r28500 + r28502;
double r28504 = r28503 * r28499;
double r28505 = r28495 + r28504;
double r28506 = r28499 * r28499;
double r28507 = r28499 * r28506;
double r28508 = r28499 + r28502;
double r28509 = r28507 * r28508;
double r28510 = 20.0;
double r28511 = /* ERROR: no complex support in C */;
double r28512 = r28500 + r28511;
double r28513 = r28512 * r28499;
double r28514 = r28509 + r28513;
double r28515 = r28506 * r28514;
double r28516 = r28505 + r28515;
double r28517 = /* ERROR: no complex support in C */;
return r28517;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019194 +o rules:numerics
(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))))