\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 r21862 = 1.0;
double r21863 = -r21862;
double r21864 = 2.0;
double r21865 = r21863 / r21864;
double r21866 = 3.0;
double r21867 = sqrt(r21866);
double r21868 = r21867 / r21864;
double r21869 = /* ERROR: no complex support in C */;
double r21870 = r21869 * r21869;
double r21871 = r21870 * r21869;
double r21872 = r21871 * r21869;
double r21873 = -r21864;
double r21874 = 0.0;
double r21875 = /* ERROR: no complex support in C */;
double r21876 = r21875 * r21869;
double r21877 = r21876 * r21869;
double r21878 = r21877 * r21869;
double r21879 = r21872 + r21878;
double r21880 = 5.0;
double r21881 = /* ERROR: no complex support in C */;
double r21882 = r21881 * r21869;
double r21883 = r21882 * r21869;
double r21884 = r21879 + r21883;
double r21885 = 4.0;
double r21886 = /* ERROR: no complex support in C */;
double r21887 = r21886 * r21869;
double r21888 = r21884 + r21887;
double r21889 = 7.0;
double r21890 = /* ERROR: no complex support in C */;
double r21891 = r21888 + r21890;
double r21892 = /* ERROR: no complex support in C */;
return r21892;
}
double f() {
double r21893 = 1.0;
double r21894 = -r21893;
double r21895 = 2.0;
double r21896 = r21894 / r21895;
double r21897 = 3.0;
double r21898 = sqrt(r21897);
double r21899 = r21898 / r21895;
double r21900 = /* ERROR: no complex support in C */;
double r21901 = r21900 * r21900;
double r21902 = r21901 * r21900;
double r21903 = r21902 * r21900;
double r21904 = -r21895;
double r21905 = 0.0;
double r21906 = /* ERROR: no complex support in C */;
double r21907 = r21906 * r21900;
double r21908 = r21907 * r21900;
double r21909 = r21908 * r21900;
double r21910 = r21903 + r21909;
double r21911 = 5.0;
double r21912 = /* ERROR: no complex support in C */;
double r21913 = r21912 * r21900;
double r21914 = r21913 * r21900;
double r21915 = r21910 + r21914;
double r21916 = 4.0;
double r21917 = /* ERROR: no complex support in C */;
double r21918 = r21917 * r21900;
double r21919 = r21915 + r21918;
double r21920 = 7.0;
double r21921 = /* ERROR: no complex support in C */;
double r21922 = r21919 + r21921;
double r21923 = /* ERROR: no complex support in C */;
return r21923;
}
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))))