\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(-1 \cdot 6 - 0.0 \cdot 1\right) + \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) i\right) + \left(\left(\left(1 + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 15 - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot 0.0\right)\right) + \left(\mathsf{fma}\left(15, 1 \cdot -1 + 1 \cdot -1, 0.0 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right) + 0.0\right) i\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(-1 \cdot 6 - 0.0 \cdot 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) - \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) + \left(\left(-1 \cdot 20 - 0.0 \cdot 1\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 15 - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot 0.0\right)\right)\right) + \left(\left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) + \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right) + \mathsf{fma}\left(-1 \cdot 6 - 0.0 \cdot 1, 1 \cdot -1 + 1 \cdot -1, \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right)\right) + \left(\mathsf{fma}\left(20, 1, 0.0 \cdot -1\right) + \mathsf{fma}\left(15, 1 \cdot -1 + 1 \cdot -1, 0.0 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right)\right)\right) i\right)\right)\right)\right))double f() {
double r1739514 = -1.0;
double r1739515 = 1.0;
double r1739516 = /* ERROR: no complex support in C */;
double r1739517 = r1739516 * r1739516;
double r1739518 = r1739517 * r1739516;
double r1739519 = r1739518 * r1739516;
double r1739520 = r1739519 * r1739516;
double r1739521 = r1739520 * r1739516;
double r1739522 = 6.0;
double r1739523 = 0.0;
double r1739524 = /* ERROR: no complex support in C */;
double r1739525 = r1739524 * r1739516;
double r1739526 = r1739525 * r1739516;
double r1739527 = r1739526 * r1739516;
double r1739528 = r1739527 * r1739516;
double r1739529 = r1739528 * r1739516;
double r1739530 = r1739521 + r1739529;
double r1739531 = 15.0;
double r1739532 = /* ERROR: no complex support in C */;
double r1739533 = r1739532 * r1739516;
double r1739534 = r1739533 * r1739516;
double r1739535 = r1739534 * r1739516;
double r1739536 = r1739535 * r1739516;
double r1739537 = r1739530 + r1739536;
double r1739538 = 20.0;
double r1739539 = /* ERROR: no complex support in C */;
double r1739540 = r1739539 * r1739516;
double r1739541 = r1739540 * r1739516;
double r1739542 = r1739541 * r1739516;
double r1739543 = r1739537 + r1739542;
double r1739544 = r1739543 + r1739534;
double r1739545 = r1739544 + r1739525;
double r1739546 = /* ERROR: no complex support in C */;
double r1739547 = r1739545 + r1739546;
double r1739548 = /* ERROR: no complex support in C */;
return r1739548;
}
double f() {
double r1739549 = -1.0;
double r1739550 = 6.0;
double r1739551 = r1739549 * r1739550;
double r1739552 = 0.0;
double r1739553 = 1.0;
double r1739554 = r1739552 * r1739553;
double r1739555 = r1739551 - r1739554;
double r1739556 = r1739550 * r1739553;
double r1739557 = fma(r1739552, r1739549, r1739556);
double r1739558 = /* ERROR: no complex support in C */;
double r1739559 = r1739553 + r1739549;
double r1739560 = r1739549 - r1739553;
double r1739561 = r1739559 * r1739560;
double r1739562 = 15.0;
double r1739563 = r1739561 * r1739562;
double r1739564 = r1739553 * r1739549;
double r1739565 = r1739564 + r1739564;
double r1739566 = r1739565 * r1739552;
double r1739567 = r1739563 - r1739566;
double r1739568 = r1739553 + r1739567;
double r1739569 = r1739552 * r1739561;
double r1739570 = fma(r1739562, r1739565, r1739569);
double r1739571 = r1739570 + r1739552;
double r1739572 = /* ERROR: no complex support in C */;
double r1739573 = /* ERROR: no complex support in C */;
double r1739574 = r1739561 + r1739565;
double r1739575 = r1739561 - r1739565;
double r1739576 = r1739574 * r1739575;
double r1739577 = r1739555 * r1739561;
double r1739578 = r1739557 * r1739565;
double r1739579 = r1739577 - r1739578;
double r1739580 = r1739576 + r1739579;
double r1739581 = 20.0;
double r1739582 = r1739549 * r1739581;
double r1739583 = r1739582 - r1739554;
double r1739584 = r1739583 + r1739567;
double r1739585 = r1739580 + r1739584;
double r1739586 = r1739565 * r1739561;
double r1739587 = r1739586 + r1739586;
double r1739588 = r1739557 * r1739561;
double r1739589 = fma(r1739555, r1739565, r1739588);
double r1739590 = r1739587 + r1739589;
double r1739591 = r1739552 * r1739549;
double r1739592 = fma(r1739581, r1739553, r1739591);
double r1739593 = r1739592 + r1739570;
double r1739594 = r1739590 + r1739593;
double r1739595 = /* ERROR: no complex support in C */;
double r1739596 = r1739573 * r1739595;
double r1739597 = r1739572 + r1739596;
double r1739598 = r1739558 + r1739597;
double r1739599 = /* ERROR: no complex support in C */;
return r1739599;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019168 +o rules:numerics
(FPCore ()
:name "3.9.1 real part (p56)"
(re (+.c (+.c (+.c (+.c (+.c (+.c (*.c (*.c (*.c (*.c (*.c (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)) (*.c (*.c (*.c (*.c (*.c (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))) (*.c (*.c (*.c (*.c (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))) (*.c (*.c (*.c (complex 20.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (*.c (*.c (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0))) (*.c (complex 6.0 0.0) (complex -1.0 1.0))) (complex 1.0 0.0))))