Average Error: 61.9 → 0
Time: 17.0s
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{-1}{2} + \frac{-\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} + \frac{-\sqrt{3}}{2} i\right) + \left(6 + \frac{\sqrt{3}}{-1} i\right)\right) + \left(5 + \frac{\sqrt{3}}{\frac{1}{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{-1}{2} + \frac{-\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} + \frac{-\sqrt{3}}{2} i\right) + \left(6 + \frac{\sqrt{3}}{-1} i\right)\right) + \left(5 + \frac{\sqrt{3}}{\frac{1}{2}} i\right)\right))
double f() {
        double r1091149 = 1.0;
        double r1091150 = -r1091149;
        double r1091151 = 2.0;
        double r1091152 = r1091150 / r1091151;
        double r1091153 = 3.0;
        double r1091154 = sqrt(r1091153);
        double r1091155 = r1091154 / r1091151;
        double r1091156 = /* ERROR: no complex support in C */;
        double r1091157 = r1091156 * r1091156;
        double r1091158 = r1091157 * r1091156;
        double r1091159 = r1091158 * r1091156;
        double r1091160 = -r1091151;
        double r1091161 = 0.0;
        double r1091162 = /* ERROR: no complex support in C */;
        double r1091163 = r1091162 * r1091156;
        double r1091164 = r1091163 * r1091156;
        double r1091165 = r1091164 * r1091156;
        double r1091166 = r1091159 + r1091165;
        double r1091167 = 5.0;
        double r1091168 = /* ERROR: no complex support in C */;
        double r1091169 = r1091168 * r1091156;
        double r1091170 = r1091169 * r1091156;
        double r1091171 = r1091166 + r1091170;
        double r1091172 = 4.0;
        double r1091173 = /* ERROR: no complex support in C */;
        double r1091174 = r1091173 * r1091156;
        double r1091175 = r1091171 + r1091174;
        double r1091176 = 7.0;
        double r1091177 = /* ERROR: no complex support in C */;
        double r1091178 = r1091175 + r1091177;
        double r1091179 = /* ERROR: no complex support in C */;
        return r1091179;
}

double f() {
        double r1091180 = -0.5;
        double r1091181 = 3.0;
        double r1091182 = sqrt(r1091181);
        double r1091183 = -r1091182;
        double r1091184 = 2.0;
        double r1091185 = r1091183 / r1091184;
        double r1091186 = /* ERROR: no complex support in C */;
        double r1091187 = 6.0;
        double r1091188 = -1.0;
        double r1091189 = r1091182 / r1091188;
        double r1091190 = /* ERROR: no complex support in C */;
        double r1091191 = r1091186 + r1091190;
        double r1091192 = r1091186 * r1091191;
        double r1091193 = 5.0;
        double r1091194 = 0.5;
        double r1091195 = r1091182 / r1091194;
        double r1091196 = /* ERROR: no complex support in C */;
        double r1091197 = r1091192 + r1091196;
        double r1091198 = /* ERROR: no complex support in C */;
        return r1091198;
}

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

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

Reproduce

herbie shell --seed 2019162 +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))))