\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 r16905 = 1.0;
double r16906 = -r16905;
double r16907 = 2.0;
double r16908 = r16906 / r16907;
double r16909 = 3.0;
double r16910 = sqrt(r16909);
double r16911 = r16910 / r16907;
double r16912 = /* ERROR: no complex support in C */;
double r16913 = r16912 * r16912;
double r16914 = r16913 * r16912;
double r16915 = r16914 * r16912;
double r16916 = -r16907;
double r16917 = 0.0;
double r16918 = /* ERROR: no complex support in C */;
double r16919 = r16918 * r16912;
double r16920 = r16919 * r16912;
double r16921 = r16920 * r16912;
double r16922 = r16915 + r16921;
double r16923 = 5.0;
double r16924 = /* ERROR: no complex support in C */;
double r16925 = r16924 * r16912;
double r16926 = r16925 * r16912;
double r16927 = r16922 + r16926;
double r16928 = 4.0;
double r16929 = /* ERROR: no complex support in C */;
double r16930 = r16929 * r16912;
double r16931 = r16927 + r16930;
double r16932 = 7.0;
double r16933 = /* ERROR: no complex support in C */;
double r16934 = r16931 + r16933;
double r16935 = /* ERROR: no complex support in C */;
return r16935;
}
double f() {
double r16936 = 1.0;
double r16937 = -r16936;
double r16938 = 2.0;
double r16939 = r16937 / r16938;
double r16940 = 3.0;
double r16941 = sqrt(r16940);
double r16942 = r16941 / r16938;
double r16943 = /* ERROR: no complex support in C */;
double r16944 = r16943 * r16943;
double r16945 = r16944 * r16943;
double r16946 = r16945 * r16943;
double r16947 = -r16938;
double r16948 = 0.0;
double r16949 = /* ERROR: no complex support in C */;
double r16950 = r16949 * r16943;
double r16951 = r16950 * r16943;
double r16952 = r16951 * r16943;
double r16953 = r16946 + r16952;
double r16954 = 5.0;
double r16955 = /* ERROR: no complex support in C */;
double r16956 = r16955 * r16943;
double r16957 = r16956 * r16943;
double r16958 = r16953 + r16957;
double r16959 = 4.0;
double r16960 = /* ERROR: no complex support in C */;
double r16961 = r16960 * r16943;
double r16962 = r16958 + r16961;
double r16963 = 7.0;
double r16964 = /* ERROR: no complex support in C */;
double r16965 = r16962 + r16964;
double r16966 = /* ERROR: no complex support in C */;
return r16966;
}
Initial program 0
Final simplification0
herbie shell --seed 2020045
(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))))