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