Average Error: 61.9 → 0
Time: 20.9s
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{9}{2} + \left(\frac{\sqrt{3}}{\frac{1}{2}} + \left(\sqrt{3} \cdot \frac{1}{4} + \sqrt{3} \cdot \frac{1}{4}\right)\right) i\right) + \left(\frac{-9}{2} + \left(-6 \cdot \frac{\sqrt{3}}{2} + \frac{\sqrt{3}}{2}\right) 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{9}{2} + \left(\frac{\sqrt{3}}{\frac{1}{2}} + \left(\sqrt{3} \cdot \frac{1}{4} + \sqrt{3} \cdot \frac{1}{4}\right)\right) i\right) + \left(\frac{-9}{2} + \left(-6 \cdot \frac{\sqrt{3}}{2} + \frac{\sqrt{3}}{2}\right) i\right)\right))
double f() {
        double r969211 = 1.0;
        double r969212 = -r969211;
        double r969213 = 2.0;
        double r969214 = r969212 / r969213;
        double r969215 = 3.0;
        double r969216 = sqrt(r969215);
        double r969217 = r969216 / r969213;
        double r969218 = /* ERROR: no complex support in C */;
        double r969219 = r969218 * r969218;
        double r969220 = r969219 * r969218;
        double r969221 = r969220 * r969218;
        double r969222 = -r969213;
        double r969223 = 0.0;
        double r969224 = /* ERROR: no complex support in C */;
        double r969225 = r969224 * r969218;
        double r969226 = r969225 * r969218;
        double r969227 = r969226 * r969218;
        double r969228 = r969221 + r969227;
        double r969229 = 5.0;
        double r969230 = /* ERROR: no complex support in C */;
        double r969231 = r969230 * r969218;
        double r969232 = r969231 * r969218;
        double r969233 = r969228 + r969232;
        double r969234 = 4.0;
        double r969235 = /* ERROR: no complex support in C */;
        double r969236 = r969235 * r969218;
        double r969237 = r969233 + r969236;
        double r969238 = 7.0;
        double r969239 = /* ERROR: no complex support in C */;
        double r969240 = r969237 + r969239;
        double r969241 = /* ERROR: no complex support in C */;
        return r969241;
}

double f() {
        double r969242 = 4.5;
        double r969243 = 3.0;
        double r969244 = sqrt(r969243);
        double r969245 = 0.5;
        double r969246 = r969244 / r969245;
        double r969247 = 0.25;
        double r969248 = r969244 * r969247;
        double r969249 = r969248 + r969248;
        double r969250 = r969246 + r969249;
        double r969251 = /* ERROR: no complex support in C */;
        double r969252 = -4.5;
        double r969253 = -6.0;
        double r969254 = 2.0;
        double r969255 = r969244 / r969254;
        double r969256 = r969253 * r969255;
        double r969257 = r969256 + r969255;
        double r969258 = /* ERROR: no complex support in C */;
        double r969259 = r969251 + r969258;
        double r969260 = /* ERROR: no complex support in C */;
        return r969260;
}

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

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

Reproduce

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