\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 r401047 = 1.0;
double r401048 = -r401047;
double r401049 = 2.0;
double r401050 = r401048 / r401049;
double r401051 = 3.0;
double r401052 = sqrt(r401051);
double r401053 = r401052 / r401049;
double r401054 = /* ERROR: no complex support in C */;
double r401055 = r401054 * r401054;
double r401056 = r401055 * r401054;
double r401057 = r401056 * r401054;
double r401058 = -r401049;
double r401059 = 0.0;
double r401060 = /* ERROR: no complex support in C */;
double r401061 = r401060 * r401054;
double r401062 = r401061 * r401054;
double r401063 = r401062 * r401054;
double r401064 = r401057 + r401063;
double r401065 = 5.0;
double r401066 = /* ERROR: no complex support in C */;
double r401067 = r401066 * r401054;
double r401068 = r401067 * r401054;
double r401069 = r401064 + r401068;
double r401070 = 4.0;
double r401071 = /* ERROR: no complex support in C */;
double r401072 = r401071 * r401054;
double r401073 = r401069 + r401072;
double r401074 = 7.0;
double r401075 = /* ERROR: no complex support in C */;
double r401076 = r401073 + r401075;
double r401077 = /* ERROR: no complex support in C */;
return r401077;
}
double f() {
double r401078 = 5.5;
double r401079 = 3.0;
double r401080 = sqrt(r401079);
double r401081 = -2.0;
double r401082 = r401080 / r401081;
double r401083 = -r401080;
double r401084 = r401082 + r401083;
double r401085 = /* ERROR: no complex support in C */;
double r401086 = -0.5;
double r401087 = /* ERROR: no complex support in C */;
double r401088 = r401085 * r401087;
double r401089 = 5.0;
double r401090 = 2.0;
double r401091 = r401080 * r401090;
double r401092 = /* ERROR: no complex support in C */;
double r401093 = r401088 + r401092;
double r401094 = /* ERROR: no complex support in C */;
return r401094;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019152 +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))))