Average Error: 0 → 0
Time: 24.8s
Precision: 64
\[\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))\]
\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 r1734551 = -1.0;
        double r1734552 = 1.0;
        double r1734553 = /* ERROR: no complex support in C */;
        double r1734554 = r1734553 * r1734553;
        double r1734555 = r1734554 * r1734553;
        double r1734556 = r1734555 * r1734553;
        double r1734557 = r1734556 * r1734553;
        double r1734558 = r1734557 * r1734553;
        double r1734559 = 6.0;
        double r1734560 = 0.0;
        double r1734561 = /* ERROR: no complex support in C */;
        double r1734562 = r1734561 * r1734553;
        double r1734563 = r1734562 * r1734553;
        double r1734564 = r1734563 * r1734553;
        double r1734565 = r1734564 * r1734553;
        double r1734566 = r1734565 * r1734553;
        double r1734567 = r1734558 + r1734566;
        double r1734568 = 15.0;
        double r1734569 = /* ERROR: no complex support in C */;
        double r1734570 = r1734569 * r1734553;
        double r1734571 = r1734570 * r1734553;
        double r1734572 = r1734571 * r1734553;
        double r1734573 = r1734572 * r1734553;
        double r1734574 = r1734567 + r1734573;
        double r1734575 = 20.0;
        double r1734576 = /* ERROR: no complex support in C */;
        double r1734577 = r1734576 * r1734553;
        double r1734578 = r1734577 * r1734553;
        double r1734579 = r1734578 * r1734553;
        double r1734580 = r1734574 + r1734579;
        double r1734581 = r1734580 + r1734571;
        double r1734582 = r1734581 + r1734562;
        double r1734583 = /* ERROR: no complex support in C */;
        double r1734584 = r1734582 + r1734583;
        double r1734585 = /* ERROR: no complex support in C */;
        return r1734585;
}

double f() {
        double r1734586 = -1.0;
        double r1734587 = 6.0;
        double r1734588 = r1734586 * r1734587;
        double r1734589 = 0.0;
        double r1734590 = 1.0;
        double r1734591 = r1734589 * r1734590;
        double r1734592 = r1734588 - r1734591;
        double r1734593 = r1734587 * r1734590;
        double r1734594 = fma(r1734589, r1734586, r1734593);
        double r1734595 = /* ERROR: no complex support in C */;
        double r1734596 = r1734590 + r1734586;
        double r1734597 = r1734586 - r1734590;
        double r1734598 = r1734596 * r1734597;
        double r1734599 = 15.0;
        double r1734600 = r1734598 * r1734599;
        double r1734601 = r1734590 * r1734586;
        double r1734602 = r1734601 + r1734601;
        double r1734603 = r1734602 * r1734589;
        double r1734604 = r1734600 - r1734603;
        double r1734605 = r1734590 + r1734604;
        double r1734606 = r1734589 * r1734598;
        double r1734607 = fma(r1734599, r1734602, r1734606);
        double r1734608 = r1734607 + r1734589;
        double r1734609 = /* ERROR: no complex support in C */;
        double r1734610 = /* ERROR: no complex support in C */;
        double r1734611 = r1734598 + r1734602;
        double r1734612 = r1734598 - r1734602;
        double r1734613 = r1734611 * r1734612;
        double r1734614 = r1734592 * r1734598;
        double r1734615 = r1734594 * r1734602;
        double r1734616 = r1734614 - r1734615;
        double r1734617 = r1734613 + r1734616;
        double r1734618 = 20.0;
        double r1734619 = r1734586 * r1734618;
        double r1734620 = r1734619 - r1734591;
        double r1734621 = r1734620 + r1734604;
        double r1734622 = r1734617 + r1734621;
        double r1734623 = r1734602 * r1734598;
        double r1734624 = r1734623 + r1734623;
        double r1734625 = r1734594 * r1734598;
        double r1734626 = fma(r1734592, r1734602, r1734625);
        double r1734627 = r1734624 + r1734626;
        double r1734628 = r1734589 * r1734586;
        double r1734629 = fma(r1734618, r1734590, r1734628);
        double r1734630 = r1734629 + r1734607;
        double r1734631 = r1734627 + r1734630;
        double r1734632 = /* ERROR: no complex support in C */;
        double r1734633 = r1734610 * r1734632;
        double r1734634 = r1734609 + r1734633;
        double r1734635 = r1734595 + r1734634;
        double r1734636 = /* ERROR: no complex support in C */;
        return r1734636;
}

Error

Derivation

  1. Initial program 0

    \[\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))\]
  2. Simplified0

    \[\leadsto \color{blue}{\Re(\left(\left(\left(\left(1 + \left(15 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) - 0.0 \cdot \left(-1 \cdot 1 + -1 \cdot 1\right)\right)\right) + \left(0.0 + \mathsf{fma}\left(15, -1 \cdot 1 + -1 \cdot 1, \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 0.0\right)\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(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(-1 \cdot 6 - 1 \cdot 0.0\right) - \left(-1 \cdot 1 + -1 \cdot 1\right) \cdot \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right)\right)\right) + \left(\left(15 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) - 0.0 \cdot \left(-1 \cdot 1 + -1 \cdot 1\right)\right) + \left(-1 \cdot 20 - 1 \cdot 0.0\right)\right)\right) + \left(\left(\left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(-1 \cdot 1 + -1 \cdot 1\right) + \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(-1 \cdot 1 + -1 \cdot 1\right)\right) + \mathsf{fma}\left(-1 \cdot 6 - 1 \cdot 0.0, -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(15, -1 \cdot 1 + -1 \cdot 1, \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 0.0\right) + \mathsf{fma}\left(20, 1, 0.0 \cdot -1\right)\right)\right) i\right)\right)\right) + \left(\left(-1 \cdot 6 - 1 \cdot 0.0\right) + \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) i\right)\right))}\]
  3. Final simplification0

    \[\leadsto \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))\]

Reproduce

herbie shell --seed 2019170 +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))))