\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 r23706 = 1.0;
double r23707 = -r23706;
double r23708 = 2.0;
double r23709 = r23707 / r23708;
double r23710 = 3.0;
double r23711 = sqrt(r23710);
double r23712 = r23711 / r23708;
double r23713 = /* ERROR: no complex support in C */;
double r23714 = r23713 * r23713;
double r23715 = r23714 * r23713;
double r23716 = r23715 * r23713;
double r23717 = -r23708;
double r23718 = 0.0;
double r23719 = /* ERROR: no complex support in C */;
double r23720 = r23719 * r23713;
double r23721 = r23720 * r23713;
double r23722 = r23721 * r23713;
double r23723 = r23716 + r23722;
double r23724 = 5.0;
double r23725 = /* ERROR: no complex support in C */;
double r23726 = r23725 * r23713;
double r23727 = r23726 * r23713;
double r23728 = r23723 + r23727;
double r23729 = 4.0;
double r23730 = /* ERROR: no complex support in C */;
double r23731 = r23730 * r23713;
double r23732 = r23728 + r23731;
double r23733 = 7.0;
double r23734 = /* ERROR: no complex support in C */;
double r23735 = r23732 + r23734;
double r23736 = /* ERROR: no complex support in C */;
return r23736;
}
double f() {
double r23737 = 1.0;
double r23738 = -r23737;
double r23739 = 2.0;
double r23740 = r23738 / r23739;
double r23741 = 3.0;
double r23742 = sqrt(r23741);
double r23743 = r23742 / r23739;
double r23744 = /* ERROR: no complex support in C */;
double r23745 = r23744 * r23744;
double r23746 = r23745 * r23744;
double r23747 = r23746 * r23744;
double r23748 = -r23739;
double r23749 = 0.0;
double r23750 = /* ERROR: no complex support in C */;
double r23751 = r23750 * r23744;
double r23752 = r23751 * r23744;
double r23753 = r23752 * r23744;
double r23754 = r23747 + r23753;
double r23755 = 5.0;
double r23756 = /* ERROR: no complex support in C */;
double r23757 = r23756 * r23744;
double r23758 = r23757 * r23744;
double r23759 = r23754 + r23758;
double r23760 = 4.0;
double r23761 = /* ERROR: no complex support in C */;
double r23762 = r23761 * r23744;
double r23763 = r23759 + r23762;
double r23764 = 7.0;
double r23765 = /* ERROR: no complex support in C */;
double r23766 = r23763 + r23765;
double r23767 = /* ERROR: no complex support in C */;
return r23767;
}
Initial program 0
Final simplification0
herbie shell --seed 2019303 +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))))