\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(\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))double f() {
double r25419 = 1.0;
double r25420 = -r25419;
double r25421 = 2.0;
double r25422 = r25420 / r25421;
double r25423 = 3.0;
double r25424 = sqrt(r25423);
double r25425 = r25424 / r25421;
double r25426 = /* ERROR: no complex support in C */;
double r25427 = r25426 * r25426;
double r25428 = r25427 * r25426;
double r25429 = r25428 * r25426;
double r25430 = -r25421;
double r25431 = 0.0;
double r25432 = /* ERROR: no complex support in C */;
double r25433 = r25432 * r25426;
double r25434 = r25433 * r25426;
double r25435 = r25434 * r25426;
double r25436 = r25429 + r25435;
double r25437 = 5.0;
double r25438 = /* ERROR: no complex support in C */;
double r25439 = r25438 * r25426;
double r25440 = r25439 * r25426;
double r25441 = r25436 + r25440;
double r25442 = 4.0;
double r25443 = /* ERROR: no complex support in C */;
double r25444 = r25443 * r25426;
double r25445 = r25441 + r25444;
double r25446 = 7.0;
double r25447 = /* ERROR: no complex support in C */;
double r25448 = r25445 + r25447;
double r25449 = /* ERROR: no complex support in C */;
return r25449;
}
double f() {
double r25450 = 1.0;
double r25451 = -r25450;
double r25452 = 2.0;
double r25453 = r25451 / r25452;
double r25454 = 3.0;
double r25455 = sqrt(r25454);
double r25456 = r25455 / r25452;
double r25457 = /* ERROR: no complex support in C */;
double r25458 = r25457 * r25457;
double r25459 = r25458 * r25457;
double r25460 = r25459 * r25457;
double r25461 = -r25452;
double r25462 = 0.0;
double r25463 = /* ERROR: no complex support in C */;
double r25464 = r25463 * r25457;
double r25465 = r25464 * r25457;
double r25466 = r25465 * r25457;
double r25467 = r25460 + r25466;
double r25468 = 5.0;
double r25469 = /* ERROR: no complex support in C */;
double r25470 = r25469 * r25457;
double r25471 = r25470 * r25457;
double r25472 = r25467 + r25471;
double r25473 = 4.0;
double r25474 = /* ERROR: no complex support in C */;
double r25475 = r25474 * r25457;
double r25476 = r25472 + r25475;
double r25477 = 7.0;
double r25478 = /* ERROR: no complex support in C */;
double r25479 = r25476 + r25478;
double r25480 = /* ERROR: no complex support in C */;
return r25480;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2019354 +o rules:numerics
(FPCore ()
:name "3.9.2 real part (p56)"
:precision binary64
(re (+ (+ (+ (+ (* (* (* (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (* (* (* (complex (- 2) 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (* (complex 5 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (complex 4 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0.0))))