\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 r44424 = -1.0;
double r44425 = 1.0;
double r44426 = /* ERROR: no complex support in C */;
double r44427 = r44426 * r44426;
double r44428 = r44427 * r44426;
double r44429 = r44428 * r44426;
double r44430 = r44429 * r44426;
double r44431 = r44430 * r44426;
double r44432 = 6.0;
double r44433 = 0.0;
double r44434 = /* ERROR: no complex support in C */;
double r44435 = r44434 * r44426;
double r44436 = r44435 * r44426;
double r44437 = r44436 * r44426;
double r44438 = r44437 * r44426;
double r44439 = r44438 * r44426;
double r44440 = r44431 + r44439;
double r44441 = 15.0;
double r44442 = /* ERROR: no complex support in C */;
double r44443 = r44442 * r44426;
double r44444 = r44443 * r44426;
double r44445 = r44444 * r44426;
double r44446 = r44445 * r44426;
double r44447 = r44440 + r44446;
double r44448 = 20.0;
double r44449 = /* ERROR: no complex support in C */;
double r44450 = r44449 * r44426;
double r44451 = r44450 * r44426;
double r44452 = r44451 * r44426;
double r44453 = r44447 + r44452;
double r44454 = r44453 + r44444;
double r44455 = r44454 + r44435;
double r44456 = /* ERROR: no complex support in C */;
double r44457 = r44455 + r44456;
double r44458 = /* ERROR: no complex support in C */;
return r44458;
}
double f() {
double r44459 = -1.0;
double r44460 = 1.0;
double r44461 = /* ERROR: no complex support in C */;
double r44462 = r44461 * r44461;
double r44463 = r44462 * r44461;
double r44464 = r44463 * r44461;
double r44465 = r44464 * r44461;
double r44466 = r44465 * r44461;
double r44467 = 6.0;
double r44468 = 0.0;
double r44469 = /* ERROR: no complex support in C */;
double r44470 = r44469 * r44461;
double r44471 = r44470 * r44461;
double r44472 = r44471 * r44461;
double r44473 = r44472 * r44461;
double r44474 = r44473 * r44461;
double r44475 = r44466 + r44474;
double r44476 = 15.0;
double r44477 = /* ERROR: no complex support in C */;
double r44478 = r44477 * r44461;
double r44479 = r44478 * r44461;
double r44480 = r44479 * r44461;
double r44481 = r44480 * r44461;
double r44482 = r44475 + r44481;
double r44483 = 20.0;
double r44484 = /* ERROR: no complex support in C */;
double r44485 = r44484 * r44461;
double r44486 = r44485 * r44461;
double r44487 = r44486 * r44461;
double r44488 = r44482 + r44487;
double r44489 = r44488 + r44479;
double r44490 = r44489 + r44470;
double r44491 = /* ERROR: no complex support in C */;
double r44492 = r44490 + r44491;
double r44493 = /* ERROR: no complex support in C */;
return r44493;
}
Initial program 0
Final simplification0
herbie shell --seed 2020025 +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))))