\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 r30689 = 1.0;
double r30690 = -r30689;
double r30691 = 2.0;
double r30692 = r30690 / r30691;
double r30693 = 3.0;
double r30694 = sqrt(r30693);
double r30695 = r30694 / r30691;
double r30696 = /* ERROR: no complex support in C */;
double r30697 = r30696 * r30696;
double r30698 = r30697 * r30696;
double r30699 = r30698 * r30696;
double r30700 = -r30691;
double r30701 = 0.0;
double r30702 = /* ERROR: no complex support in C */;
double r30703 = r30702 * r30696;
double r30704 = r30703 * r30696;
double r30705 = r30704 * r30696;
double r30706 = r30699 + r30705;
double r30707 = 5.0;
double r30708 = /* ERROR: no complex support in C */;
double r30709 = r30708 * r30696;
double r30710 = r30709 * r30696;
double r30711 = r30706 + r30710;
double r30712 = 4.0;
double r30713 = /* ERROR: no complex support in C */;
double r30714 = r30713 * r30696;
double r30715 = r30711 + r30714;
double r30716 = 7.0;
double r30717 = /* ERROR: no complex support in C */;
double r30718 = r30715 + r30717;
double r30719 = /* ERROR: no complex support in C */;
return r30719;
}
double f() {
double r30720 = 1.0;
double r30721 = -r30720;
double r30722 = 2.0;
double r30723 = r30721 / r30722;
double r30724 = 3.0;
double r30725 = sqrt(r30724);
double r30726 = r30725 / r30722;
double r30727 = /* ERROR: no complex support in C */;
double r30728 = r30727 * r30727;
double r30729 = r30728 * r30727;
double r30730 = r30729 * r30727;
double r30731 = -r30722;
double r30732 = 0.0;
double r30733 = /* ERROR: no complex support in C */;
double r30734 = r30733 * r30727;
double r30735 = r30734 * r30727;
double r30736 = r30735 * r30727;
double r30737 = r30730 + r30736;
double r30738 = 5.0;
double r30739 = /* ERROR: no complex support in C */;
double r30740 = r30739 * r30727;
double r30741 = r30740 * r30727;
double r30742 = r30737 + r30741;
double r30743 = 4.0;
double r30744 = /* ERROR: no complex support in C */;
double r30745 = r30744 * r30727;
double r30746 = r30742 + r30745;
double r30747 = 7.0;
double r30748 = /* ERROR: no complex support in C */;
double r30749 = r30746 + r30748;
double r30750 = /* ERROR: no complex support in C */;
return r30750;
}
Initial program 0
Final simplification0
herbie shell --seed 2019305
(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))))