Average Error: 61.9 → 0
Time: 22.8s
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(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\left(2 + \frac{1}{2}\right) \cdot \frac{1}{2} - \frac{\sqrt{3}}{2} \cdot \left(\frac{\sqrt{3}}{2} + 0.0\right)\right) + \left(-\left(\left(2 + \frac{1}{2}\right) \cdot \frac{\sqrt{3}}{2} + \frac{1}{2} \cdot \left(\frac{\sqrt{3}}{2} + 0.0\right)\right)\right) i\right)\right)\right) + \left(4 + 0.0 i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\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(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\left(2 + \frac{1}{2}\right) \cdot \frac{1}{2} - \frac{\sqrt{3}}{2} \cdot \left(\frac{\sqrt{3}}{2} + 0.0\right)\right) + \left(-\left(\left(2 + \frac{1}{2}\right) \cdot \frac{\sqrt{3}}{2} + \frac{1}{2} \cdot \left(\frac{\sqrt{3}}{2} + 0.0\right)\right)\right) i\right)\right)\right) + \left(4 + 0.0 i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(7 + 0.0 i\right)\right))
double f() {
        double r2396012 = 1.0;
        double r2396013 = -r2396012;
        double r2396014 = 2.0;
        double r2396015 = r2396013 / r2396014;
        double r2396016 = 3.0;
        double r2396017 = sqrt(r2396016);
        double r2396018 = r2396017 / r2396014;
        double r2396019 = /* ERROR: no complex support in C */;
        double r2396020 = r2396019 * r2396019;
        double r2396021 = r2396020 * r2396019;
        double r2396022 = r2396021 * r2396019;
        double r2396023 = -r2396014;
        double r2396024 = 0.0;
        double r2396025 = /* ERROR: no complex support in C */;
        double r2396026 = r2396025 * r2396019;
        double r2396027 = r2396026 * r2396019;
        double r2396028 = r2396027 * r2396019;
        double r2396029 = r2396022 + r2396028;
        double r2396030 = 5.0;
        double r2396031 = /* ERROR: no complex support in C */;
        double r2396032 = r2396031 * r2396019;
        double r2396033 = r2396032 * r2396019;
        double r2396034 = r2396029 + r2396033;
        double r2396035 = 4.0;
        double r2396036 = /* ERROR: no complex support in C */;
        double r2396037 = r2396036 * r2396019;
        double r2396038 = r2396034 + r2396037;
        double r2396039 = 7.0;
        double r2396040 = /* ERROR: no complex support in C */;
        double r2396041 = r2396038 + r2396040;
        double r2396042 = /* ERROR: no complex support in C */;
        return r2396042;
}

double f() {
        double r2396043 = 1.0;
        double r2396044 = -r2396043;
        double r2396045 = 2.0;
        double r2396046 = r2396044 / r2396045;
        double r2396047 = 3.0;
        double r2396048 = sqrt(r2396047);
        double r2396049 = r2396048 / r2396045;
        double r2396050 = /* ERROR: no complex support in C */;
        double r2396051 = 5.0;
        double r2396052 = 0.0;
        double r2396053 = /* ERROR: no complex support in C */;
        double r2396054 = r2396043 / r2396045;
        double r2396055 = r2396045 + r2396054;
        double r2396056 = r2396055 * r2396054;
        double r2396057 = r2396049 + r2396052;
        double r2396058 = r2396049 * r2396057;
        double r2396059 = r2396056 - r2396058;
        double r2396060 = r2396055 * r2396049;
        double r2396061 = r2396054 * r2396057;
        double r2396062 = r2396060 + r2396061;
        double r2396063 = -r2396062;
        double r2396064 = /* ERROR: no complex support in C */;
        double r2396065 = r2396053 + r2396064;
        double r2396066 = r2396050 * r2396065;
        double r2396067 = 4.0;
        double r2396068 = /* ERROR: no complex support in C */;
        double r2396069 = r2396066 + r2396068;
        double r2396070 = r2396069 * r2396050;
        double r2396071 = 7.0;
        double r2396072 = /* ERROR: no complex support in C */;
        double r2396073 = r2396070 + r2396072;
        double r2396074 = /* ERROR: no complex support in C */;
        return r2396074;
}

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(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)\right)\right) + \left(7 + 0.0 i\right)\right))}\]
  3. Final simplification0

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

Reproduce

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