\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 r21900 = 1.0;
double r21901 = -r21900;
double r21902 = 2.0;
double r21903 = r21901 / r21902;
double r21904 = 3.0;
double r21905 = sqrt(r21904);
double r21906 = r21905 / r21902;
double r21907 = /* ERROR: no complex support in C */;
double r21908 = r21907 * r21907;
double r21909 = r21908 * r21907;
double r21910 = r21909 * r21907;
double r21911 = -r21902;
double r21912 = 0.0;
double r21913 = /* ERROR: no complex support in C */;
double r21914 = r21913 * r21907;
double r21915 = r21914 * r21907;
double r21916 = r21915 * r21907;
double r21917 = r21910 + r21916;
double r21918 = 5.0;
double r21919 = /* ERROR: no complex support in C */;
double r21920 = r21919 * r21907;
double r21921 = r21920 * r21907;
double r21922 = r21917 + r21921;
double r21923 = 4.0;
double r21924 = /* ERROR: no complex support in C */;
double r21925 = r21924 * r21907;
double r21926 = r21922 + r21925;
double r21927 = 7.0;
double r21928 = /* ERROR: no complex support in C */;
double r21929 = r21926 + r21928;
double r21930 = /* ERROR: no complex support in C */;
return r21930;
}
double f() {
double r21931 = 1.0;
double r21932 = -r21931;
double r21933 = 2.0;
double r21934 = r21932 / r21933;
double r21935 = 3.0;
double r21936 = sqrt(r21935);
double r21937 = r21936 / r21933;
double r21938 = /* ERROR: no complex support in C */;
double r21939 = r21938 * r21938;
double r21940 = r21939 * r21938;
double r21941 = r21940 * r21938;
double r21942 = -r21933;
double r21943 = 0.0;
double r21944 = /* ERROR: no complex support in C */;
double r21945 = r21944 * r21938;
double r21946 = r21945 * r21938;
double r21947 = r21946 * r21938;
double r21948 = r21941 + r21947;
double r21949 = 5.0;
double r21950 = /* ERROR: no complex support in C */;
double r21951 = r21950 * r21938;
double r21952 = r21951 * r21938;
double r21953 = r21948 + r21952;
double r21954 = 4.0;
double r21955 = /* ERROR: no complex support in C */;
double r21956 = r21955 * r21938;
double r21957 = r21953 + r21956;
double r21958 = 7.0;
double r21959 = /* ERROR: no complex support in C */;
double r21960 = r21957 + r21959;
double r21961 = /* ERROR: no complex support in C */;
return r21961;
}
Initial program 0
Final simplification0
herbie shell --seed 2019323 +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))))