\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 r847877 = 1.0;
double r847878 = -r847877;
double r847879 = 2.0;
double r847880 = r847878 / r847879;
double r847881 = 3.0;
double r847882 = sqrt(r847881);
double r847883 = r847882 / r847879;
double r847884 = /* ERROR: no complex support in C */;
double r847885 = r847884 * r847884;
double r847886 = r847885 * r847884;
double r847887 = r847886 * r847884;
double r847888 = -r847879;
double r847889 = 0.0;
double r847890 = /* ERROR: no complex support in C */;
double r847891 = r847890 * r847884;
double r847892 = r847891 * r847884;
double r847893 = r847892 * r847884;
double r847894 = r847887 + r847893;
double r847895 = 5.0;
double r847896 = /* ERROR: no complex support in C */;
double r847897 = r847896 * r847884;
double r847898 = r847897 * r847884;
double r847899 = r847894 + r847898;
double r847900 = 4.0;
double r847901 = /* ERROR: no complex support in C */;
double r847902 = r847901 * r847884;
double r847903 = r847899 + r847902;
double r847904 = 7.0;
double r847905 = /* ERROR: no complex support in C */;
double r847906 = r847903 + r847905;
double r847907 = /* ERROR: no complex support in C */;
return r847907;
}
double f() {
double r847908 = 3.0;
double r847909 = sqrt(r847908);
double r847910 = 2.0;
double r847911 = r847909 / r847910;
double r847912 = -4.0;
double r847913 = r847909 / r847912;
double r847914 = r847913 + r847913;
double r847915 = r847911 * r847914;
double r847916 = 0.25;
double r847917 = r847915 + r847916;
double r847918 = /* ERROR: no complex support in C */;
double r847919 = 6.0;
double r847920 = -2.0;
double r847921 = r847920 * r847911;
double r847922 = /* ERROR: no complex support in C */;
double r847923 = r847918 + r847922;
double r847924 = r847923 * r847918;
double r847925 = 5.0;
double r847926 = 4.0;
double r847927 = r847909 * r847926;
double r847928 = r847927 / r847910;
double r847929 = /* ERROR: no complex support in C */;
double r847930 = r847924 + r847929;
double r847931 = /* ERROR: no complex support in C */;
return r847931;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019155 +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))))