\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 r9715 = 1.0;
double r9716 = -r9715;
double r9717 = 2.0;
double r9718 = r9716 / r9717;
double r9719 = 3.0;
double r9720 = sqrt(r9719);
double r9721 = r9720 / r9717;
double r9722 = /* ERROR: no complex support in C */;
double r9723 = r9722 * r9722;
double r9724 = r9723 * r9722;
double r9725 = r9724 * r9722;
double r9726 = -r9717;
double r9727 = 0.0;
double r9728 = /* ERROR: no complex support in C */;
double r9729 = r9728 * r9722;
double r9730 = r9729 * r9722;
double r9731 = r9730 * r9722;
double r9732 = r9725 + r9731;
double r9733 = 5.0;
double r9734 = /* ERROR: no complex support in C */;
double r9735 = r9734 * r9722;
double r9736 = r9735 * r9722;
double r9737 = r9732 + r9736;
double r9738 = 4.0;
double r9739 = /* ERROR: no complex support in C */;
double r9740 = r9739 * r9722;
double r9741 = r9737 + r9740;
double r9742 = 7.0;
double r9743 = /* ERROR: no complex support in C */;
double r9744 = r9741 + r9743;
double r9745 = /* ERROR: no complex support in C */;
return r9745;
}
double f() {
double r9746 = 1.0;
double r9747 = -r9746;
double r9748 = 2.0;
double r9749 = r9747 / r9748;
double r9750 = 3.0;
double r9751 = sqrt(r9750);
double r9752 = r9751 / r9748;
double r9753 = /* ERROR: no complex support in C */;
double r9754 = r9753 * r9753;
double r9755 = r9754 * r9753;
double r9756 = r9755 * r9753;
double r9757 = -r9748;
double r9758 = 0.0;
double r9759 = /* ERROR: no complex support in C */;
double r9760 = r9759 * r9753;
double r9761 = r9760 * r9753;
double r9762 = r9761 * r9753;
double r9763 = r9756 + r9762;
double r9764 = 5.0;
double r9765 = /* ERROR: no complex support in C */;
double r9766 = r9765 * r9753;
double r9767 = r9766 * r9753;
double r9768 = r9763 + r9767;
double r9769 = 4.0;
double r9770 = /* ERROR: no complex support in C */;
double r9771 = r9770 * r9753;
double r9772 = r9768 + r9771;
double r9773 = 7.0;
double r9774 = /* ERROR: no complex support in C */;
double r9775 = r9772 + r9774;
double r9776 = /* ERROR: no complex support in C */;
return r9776;
}
Initial program 0
Final simplification0
herbie shell --seed 2019310 +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))))