Average Error: 61.9 → 0
Time: 25.5s
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(4 + 0.0 i\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} \cdot \left(-\left(\frac{1}{2} + 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(-\left(\frac{1}{2} + 2\right)\right)\right) i\right) + \left(5 + 0.0 i\right)\right)\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(4 + 0.0 i\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} \cdot \left(-\left(\frac{1}{2} + 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(-\left(\frac{1}{2} + 2\right)\right)\right) i\right) + \left(5 + 0.0 i\right)\right)\right)\right)\right) + \left(7 + 0.0 i\right)\right))
double f() {
        double r4315692 = 1.0;
        double r4315693 = -r4315692;
        double r4315694 = 2.0;
        double r4315695 = r4315693 / r4315694;
        double r4315696 = 3.0;
        double r4315697 = sqrt(r4315696);
        double r4315698 = r4315697 / r4315694;
        double r4315699 = /* ERROR: no complex support in C */;
        double r4315700 = r4315699 * r4315699;
        double r4315701 = r4315700 * r4315699;
        double r4315702 = r4315701 * r4315699;
        double r4315703 = -r4315694;
        double r4315704 = 0.0;
        double r4315705 = /* ERROR: no complex support in C */;
        double r4315706 = r4315705 * r4315699;
        double r4315707 = r4315706 * r4315699;
        double r4315708 = r4315707 * r4315699;
        double r4315709 = r4315702 + r4315708;
        double r4315710 = 5.0;
        double r4315711 = /* ERROR: no complex support in C */;
        double r4315712 = r4315711 * r4315699;
        double r4315713 = r4315712 * r4315699;
        double r4315714 = r4315709 + r4315713;
        double r4315715 = 4.0;
        double r4315716 = /* ERROR: no complex support in C */;
        double r4315717 = r4315716 * r4315699;
        double r4315718 = r4315714 + r4315717;
        double r4315719 = 7.0;
        double r4315720 = /* ERROR: no complex support in C */;
        double r4315721 = r4315718 + r4315720;
        double r4315722 = /* ERROR: no complex support in C */;
        return r4315722;
}

double f() {
        double r4315723 = 1.0;
        double r4315724 = -r4315723;
        double r4315725 = 2.0;
        double r4315726 = r4315724 / r4315725;
        double r4315727 = 3.0;
        double r4315728 = sqrt(r4315727);
        double r4315729 = r4315728 / r4315725;
        double r4315730 = /* ERROR: no complex support in C */;
        double r4315731 = 4.0;
        double r4315732 = 0.0;
        double r4315733 = /* ERROR: no complex support in C */;
        double r4315734 = r4315723 / r4315725;
        double r4315735 = r4315734 + r4315725;
        double r4315736 = -r4315735;
        double r4315737 = r4315726 * r4315736;
        double r4315738 = r4315729 + r4315732;
        double r4315739 = r4315729 * r4315738;
        double r4315740 = r4315737 - r4315739;
        double r4315741 = r4315726 * r4315738;
        double r4315742 = r4315729 * r4315736;
        double r4315743 = r4315741 + r4315742;
        double r4315744 = /* ERROR: no complex support in C */;
        double r4315745 = 5.0;
        double r4315746 = /* ERROR: no complex support in C */;
        double r4315747 = r4315744 + r4315746;
        double r4315748 = r4315730 * r4315747;
        double r4315749 = r4315733 + r4315748;
        double r4315750 = r4315730 * r4315749;
        double r4315751 = 7.0;
        double r4315752 = /* ERROR: no complex support in C */;
        double r4315753 = r4315750 + r4315752;
        double r4315754 = /* ERROR: no complex support in C */;
        return r4315754;
}

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(4 + 0.0 i\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} \cdot \left(-\left(\frac{1}{2} + 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(-\left(\frac{1}{2} + 2\right)\right)\right) i\right) + \left(5 + 0.0 i\right)\right)\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(4 + 0.0 i\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} \cdot \left(-\left(\frac{1}{2} + 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(-\left(\frac{1}{2} + 2\right)\right)\right) i\right) + \left(5 + 0.0 i\right)\right)\right)\right)\right) + \left(7 + 0.0 i\right)\right))\]

Reproduce

herbie shell --seed 2019173 
(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))))