\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(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \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)\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\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(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(4 + 0.0 i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r22801 = 1.0;
double r22802 = -r22801;
double r22803 = 2.0;
double r22804 = r22802 / r22803;
double r22805 = 3.0;
double r22806 = sqrt(r22805);
double r22807 = r22806 / r22803;
double r22808 = /* ERROR: no complex support in C */;
double r22809 = r22808 * r22808;
double r22810 = r22809 * r22808;
double r22811 = r22810 * r22808;
double r22812 = -r22803;
double r22813 = 0.0;
double r22814 = /* ERROR: no complex support in C */;
double r22815 = r22814 * r22808;
double r22816 = r22815 * r22808;
double r22817 = r22816 * r22808;
double r22818 = r22811 + r22817;
double r22819 = 5.0;
double r22820 = /* ERROR: no complex support in C */;
double r22821 = r22820 * r22808;
double r22822 = r22821 * r22808;
double r22823 = r22818 + r22822;
double r22824 = 4.0;
double r22825 = /* ERROR: no complex support in C */;
double r22826 = r22825 * r22808;
double r22827 = r22823 + r22826;
double r22828 = 7.0;
double r22829 = /* ERROR: no complex support in C */;
double r22830 = r22827 + r22829;
double r22831 = /* ERROR: no complex support in C */;
return r22831;
}
double f() {
double r22832 = 1.0;
double r22833 = -r22832;
double r22834 = 2.0;
double r22835 = r22833 / r22834;
double r22836 = 3.0;
double r22837 = sqrt(r22836);
double r22838 = r22837 / r22834;
double r22839 = /* ERROR: no complex support in C */;
double r22840 = r22839 * r22839;
double r22841 = r22840 * r22839;
double r22842 = r22839 * r22841;
double r22843 = -r22834;
double r22844 = 0.0;
double r22845 = /* ERROR: no complex support in C */;
double r22846 = r22845 * r22839;
double r22847 = r22839 * r22846;
double r22848 = r22839 * r22847;
double r22849 = r22842 + r22848;
double r22850 = 5.0;
double r22851 = /* ERROR: no complex support in C */;
double r22852 = r22851 * r22839;
double r22853 = r22852 * r22839;
double r22854 = r22849 + r22853;
double r22855 = 4.0;
double r22856 = /* ERROR: no complex support in C */;
double r22857 = r22839 * r22856;
double r22858 = r22854 + r22857;
double r22859 = 7.0;
double r22860 = /* ERROR: no complex support in C */;
double r22861 = r22858 + r22860;
double r22862 = /* ERROR: no complex support in C */;
return r22862;
}
Initial program 0
Final simplification0
herbie shell --seed 2019194 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+ (+ (+ (+ (* (* (* (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (* (* (* (complex (- 2.0) 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (* (complex 5.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (complex 4.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (complex 7.0 0.0))))