\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(5 + \frac{\sqrt{3}}{2} \cdot 4 i\right) + \left(\left(\frac{1}{4} - \frac{\sqrt{3}}{2} \cdot \frac{\sqrt{3}}{2}\right) + \frac{-\sqrt{3}}{2} i\right) \cdot \left(\left(6 + \frac{-2 \cdot \sqrt{3}}{2} i\right) + \left(\left(\frac{1}{4} - \frac{\sqrt{3}}{2} \cdot \frac{\sqrt{3}}{2}\right) + \frac{-\sqrt{3}}{2} i\right)\right)\right))double f() {
double r1300033 = 1.0;
double r1300034 = -r1300033;
double r1300035 = 2.0;
double r1300036 = r1300034 / r1300035;
double r1300037 = 3.0;
double r1300038 = sqrt(r1300037);
double r1300039 = r1300038 / r1300035;
double r1300040 = /* ERROR: no complex support in C */;
double r1300041 = r1300040 * r1300040;
double r1300042 = r1300041 * r1300040;
double r1300043 = r1300042 * r1300040;
double r1300044 = -r1300035;
double r1300045 = 0.0;
double r1300046 = /* ERROR: no complex support in C */;
double r1300047 = r1300046 * r1300040;
double r1300048 = r1300047 * r1300040;
double r1300049 = r1300048 * r1300040;
double r1300050 = r1300043 + r1300049;
double r1300051 = 5.0;
double r1300052 = /* ERROR: no complex support in C */;
double r1300053 = r1300052 * r1300040;
double r1300054 = r1300053 * r1300040;
double r1300055 = r1300050 + r1300054;
double r1300056 = 4.0;
double r1300057 = /* ERROR: no complex support in C */;
double r1300058 = r1300057 * r1300040;
double r1300059 = r1300055 + r1300058;
double r1300060 = 7.0;
double r1300061 = /* ERROR: no complex support in C */;
double r1300062 = r1300059 + r1300061;
double r1300063 = /* ERROR: no complex support in C */;
return r1300063;
}
double f() {
double r1300064 = 5.0;
double r1300065 = 3.0;
double r1300066 = sqrt(r1300065);
double r1300067 = 2.0;
double r1300068 = r1300066 / r1300067;
double r1300069 = 4.0;
double r1300070 = r1300068 * r1300069;
double r1300071 = /* ERROR: no complex support in C */;
double r1300072 = 0.25;
double r1300073 = r1300068 * r1300068;
double r1300074 = r1300072 - r1300073;
double r1300075 = -r1300066;
double r1300076 = r1300075 / r1300067;
double r1300077 = /* ERROR: no complex support in C */;
double r1300078 = 6.0;
double r1300079 = -2.0;
double r1300080 = r1300079 * r1300066;
double r1300081 = r1300080 / r1300067;
double r1300082 = /* ERROR: no complex support in C */;
double r1300083 = r1300082 + r1300077;
double r1300084 = r1300077 * r1300083;
double r1300085 = r1300071 + r1300084;
double r1300086 = /* ERROR: no complex support in C */;
return r1300086;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019121 +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))))