Average Error: 61.9 → 0
Time: 25.1s
Precision: 64
\[\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\]
\[\Re(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\frac{-1}{2} \cdot \left(\frac{-1}{2} + \left(-2\right)\right) - \frac{\sqrt{3}}{2} \cdot \left(\frac{\sqrt{3}}{2} + 0.0\right)\right) + \left(\frac{-1}{2} \cdot \left(\frac{\sqrt{3}}{2} + 0.0\right) + \frac{\sqrt{3}}{2} \cdot \left(\frac{-1}{2} + \left(-2\right)\right)\right) i\right)\right)\right) + \left(4 + 0.0 i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\]
\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))
\Re(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\frac{-1}{2} \cdot \left(\frac{-1}{2} + \left(-2\right)\right) - \frac{\sqrt{3}}{2} \cdot \left(\frac{\sqrt{3}}{2} + 0.0\right)\right) + \left(\frac{-1}{2} \cdot \left(\frac{\sqrt{3}}{2} + 0.0\right) + \frac{\sqrt{3}}{2} \cdot \left(\frac{-1}{2} + \left(-2\right)\right)\right) i\right)\right)\right) + \left(4 + 0.0 i\right)\right)\right) + \left(7 + 0.0 i\right)\right))
double f() {
        double r4488540 = 1.0;
        double r4488541 = -r4488540;
        double r4488542 = 2.0;
        double r4488543 = r4488541 / r4488542;
        double r4488544 = 3.0;
        double r4488545 = sqrt(r4488544);
        double r4488546 = r4488545 / r4488542;
        double r4488547 = /* ERROR: no complex support in C */;
        double r4488548 = r4488547 * r4488547;
        double r4488549 = r4488548 * r4488547;
        double r4488550 = r4488549 * r4488547;
        double r4488551 = -r4488542;
        double r4488552 = 0.0;
        double r4488553 = /* ERROR: no complex support in C */;
        double r4488554 = r4488553 * r4488547;
        double r4488555 = r4488554 * r4488547;
        double r4488556 = r4488555 * r4488547;
        double r4488557 = r4488550 + r4488556;
        double r4488558 = 5.0;
        double r4488559 = /* ERROR: no complex support in C */;
        double r4488560 = r4488559 * r4488547;
        double r4488561 = r4488560 * r4488547;
        double r4488562 = r4488557 + r4488561;
        double r4488563 = 4.0;
        double r4488564 = /* ERROR: no complex support in C */;
        double r4488565 = r4488564 * r4488547;
        double r4488566 = r4488562 + r4488565;
        double r4488567 = 7.0;
        double r4488568 = /* ERROR: no complex support in C */;
        double r4488569 = r4488566 + r4488568;
        double r4488570 = /* ERROR: no complex support in C */;
        return r4488570;
}

double f() {
        double r4488571 = 1.0;
        double r4488572 = -r4488571;
        double r4488573 = 2.0;
        double r4488574 = r4488572 / r4488573;
        double r4488575 = 3.0;
        double r4488576 = sqrt(r4488575);
        double r4488577 = r4488576 / r4488573;
        double r4488578 = /* ERROR: no complex support in C */;
        double r4488579 = 5.0;
        double r4488580 = 0.0;
        double r4488581 = /* ERROR: no complex support in C */;
        double r4488582 = -r4488573;
        double r4488583 = r4488574 + r4488582;
        double r4488584 = r4488574 * r4488583;
        double r4488585 = r4488577 + r4488580;
        double r4488586 = r4488577 * r4488585;
        double r4488587 = r4488584 - r4488586;
        double r4488588 = r4488574 * r4488585;
        double r4488589 = r4488577 * r4488583;
        double r4488590 = r4488588 + r4488589;
        double r4488591 = /* ERROR: no complex support in C */;
        double r4488592 = r4488581 + r4488591;
        double r4488593 = r4488578 * r4488592;
        double r4488594 = 4.0;
        double r4488595 = /* ERROR: no complex support in C */;
        double r4488596 = r4488593 + r4488595;
        double r4488597 = r4488578 * r4488596;
        double r4488598 = 7.0;
        double r4488599 = /* ERROR: no complex support in C */;
        double r4488600 = r4488597 + r4488599;
        double r4488601 = /* ERROR: no complex support in C */;
        return r4488601;
}

Error

Derivation

  1. Initial program 61.9

    \[\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\]
  2. Simplified0

    \[\leadsto \color{blue}{\Re(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\frac{-1}{2} \cdot \left(\frac{-1}{2} + \left(-2\right)\right) - \frac{\sqrt{3}}{2} \cdot \left(\frac{\sqrt{3}}{2} + 0.0\right)\right) + \left(\frac{-1}{2} \cdot \left(\frac{\sqrt{3}}{2} + 0.0\right) + \frac{\sqrt{3}}{2} \cdot \left(\frac{-1}{2} + \left(-2\right)\right)\right) i\right)\right)\right) + \left(4 + 0.0 i\right)\right)\right) + \left(7 + 0.0 i\right)\right))}\]
  3. Final simplification0

    \[\leadsto \Re(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\frac{-1}{2} \cdot \left(\frac{-1}{2} + \left(-2\right)\right) - \frac{\sqrt{3}}{2} \cdot \left(\frac{\sqrt{3}}{2} + 0.0\right)\right) + \left(\frac{-1}{2} \cdot \left(\frac{\sqrt{3}}{2} + 0.0\right) + \frac{\sqrt{3}}{2} \cdot \left(\frac{-1}{2} + \left(-2\right)\right)\right) i\right)\right)\right) + \left(4 + 0.0 i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\]

Reproduce

herbie shell --seed 2019173 +o rules:numerics
(FPCore ()
  :name "3.9.2 real part (p56)"
  (re (+ (+ (+ (+ (* (* (* (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (* (* (* (complex (- 2.0) 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (* (complex 5.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (complex 4.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (complex 7.0 0.0))))