Average Error: 0 → 0
Time: 23.0s
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 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 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 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 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0 i\right)\right))\]
\[\Re(\left(\left(-5 + -24 i\right) + \left(\left(\left(24 + -24 i\right) + \left(0 + 8 i\right)\right) + \left(\left(40 + 40 i\right) + \left(-60 + 0 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 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 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 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 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0 i\right)\right))
\Re(\left(\left(-5 + -24 i\right) + \left(\left(\left(24 + -24 i\right) + \left(0 + 8 i\right)\right) + \left(\left(40 + 40 i\right) + \left(-60 + 0 i\right)\right)\right)\right))
double f() {
        double r2201694 = -1.0;
        double r2201695 = 1.0;
        double r2201696 = /* ERROR: no complex support in C */;
        double r2201697 = r2201696 * r2201696;
        double r2201698 = r2201697 * r2201696;
        double r2201699 = r2201698 * r2201696;
        double r2201700 = r2201699 * r2201696;
        double r2201701 = r2201700 * r2201696;
        double r2201702 = 6.0;
        double r2201703 = 0.0;
        double r2201704 = /* ERROR: no complex support in C */;
        double r2201705 = r2201704 * r2201696;
        double r2201706 = r2201705 * r2201696;
        double r2201707 = r2201706 * r2201696;
        double r2201708 = r2201707 * r2201696;
        double r2201709 = r2201708 * r2201696;
        double r2201710 = r2201701 + r2201709;
        double r2201711 = 15.0;
        double r2201712 = /* ERROR: no complex support in C */;
        double r2201713 = r2201712 * r2201696;
        double r2201714 = r2201713 * r2201696;
        double r2201715 = r2201714 * r2201696;
        double r2201716 = r2201715 * r2201696;
        double r2201717 = r2201710 + r2201716;
        double r2201718 = 20.0;
        double r2201719 = /* ERROR: no complex support in C */;
        double r2201720 = r2201719 * r2201696;
        double r2201721 = r2201720 * r2201696;
        double r2201722 = r2201721 * r2201696;
        double r2201723 = r2201717 + r2201722;
        double r2201724 = r2201723 + r2201714;
        double r2201725 = r2201724 + r2201705;
        double r2201726 = /* ERROR: no complex support in C */;
        double r2201727 = r2201725 + r2201726;
        double r2201728 = /* ERROR: no complex support in C */;
        return r2201728;
}

double f() {
        double r2201729 = -5.0;
        double r2201730 = -24.0;
        double r2201731 = /* ERROR: no complex support in C */;
        double r2201732 = 24.0;
        double r2201733 = /* ERROR: no complex support in C */;
        double r2201734 = 0.0;
        double r2201735 = 8.0;
        double r2201736 = /* ERROR: no complex support in C */;
        double r2201737 = r2201733 + r2201736;
        double r2201738 = 40.0;
        double r2201739 = /* ERROR: no complex support in C */;
        double r2201740 = -60.0;
        double r2201741 = /* ERROR: no complex support in C */;
        double r2201742 = r2201739 + r2201741;
        double r2201743 = r2201737 + r2201742;
        double r2201744 = r2201731 + r2201743;
        double r2201745 = /* ERROR: no complex support in C */;
        return r2201745;
}

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 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 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 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 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0 i\right)\right))\]
  2. Simplified0

    \[\leadsto \color{blue}{\Re(\left(\left(-5 + -24 i\right) + \left(\left(\left(40 + 40 i\right) + \left(-60 + 0 i\right)\right) + \left(\left(24 + -24 i\right) + \left(0 + 8 i\right)\right)\right)\right))}\]
  3. Final simplification0

    \[\leadsto \Re(\left(\left(-5 + -24 i\right) + \left(\left(\left(24 + -24 i\right) + \left(0 + 8 i\right)\right) + \left(\left(40 + 40 i\right) + \left(-60 + 0 i\right)\right)\right)\right))\]

Reproduce

herbie shell --seed 2019119 +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 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (*.c (*.c (*.c (*.c (*.c (complex 6 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (complex 20 0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1))) (*.c (complex 6 0) (complex -1 1))) (complex 1 0))))