\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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\Im(\left(\left(\frac{11}{2} + \left(\frac{\sqrt{3}}{-2} + \left(-\sqrt{3}\right)\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{-2} i\right) + \left(5 + \sqrt{3} \cdot 2 i\right)\right))double f() {
double r964867 = 1.0;
double r964868 = -r964867;
double r964869 = 2.0;
double r964870 = r964868 / r964869;
double r964871 = 3.0;
double r964872 = sqrt(r964871);
double r964873 = r964872 / r964869;
double r964874 = /* ERROR: no complex support in C */;
double r964875 = r964874 * r964874;
double r964876 = r964875 * r964874;
double r964877 = r964876 * r964874;
double r964878 = -r964869;
double r964879 = 0.0;
double r964880 = /* ERROR: no complex support in C */;
double r964881 = r964880 * r964874;
double r964882 = r964881 * r964874;
double r964883 = r964882 * r964874;
double r964884 = r964877 + r964883;
double r964885 = 5.0;
double r964886 = /* ERROR: no complex support in C */;
double r964887 = r964886 * r964874;
double r964888 = r964887 * r964874;
double r964889 = r964884 + r964888;
double r964890 = 4.0;
double r964891 = /* ERROR: no complex support in C */;
double r964892 = r964891 * r964874;
double r964893 = r964889 + r964892;
double r964894 = 7.0;
double r964895 = /* ERROR: no complex support in C */;
double r964896 = r964893 + r964895;
double r964897 = /* ERROR: no complex support in C */;
return r964897;
}
double f() {
double r964898 = 5.5;
double r964899 = 3.0;
double r964900 = sqrt(r964899);
double r964901 = -2.0;
double r964902 = r964900 / r964901;
double r964903 = -r964900;
double r964904 = r964902 + r964903;
double r964905 = /* ERROR: no complex support in C */;
double r964906 = -0.5;
double r964907 = /* ERROR: no complex support in C */;
double r964908 = r964905 * r964907;
double r964909 = 5.0;
double r964910 = 2.0;
double r964911 = r964900 * r964910;
double r964912 = /* ERROR: no complex support in C */;
double r964913 = r964908 + r964912;
double r964914 = /* ERROR: no complex support in C */;
return r964914;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019151 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (*.c (*.c (*.c (complex (- 2) 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (*.c (complex 5 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (complex 4 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0))))