Average Error: 61.9 → 0
Time: 22.7s
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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\]
\[\Re(\left(\left(\frac{11}{2} + \left(\frac{\sqrt{3}}{-2} + \frac{\sqrt{3}}{-1}\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{-2} i\right) + \left(5 + \sqrt{3} \cdot 2 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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))
\Re(\left(\left(\frac{11}{2} + \left(\frac{\sqrt{3}}{-2} + \frac{\sqrt{3}}{-1}\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{-2} i\right) + \left(5 + \sqrt{3} \cdot 2 i\right)\right))
double f() {
        double r340062 = 1.0;
        double r340063 = -r340062;
        double r340064 = 2.0;
        double r340065 = r340063 / r340064;
        double r340066 = 3.0;
        double r340067 = sqrt(r340066);
        double r340068 = r340067 / r340064;
        double r340069 = /* ERROR: no complex support in C */;
        double r340070 = r340069 * r340069;
        double r340071 = r340070 * r340069;
        double r340072 = r340071 * r340069;
        double r340073 = -r340064;
        double r340074 = 0.0;
        double r340075 = /* ERROR: no complex support in C */;
        double r340076 = r340075 * r340069;
        double r340077 = r340076 * r340069;
        double r340078 = r340077 * r340069;
        double r340079 = r340072 + r340078;
        double r340080 = 5.0;
        double r340081 = /* ERROR: no complex support in C */;
        double r340082 = r340081 * r340069;
        double r340083 = r340082 * r340069;
        double r340084 = r340079 + r340083;
        double r340085 = 4.0;
        double r340086 = /* ERROR: no complex support in C */;
        double r340087 = r340086 * r340069;
        double r340088 = r340084 + r340087;
        double r340089 = 7.0;
        double r340090 = /* ERROR: no complex support in C */;
        double r340091 = r340088 + r340090;
        double r340092 = /* ERROR: no complex support in C */;
        return r340092;
}

double f() {
        double r340093 = 5.5;
        double r340094 = 3.0;
        double r340095 = sqrt(r340094);
        double r340096 = -2.0;
        double r340097 = r340095 / r340096;
        double r340098 = -1.0;
        double r340099 = r340095 / r340098;
        double r340100 = r340097 + r340099;
        double r340101 = /* ERROR: no complex support in C */;
        double r340102 = -0.5;
        double r340103 = /* ERROR: no complex support in C */;
        double r340104 = r340101 * r340103;
        double r340105 = 5.0;
        double r340106 = 2.0;
        double r340107 = r340095 * r340106;
        double r340108 = /* ERROR: no complex support in C */;
        double r340109 = r340104 + r340108;
        double r340110 = /* ERROR: no complex support in C */;
        return r340110;
}

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

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

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

Reproduce

herbie shell --seed 2019141 +o rules:numerics
(FPCore ()
  :name "3.9.2 real part (p56)"
  (re (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (*.c (*.c (*.c (complex (- 2) 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (*.c (complex 5 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (complex 4 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0))))