\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} + \frac{\sqrt{3}}{-1}\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 r967035 = 1.0;
double r967036 = -r967035;
double r967037 = 2.0;
double r967038 = r967036 / r967037;
double r967039 = 3.0;
double r967040 = sqrt(r967039);
double r967041 = r967040 / r967037;
double r967042 = /* ERROR: no complex support in C */;
double r967043 = r967042 * r967042;
double r967044 = r967043 * r967042;
double r967045 = r967044 * r967042;
double r967046 = -r967037;
double r967047 = 0.0;
double r967048 = /* ERROR: no complex support in C */;
double r967049 = r967048 * r967042;
double r967050 = r967049 * r967042;
double r967051 = r967050 * r967042;
double r967052 = r967045 + r967051;
double r967053 = 5.0;
double r967054 = /* ERROR: no complex support in C */;
double r967055 = r967054 * r967042;
double r967056 = r967055 * r967042;
double r967057 = r967052 + r967056;
double r967058 = 4.0;
double r967059 = /* ERROR: no complex support in C */;
double r967060 = r967059 * r967042;
double r967061 = r967057 + r967060;
double r967062 = 7.0;
double r967063 = /* ERROR: no complex support in C */;
double r967064 = r967061 + r967063;
double r967065 = /* ERROR: no complex support in C */;
return r967065;
}
double f() {
double r967066 = 5.5;
double r967067 = 3.0;
double r967068 = sqrt(r967067);
double r967069 = -2.0;
double r967070 = r967068 / r967069;
double r967071 = -1.0;
double r967072 = r967068 / r967071;
double r967073 = r967070 + r967072;
double r967074 = /* ERROR: no complex support in C */;
double r967075 = -0.5;
double r967076 = /* ERROR: no complex support in C */;
double r967077 = r967074 * r967076;
double r967078 = 5.0;
double r967079 = 2.0;
double r967080 = r967068 * r967079;
double r967081 = /* ERROR: no complex support in C */;
double r967082 = r967077 + r967081;
double r967083 = /* ERROR: no complex support in C */;
return r967083;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019138 +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))))