Average Error: 0 → 0
Time: 22.4s
Precision: 64
\[\Re(\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) + \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) + \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) + \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) + \left(\left(15 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0 i\right) \cdot \left(-1 + 1 i\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 r2311576 = -1.0;
        double r2311577 = 1.0;
        double r2311578 = /* ERROR: no complex support in C */;
        double r2311579 = r2311578 * r2311578;
        double r2311580 = r2311579 * r2311578;
        double r2311581 = r2311580 * r2311578;
        double r2311582 = r2311581 * r2311578;
        double r2311583 = r2311582 * r2311578;
        double r2311584 = 6.0;
        double r2311585 = 0.0;
        double r2311586 = /* ERROR: no complex support in C */;
        double r2311587 = r2311586 * r2311578;
        double r2311588 = r2311587 * r2311578;
        double r2311589 = r2311588 * r2311578;
        double r2311590 = r2311589 * r2311578;
        double r2311591 = r2311590 * r2311578;
        double r2311592 = r2311583 + r2311591;
        double r2311593 = 15.0;
        double r2311594 = /* ERROR: no complex support in C */;
        double r2311595 = r2311594 * r2311578;
        double r2311596 = r2311595 * r2311578;
        double r2311597 = r2311596 * r2311578;
        double r2311598 = r2311597 * r2311578;
        double r2311599 = r2311592 + r2311598;
        double r2311600 = 20.0;
        double r2311601 = /* ERROR: no complex support in C */;
        double r2311602 = r2311601 * r2311578;
        double r2311603 = r2311602 * r2311578;
        double r2311604 = r2311603 * r2311578;
        double r2311605 = r2311599 + r2311604;
        double r2311606 = r2311605 + r2311596;
        double r2311607 = r2311606 + r2311587;
        double r2311608 = /* ERROR: no complex support in C */;
        double r2311609 = r2311607 + r2311608;
        double r2311610 = /* ERROR: no complex support in C */;
        return r2311610;
}

double f() {
        double r2311611 = -5.0;
        double r2311612 = -24.0;
        double r2311613 = /* ERROR: no complex support in C */;
        double r2311614 = 24.0;
        double r2311615 = /* ERROR: no complex support in C */;
        double r2311616 = 0.0;
        double r2311617 = 8.0;
        double r2311618 = /* ERROR: no complex support in C */;
        double r2311619 = r2311615 + r2311618;
        double r2311620 = 40.0;
        double r2311621 = /* ERROR: no complex support in C */;
        double r2311622 = -60.0;
        double r2311623 = /* ERROR: no complex support in C */;
        double r2311624 = r2311621 + r2311623;
        double r2311625 = r2311619 + r2311624;
        double r2311626 = r2311613 + r2311625;
        double r2311627 = /* ERROR: no complex support in C */;
        return r2311627;
}

\Re(\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) + \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) + \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) + \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) + \left(\left(15 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0 i\right) \cdot \left(-1 + 1 i\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))

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 2019101 +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))))