Average Error: 61.9 → 0
Time: 20.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 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 r375312 = 1.0;
        double r375313 = -r375312;
        double r375314 = 2.0;
        double r375315 = r375313 / r375314;
        double r375316 = 3.0;
        double r375317 = sqrt(r375316);
        double r375318 = r375317 / r375314;
        double r375319 = /* ERROR: no complex support in C */;
        double r375320 = r375319 * r375319;
        double r375321 = r375320 * r375319;
        double r375322 = r375321 * r375319;
        double r375323 = -r375314;
        double r375324 = 0.0;
        double r375325 = /* ERROR: no complex support in C */;
        double r375326 = r375325 * r375319;
        double r375327 = r375326 * r375319;
        double r375328 = r375327 * r375319;
        double r375329 = r375322 + r375328;
        double r375330 = 5.0;
        double r375331 = /* ERROR: no complex support in C */;
        double r375332 = r375331 * r375319;
        double r375333 = r375332 * r375319;
        double r375334 = r375329 + r375333;
        double r375335 = 4.0;
        double r375336 = /* ERROR: no complex support in C */;
        double r375337 = r375336 * r375319;
        double r375338 = r375334 + r375337;
        double r375339 = 7.0;
        double r375340 = /* ERROR: no complex support in C */;
        double r375341 = r375338 + r375340;
        double r375342 = /* ERROR: no complex support in C */;
        return r375342;
}

double f() {
        double r375343 = 4.5;
        double r375344 = 3.0;
        double r375345 = sqrt(r375344);
        double r375346 = 0.5;
        double r375347 = r375345 / r375346;
        double r375348 = 0.25;
        double r375349 = r375345 * r375348;
        double r375350 = r375349 + r375349;
        double r375351 = r375347 + r375350;
        double r375352 = /* ERROR: no complex support in C */;
        double r375353 = -4.5;
        double r375354 = -6.0;
        double r375355 = 2.0;
        double r375356 = r375345 / r375355;
        double r375357 = r375354 * r375356;
        double r375358 = r375357 + r375356;
        double r375359 = /* ERROR: no complex support in C */;
        double r375360 = r375352 + r375359;
        double r375361 = /* ERROR: no complex support in C */;
        return r375361;
}

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 2019132 +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))))