\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 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right)\right)\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(15 + 0.0 i\right)\right)\right) + \left(6 + 0.0 i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
double r18470 = -1.0;
double r18471 = 1.0;
double r18472 = /* ERROR: no complex support in C */;
double r18473 = r18472 * r18472;
double r18474 = r18473 * r18472;
double r18475 = r18474 * r18472;
double r18476 = r18475 * r18472;
double r18477 = r18476 * r18472;
double r18478 = 6.0;
double r18479 = 0.0;
double r18480 = /* ERROR: no complex support in C */;
double r18481 = r18480 * r18472;
double r18482 = r18481 * r18472;
double r18483 = r18482 * r18472;
double r18484 = r18483 * r18472;
double r18485 = r18484 * r18472;
double r18486 = r18477 + r18485;
double r18487 = 15.0;
double r18488 = /* ERROR: no complex support in C */;
double r18489 = r18488 * r18472;
double r18490 = r18489 * r18472;
double r18491 = r18490 * r18472;
double r18492 = r18491 * r18472;
double r18493 = r18486 + r18492;
double r18494 = 20.0;
double r18495 = /* ERROR: no complex support in C */;
double r18496 = r18495 * r18472;
double r18497 = r18496 * r18472;
double r18498 = r18497 * r18472;
double r18499 = r18493 + r18498;
double r18500 = r18499 + r18490;
double r18501 = r18500 + r18481;
double r18502 = /* ERROR: no complex support in C */;
double r18503 = r18501 + r18502;
double r18504 = /* ERROR: no complex support in C */;
return r18504;
}
double f() {
double r18505 = -1.0;
double r18506 = 1.0;
double r18507 = /* ERROR: no complex support in C */;
double r18508 = r18507 * r18507;
double r18509 = 15.0;
double r18510 = 0.0;
double r18511 = /* ERROR: no complex support in C */;
double r18512 = r18511 * r18507;
double r18513 = 6.0;
double r18514 = /* ERROR: no complex support in C */;
double r18515 = r18507 + r18514;
double r18516 = r18508 * r18515;
double r18517 = r18512 + r18516;
double r18518 = r18508 * r18517;
double r18519 = r18507 * r18518;
double r18520 = 20.0;
double r18521 = /* ERROR: no complex support in C */;
double r18522 = r18521 * r18507;
double r18523 = r18522 + r18511;
double r18524 = r18507 * r18523;
double r18525 = r18524 + r18514;
double r18526 = r18507 * r18525;
double r18527 = r18519 + r18526;
double r18528 = /* ERROR: no complex support in C */;
double r18529 = r18527 + r18528;
double r18530 = /* ERROR: no complex support in C */;
return r18530;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019303 +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))))