Average Error: 0 → 0
Time: 23.3s
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 r2224583 = -1.0;
        double r2224584 = 1.0;
        double r2224585 = /* ERROR: no complex support in C */;
        double r2224586 = r2224585 * r2224585;
        double r2224587 = r2224586 * r2224585;
        double r2224588 = r2224587 * r2224585;
        double r2224589 = r2224588 * r2224585;
        double r2224590 = r2224589 * r2224585;
        double r2224591 = 6.0;
        double r2224592 = 0.0;
        double r2224593 = /* ERROR: no complex support in C */;
        double r2224594 = r2224593 * r2224585;
        double r2224595 = r2224594 * r2224585;
        double r2224596 = r2224595 * r2224585;
        double r2224597 = r2224596 * r2224585;
        double r2224598 = r2224597 * r2224585;
        double r2224599 = r2224590 + r2224598;
        double r2224600 = 15.0;
        double r2224601 = /* ERROR: no complex support in C */;
        double r2224602 = r2224601 * r2224585;
        double r2224603 = r2224602 * r2224585;
        double r2224604 = r2224603 * r2224585;
        double r2224605 = r2224604 * r2224585;
        double r2224606 = r2224599 + r2224605;
        double r2224607 = 20.0;
        double r2224608 = /* ERROR: no complex support in C */;
        double r2224609 = r2224608 * r2224585;
        double r2224610 = r2224609 * r2224585;
        double r2224611 = r2224610 * r2224585;
        double r2224612 = r2224606 + r2224611;
        double r2224613 = r2224612 + r2224603;
        double r2224614 = r2224613 + r2224594;
        double r2224615 = /* ERROR: no complex support in C */;
        double r2224616 = r2224614 + r2224615;
        double r2224617 = /* ERROR: no complex support in C */;
        return r2224617;
}

double f() {
        double r2224618 = -5.0;
        double r2224619 = -24.0;
        double r2224620 = /* ERROR: no complex support in C */;
        double r2224621 = 24.0;
        double r2224622 = /* ERROR: no complex support in C */;
        double r2224623 = 0.0;
        double r2224624 = 8.0;
        double r2224625 = /* ERROR: no complex support in C */;
        double r2224626 = r2224622 + r2224625;
        double r2224627 = 40.0;
        double r2224628 = /* ERROR: no complex support in C */;
        double r2224629 = -60.0;
        double r2224630 = /* ERROR: no complex support in C */;
        double r2224631 = r2224628 + r2224630;
        double r2224632 = r2224626 + r2224631;
        double r2224633 = r2224620 + r2224632;
        double r2224634 = /* ERROR: no complex support in C */;
        return r2224634;
}

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