\Im(\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))\Im(\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 r29444 = 1.0;
double r29445 = -r29444;
double r29446 = 2.0;
double r29447 = r29445 / r29446;
double r29448 = 3.0;
double r29449 = sqrt(r29448);
double r29450 = r29449 / r29446;
double r29451 = /* ERROR: no complex support in C */;
double r29452 = r29451 * r29451;
double r29453 = r29452 * r29451;
double r29454 = r29453 * r29451;
double r29455 = -r29446;
double r29456 = 0.0;
double r29457 = /* ERROR: no complex support in C */;
double r29458 = r29457 * r29451;
double r29459 = r29458 * r29451;
double r29460 = r29459 * r29451;
double r29461 = r29454 + r29460;
double r29462 = 5.0;
double r29463 = /* ERROR: no complex support in C */;
double r29464 = r29463 * r29451;
double r29465 = r29464 * r29451;
double r29466 = r29461 + r29465;
double r29467 = 4.0;
double r29468 = /* ERROR: no complex support in C */;
double r29469 = r29468 * r29451;
double r29470 = r29466 + r29469;
double r29471 = 7.0;
double r29472 = /* ERROR: no complex support in C */;
double r29473 = r29470 + r29472;
double r29474 = /* ERROR: no complex support in C */;
return r29474;
}
double f() {
double r29475 = 1.0;
double r29476 = -r29475;
double r29477 = 2.0;
double r29478 = r29476 / r29477;
double r29479 = 3.0;
double r29480 = sqrt(r29479);
double r29481 = r29480 / r29477;
double r29482 = /* ERROR: no complex support in C */;
double r29483 = r29482 * r29482;
double r29484 = r29483 * r29482;
double r29485 = r29484 * r29482;
double r29486 = -r29477;
double r29487 = 0.0;
double r29488 = /* ERROR: no complex support in C */;
double r29489 = r29488 * r29482;
double r29490 = r29489 * r29482;
double r29491 = r29490 * r29482;
double r29492 = r29485 + r29491;
double r29493 = 5.0;
double r29494 = /* ERROR: no complex support in C */;
double r29495 = r29494 * r29482;
double r29496 = r29495 * r29482;
double r29497 = r29492 + r29496;
double r29498 = 4.0;
double r29499 = /* ERROR: no complex support in C */;
double r29500 = r29499 * r29482;
double r29501 = r29497 + r29500;
double r29502 = 7.0;
double r29503 = /* ERROR: no complex support in C */;
double r29504 = r29501 + r29503;
double r29505 = /* ERROR: no complex support in C */;
return r29505;
}
Initial program 0
Final simplification0
herbie shell --seed 2019209 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (* (* (* (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))))