\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 r30918 = 1.0;
double r30919 = -r30918;
double r30920 = 2.0;
double r30921 = r30919 / r30920;
double r30922 = 3.0;
double r30923 = sqrt(r30922);
double r30924 = r30923 / r30920;
double r30925 = /* ERROR: no complex support in C */;
double r30926 = r30925 * r30925;
double r30927 = r30926 * r30925;
double r30928 = r30927 * r30925;
double r30929 = -r30920;
double r30930 = 0.0;
double r30931 = /* ERROR: no complex support in C */;
double r30932 = r30931 * r30925;
double r30933 = r30932 * r30925;
double r30934 = r30933 * r30925;
double r30935 = r30928 + r30934;
double r30936 = 5.0;
double r30937 = /* ERROR: no complex support in C */;
double r30938 = r30937 * r30925;
double r30939 = r30938 * r30925;
double r30940 = r30935 + r30939;
double r30941 = 4.0;
double r30942 = /* ERROR: no complex support in C */;
double r30943 = r30942 * r30925;
double r30944 = r30940 + r30943;
double r30945 = 7.0;
double r30946 = /* ERROR: no complex support in C */;
double r30947 = r30944 + r30946;
double r30948 = /* ERROR: no complex support in C */;
return r30948;
}
double f() {
double r30949 = 1.0;
double r30950 = -r30949;
double r30951 = 2.0;
double r30952 = r30950 / r30951;
double r30953 = 3.0;
double r30954 = sqrt(r30953);
double r30955 = r30954 / r30951;
double r30956 = /* ERROR: no complex support in C */;
double r30957 = r30956 * r30956;
double r30958 = r30957 * r30956;
double r30959 = r30958 * r30956;
double r30960 = -r30951;
double r30961 = 0.0;
double r30962 = /* ERROR: no complex support in C */;
double r30963 = r30962 * r30956;
double r30964 = r30963 * r30956;
double r30965 = r30964 * r30956;
double r30966 = r30959 + r30965;
double r30967 = 5.0;
double r30968 = /* ERROR: no complex support in C */;
double r30969 = r30968 * r30956;
double r30970 = r30969 * r30956;
double r30971 = r30966 + r30970;
double r30972 = 4.0;
double r30973 = /* ERROR: no complex support in C */;
double r30974 = r30973 * r30956;
double r30975 = r30971 + r30974;
double r30976 = 7.0;
double r30977 = /* ERROR: no complex support in C */;
double r30978 = r30975 + r30977;
double r30979 = /* ERROR: no complex support in C */;
return r30979;
}
Initial program 0
Final simplification0
herbie shell --seed 2020060
(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))))