\Re(\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))
\Re(\left(\left(\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) + \left(1 + 0.0 i\right)\right) + \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)\right))
double f() {
double r33445 = -1.0;
double r33446 = 1.0;
double r33447 = /* ERROR: no complex support in C */;
double r33448 = r33447 * r33447;
double r33449 = r33448 * r33447;
double r33450 = r33449 * r33447;
double r33451 = r33450 * r33447;
double r33452 = r33451 * r33447;
double r33453 = 6.0;
double r33454 = 0.0;
double r33455 = /* ERROR: no complex support in C */;
double r33456 = r33455 * r33447;
double r33457 = r33456 * r33447;
double r33458 = r33457 * r33447;
double r33459 = r33458 * r33447;
double r33460 = r33459 * r33447;
double r33461 = r33452 + r33460;
double r33462 = 15.0;
double r33463 = /* ERROR: no complex support in C */;
double r33464 = r33463 * r33447;
double r33465 = r33464 * r33447;
double r33466 = r33465 * r33447;
double r33467 = r33466 * r33447;
double r33468 = r33461 + r33467;
double r33469 = 20.0;
double r33470 = /* ERROR: no complex support in C */;
double r33471 = r33470 * r33447;
double r33472 = r33471 * r33447;
double r33473 = r33472 * r33447;
double r33474 = r33468 + r33473;
double r33475 = r33474 + r33465;
double r33476 = r33475 + r33456;
double r33477 = /* ERROR: no complex support in C */;
double r33478 = r33476 + r33477;
double r33479 = /* ERROR: no complex support in C */;
return r33479;
}
double f() {
double r33480 = -1.0;
double r33481 = 1.0;
double r33482 = /* ERROR: no complex support in C */;
double r33483 = 20.0;
double r33484 = 0.0;
double r33485 = /* ERROR: no complex support in C */;
double r33486 = r33485 * r33482;
double r33487 = 15.0;
double r33488 = /* ERROR: no complex support in C */;
double r33489 = r33486 + r33488;
double r33490 = r33482 * r33489;
double r33491 = 6.0;
double r33492 = /* ERROR: no complex support in C */;
double r33493 = r33490 + r33492;
double r33494 = r33482 * r33493;
double r33495 = /* ERROR: no complex support in C */;
double r33496 = r33494 + r33495;
double r33497 = r33482 * r33482;
double r33498 = r33488 * r33482;
double r33499 = r33482 + r33492;
double r33500 = r33497 * r33499;
double r33501 = r33498 + r33500;
double r33502 = r33497 * r33501;
double r33503 = r33482 * r33502;
double r33504 = r33496 + r33503;
double r33505 = /* ERROR: no complex support in C */;
return r33505;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2020045
(FPCore ()
:name "3.9.1 real part (p56)"
:precision binary64
(re (+ (+ (+ (+ (+ (+ (* (* (* (* (* (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))))