\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(\left(\left(\frac{\sqrt{3}}{2} \cdot \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) + \frac{1}{4}\right) + \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) i\right) + \left(6 + -2 \cdot \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\left(\frac{\sqrt{3}}{2} \cdot \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) + \frac{1}{4}\right) + \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) i\right) + \left(5 + \frac{\sqrt{3} \cdot 4}{2} i\right)\right))double f() {
double r498863 = 1.0;
double r498864 = -r498863;
double r498865 = 2.0;
double r498866 = r498864 / r498865;
double r498867 = 3.0;
double r498868 = sqrt(r498867);
double r498869 = r498868 / r498865;
double r498870 = /* ERROR: no complex support in C */;
double r498871 = r498870 * r498870;
double r498872 = r498871 * r498870;
double r498873 = r498872 * r498870;
double r498874 = -r498865;
double r498875 = 0.0;
double r498876 = /* ERROR: no complex support in C */;
double r498877 = r498876 * r498870;
double r498878 = r498877 * r498870;
double r498879 = r498878 * r498870;
double r498880 = r498873 + r498879;
double r498881 = 5.0;
double r498882 = /* ERROR: no complex support in C */;
double r498883 = r498882 * r498870;
double r498884 = r498883 * r498870;
double r498885 = r498880 + r498884;
double r498886 = 4.0;
double r498887 = /* ERROR: no complex support in C */;
double r498888 = r498887 * r498870;
double r498889 = r498885 + r498888;
double r498890 = 7.0;
double r498891 = /* ERROR: no complex support in C */;
double r498892 = r498889 + r498891;
double r498893 = /* ERROR: no complex support in C */;
return r498893;
}
double f() {
double r498894 = 3.0;
double r498895 = sqrt(r498894);
double r498896 = 2.0;
double r498897 = r498895 / r498896;
double r498898 = -4.0;
double r498899 = r498895 / r498898;
double r498900 = r498899 + r498899;
double r498901 = r498897 * r498900;
double r498902 = 0.25;
double r498903 = r498901 + r498902;
double r498904 = /* ERROR: no complex support in C */;
double r498905 = 6.0;
double r498906 = -2.0;
double r498907 = r498906 * r498897;
double r498908 = /* ERROR: no complex support in C */;
double r498909 = r498904 + r498908;
double r498910 = r498909 * r498904;
double r498911 = 5.0;
double r498912 = 4.0;
double r498913 = r498895 * r498912;
double r498914 = r498913 / r498896;
double r498915 = /* ERROR: no complex support in C */;
double r498916 = r498910 + r498915;
double r498917 = /* ERROR: no complex support in C */;
return r498917;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019153 +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))))