\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.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.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.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\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.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.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.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r28052 = 1.0;
double r28053 = -r28052;
double r28054 = 2.0;
double r28055 = r28053 / r28054;
double r28056 = 3.0;
double r28057 = sqrt(r28056);
double r28058 = r28057 / r28054;
double r28059 = /* ERROR: no complex support in C */;
double r28060 = r28059 * r28059;
double r28061 = r28060 * r28059;
double r28062 = r28061 * r28059;
double r28063 = -r28054;
double r28064 = 0.0;
double r28065 = /* ERROR: no complex support in C */;
double r28066 = r28065 * r28059;
double r28067 = r28066 * r28059;
double r28068 = r28067 * r28059;
double r28069 = r28062 + r28068;
double r28070 = 5.0;
double r28071 = /* ERROR: no complex support in C */;
double r28072 = r28071 * r28059;
double r28073 = r28072 * r28059;
double r28074 = r28069 + r28073;
double r28075 = 4.0;
double r28076 = /* ERROR: no complex support in C */;
double r28077 = r28076 * r28059;
double r28078 = r28074 + r28077;
double r28079 = 7.0;
double r28080 = /* ERROR: no complex support in C */;
double r28081 = r28078 + r28080;
double r28082 = /* ERROR: no complex support in C */;
return r28082;
}
double f() {
double r28083 = 1.0;
double r28084 = -r28083;
double r28085 = 2.0;
double r28086 = r28084 / r28085;
double r28087 = 3.0;
double r28088 = sqrt(r28087);
double r28089 = r28088 / r28085;
double r28090 = /* ERROR: no complex support in C */;
double r28091 = r28090 * r28090;
double r28092 = r28091 * r28090;
double r28093 = r28092 * r28090;
double r28094 = -r28085;
double r28095 = 0.0;
double r28096 = /* ERROR: no complex support in C */;
double r28097 = r28096 * r28090;
double r28098 = r28097 * r28090;
double r28099 = r28098 * r28090;
double r28100 = r28093 + r28099;
double r28101 = 5.0;
double r28102 = /* ERROR: no complex support in C */;
double r28103 = r28102 * r28090;
double r28104 = r28103 * r28090;
double r28105 = r28100 + r28104;
double r28106 = 4.0;
double r28107 = /* ERROR: no complex support in C */;
double r28108 = r28107 * r28090;
double r28109 = r28105 + r28108;
double r28110 = 7.0;
double r28111 = /* ERROR: no complex support in C */;
double r28112 = r28109 + r28111;
double r28113 = /* ERROR: no complex support in C */;
return r28113;
}
Initial program 0
Final simplification0
herbie shell --seed 2019322
(FPCore ()
:name "3.9.2 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (* (* (* (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (* (* (* (complex (- 2) 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (* (complex 5 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (complex 4 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0.0))))