\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 r31516 = 1.0;
double r31517 = -r31516;
double r31518 = 2.0;
double r31519 = r31517 / r31518;
double r31520 = 3.0;
double r31521 = sqrt(r31520);
double r31522 = r31521 / r31518;
double r31523 = /* ERROR: no complex support in C */;
double r31524 = r31523 * r31523;
double r31525 = r31524 * r31523;
double r31526 = r31525 * r31523;
double r31527 = -r31518;
double r31528 = 0.0;
double r31529 = /* ERROR: no complex support in C */;
double r31530 = r31529 * r31523;
double r31531 = r31530 * r31523;
double r31532 = r31531 * r31523;
double r31533 = r31526 + r31532;
double r31534 = 5.0;
double r31535 = /* ERROR: no complex support in C */;
double r31536 = r31535 * r31523;
double r31537 = r31536 * r31523;
double r31538 = r31533 + r31537;
double r31539 = 4.0;
double r31540 = /* ERROR: no complex support in C */;
double r31541 = r31540 * r31523;
double r31542 = r31538 + r31541;
double r31543 = 7.0;
double r31544 = /* ERROR: no complex support in C */;
double r31545 = r31542 + r31544;
double r31546 = /* ERROR: no complex support in C */;
return r31546;
}
double f() {
double r31547 = 1.0;
double r31548 = -r31547;
double r31549 = 2.0;
double r31550 = r31548 / r31549;
double r31551 = 3.0;
double r31552 = sqrt(r31551);
double r31553 = r31552 / r31549;
double r31554 = /* ERROR: no complex support in C */;
double r31555 = r31554 * r31554;
double r31556 = r31555 * r31554;
double r31557 = r31556 * r31554;
double r31558 = -r31549;
double r31559 = 0.0;
double r31560 = /* ERROR: no complex support in C */;
double r31561 = r31560 * r31554;
double r31562 = r31561 * r31554;
double r31563 = r31562 * r31554;
double r31564 = r31557 + r31563;
double r31565 = 5.0;
double r31566 = /* ERROR: no complex support in C */;
double r31567 = r31566 * r31554;
double r31568 = r31567 * r31554;
double r31569 = r31564 + r31568;
double r31570 = 4.0;
double r31571 = /* ERROR: no complex support in C */;
double r31572 = r31571 * r31554;
double r31573 = r31569 + r31572;
double r31574 = 7.0;
double r31575 = /* ERROR: no complex support in C */;
double r31576 = r31573 + r31575;
double r31577 = /* ERROR: no complex support in C */;
return r31577;
}
Initial program 0
Final simplification0
herbie shell --seed 2020044
(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))))