\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(\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))
double f() {
double r38451 = -1.0;
double r38452 = 1.0;
double r38453 = /* ERROR: no complex support in C */;
double r38454 = r38453 * r38453;
double r38455 = r38454 * r38453;
double r38456 = r38455 * r38453;
double r38457 = r38456 * r38453;
double r38458 = r38457 * r38453;
double r38459 = 6.0;
double r38460 = 0.0;
double r38461 = /* ERROR: no complex support in C */;
double r38462 = r38461 * r38453;
double r38463 = r38462 * r38453;
double r38464 = r38463 * r38453;
double r38465 = r38464 * r38453;
double r38466 = r38465 * r38453;
double r38467 = r38458 + r38466;
double r38468 = 15.0;
double r38469 = /* ERROR: no complex support in C */;
double r38470 = r38469 * r38453;
double r38471 = r38470 * r38453;
double r38472 = r38471 * r38453;
double r38473 = r38472 * r38453;
double r38474 = r38467 + r38473;
double r38475 = 20.0;
double r38476 = /* ERROR: no complex support in C */;
double r38477 = r38476 * r38453;
double r38478 = r38477 * r38453;
double r38479 = r38478 * r38453;
double r38480 = r38474 + r38479;
double r38481 = r38480 + r38471;
double r38482 = r38481 + r38462;
double r38483 = /* ERROR: no complex support in C */;
double r38484 = r38482 + r38483;
double r38485 = /* ERROR: no complex support in C */;
return r38485;
}
double f() {
double r38486 = -1.0;
double r38487 = 1.0;
double r38488 = /* ERROR: no complex support in C */;
double r38489 = r38488 * r38488;
double r38490 = r38489 * r38488;
double r38491 = r38490 * r38488;
double r38492 = r38491 * r38488;
double r38493 = r38492 * r38488;
double r38494 = 6.0;
double r38495 = 0.0;
double r38496 = /* ERROR: no complex support in C */;
double r38497 = r38496 * r38488;
double r38498 = r38497 * r38488;
double r38499 = r38498 * r38488;
double r38500 = r38499 * r38488;
double r38501 = r38500 * r38488;
double r38502 = r38493 + r38501;
double r38503 = 15.0;
double r38504 = /* ERROR: no complex support in C */;
double r38505 = r38504 * r38488;
double r38506 = r38505 * r38488;
double r38507 = r38506 * r38488;
double r38508 = r38507 * r38488;
double r38509 = r38502 + r38508;
double r38510 = 20.0;
double r38511 = /* ERROR: no complex support in C */;
double r38512 = r38511 * r38488;
double r38513 = r38512 * r38488;
double r38514 = r38513 * r38488;
double r38515 = r38509 + r38514;
double r38516 = r38515 + r38506;
double r38517 = r38516 + r38497;
double r38518 = /* ERROR: no complex support in C */;
double r38519 = r38517 + r38518;
double r38520 = /* ERROR: no complex support in C */;
return r38520;
}
Initial program 0
Final simplification0
herbie shell --seed 2020049 +o rules:numerics
(FPCore ()
:name "3.9.1 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (* (* (* (* (* (complex 6 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (complex 20 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1))) (* (complex 6 0.0) (complex -1 1))) (complex 1 0.0))))