\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(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \mathsf{fma}\left(6, 1, 0.0 \cdot -1\right) i\right) + \left(1 + 0.0 i\right)\right) + \left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) \cdot \left(\left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \mathsf{fma}\left(6, 1, 0.0 \cdot -1\right) i\right) + \left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right)\right)\right)\right) + \left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(15 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - 0.0 \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \mathsf{fma}\left(15, 1 \cdot -1 + 1 \cdot -1, 0.0 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) + \left(\left(\left(20 \cdot -1 - 0.0 \cdot 1\right) + \mathsf{fma}\left(20, 1, 0.0 \cdot -1\right) i\right) + \left(15 + 0.0 i\right)\right)\right)\right)\right))double f() {
double r5828590 = -1.0;
double r5828591 = 1.0;
double r5828592 = /* ERROR: no complex support in C */;
double r5828593 = r5828592 * r5828592;
double r5828594 = r5828593 * r5828592;
double r5828595 = r5828594 * r5828592;
double r5828596 = r5828595 * r5828592;
double r5828597 = r5828596 * r5828592;
double r5828598 = 6.0;
double r5828599 = 0.0;
double r5828600 = /* ERROR: no complex support in C */;
double r5828601 = r5828600 * r5828592;
double r5828602 = r5828601 * r5828592;
double r5828603 = r5828602 * r5828592;
double r5828604 = r5828603 * r5828592;
double r5828605 = r5828604 * r5828592;
double r5828606 = r5828597 + r5828605;
double r5828607 = 15.0;
double r5828608 = /* ERROR: no complex support in C */;
double r5828609 = r5828608 * r5828592;
double r5828610 = r5828609 * r5828592;
double r5828611 = r5828610 * r5828592;
double r5828612 = r5828611 * r5828592;
double r5828613 = r5828606 + r5828612;
double r5828614 = 20.0;
double r5828615 = /* ERROR: no complex support in C */;
double r5828616 = r5828615 * r5828592;
double r5828617 = r5828616 * r5828592;
double r5828618 = r5828617 * r5828592;
double r5828619 = r5828613 + r5828618;
double r5828620 = r5828619 + r5828610;
double r5828621 = r5828620 + r5828601;
double r5828622 = /* ERROR: no complex support in C */;
double r5828623 = r5828621 + r5828622;
double r5828624 = /* ERROR: no complex support in C */;
return r5828624;
}
double f() {
double r5828625 = 6.0;
double r5828626 = -1.0;
double r5828627 = r5828625 * r5828626;
double r5828628 = 0.0;
double r5828629 = 1.0;
double r5828630 = r5828628 * r5828629;
double r5828631 = r5828627 - r5828630;
double r5828632 = r5828628 * r5828626;
double r5828633 = fma(r5828625, r5828629, r5828632);
double r5828634 = /* ERROR: no complex support in C */;
double r5828635 = /* ERROR: no complex support in C */;
double r5828636 = r5828634 + r5828635;
double r5828637 = r5828626 * r5828626;
double r5828638 = r5828629 * r5828629;
double r5828639 = r5828637 - r5828638;
double r5828640 = r5828639 * r5828639;
double r5828641 = r5828629 * r5828626;
double r5828642 = r5828641 + r5828641;
double r5828643 = r5828642 * r5828642;
double r5828644 = r5828640 - r5828643;
double r5828645 = r5828642 * r5828639;
double r5828646 = r5828645 + r5828645;
double r5828647 = /* ERROR: no complex support in C */;
double r5828648 = /* ERROR: no complex support in C */;
double r5828649 = r5828634 + r5828648;
double r5828650 = r5828647 * r5828649;
double r5828651 = r5828636 + r5828650;
double r5828652 = 15.0;
double r5828653 = r5828652 * r5828639;
double r5828654 = r5828628 * r5828642;
double r5828655 = r5828653 - r5828654;
double r5828656 = r5828628 * r5828639;
double r5828657 = fma(r5828652, r5828642, r5828656);
double r5828658 = /* ERROR: no complex support in C */;
double r5828659 = 20.0;
double r5828660 = r5828659 * r5828626;
double r5828661 = r5828660 - r5828630;
double r5828662 = fma(r5828659, r5828629, r5828632);
double r5828663 = /* ERROR: no complex support in C */;
double r5828664 = /* ERROR: no complex support in C */;
double r5828665 = r5828663 + r5828664;
double r5828666 = r5828658 + r5828665;
double r5828667 = r5828648 * r5828666;
double r5828668 = r5828651 + r5828667;
double r5828669 = /* ERROR: no complex support in C */;
return r5828669;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019173 +o rules:numerics
(FPCore ()
:name "3.9.1 real part (p56)"
(re (+ (+ (+ (+ (+ (+ (* (* (* (* (* (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)) (* (* (* (* (* (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))) (* (* (* (* (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))) (* (* (* (complex 20.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (complex 6.0 0.0) (complex -1.0 1.0))) (complex 1.0 0.0))))