\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 r20277 = 1.0;
double r20278 = -r20277;
double r20279 = 2.0;
double r20280 = r20278 / r20279;
double r20281 = 3.0;
double r20282 = sqrt(r20281);
double r20283 = r20282 / r20279;
double r20284 = /* ERROR: no complex support in C */;
double r20285 = r20284 * r20284;
double r20286 = r20285 * r20284;
double r20287 = r20286 * r20284;
double r20288 = -r20279;
double r20289 = 0.0;
double r20290 = /* ERROR: no complex support in C */;
double r20291 = r20290 * r20284;
double r20292 = r20291 * r20284;
double r20293 = r20292 * r20284;
double r20294 = r20287 + r20293;
double r20295 = 5.0;
double r20296 = /* ERROR: no complex support in C */;
double r20297 = r20296 * r20284;
double r20298 = r20297 * r20284;
double r20299 = r20294 + r20298;
double r20300 = 4.0;
double r20301 = /* ERROR: no complex support in C */;
double r20302 = r20301 * r20284;
double r20303 = r20299 + r20302;
double r20304 = 7.0;
double r20305 = /* ERROR: no complex support in C */;
double r20306 = r20303 + r20305;
double r20307 = /* ERROR: no complex support in C */;
return r20307;
}
double f() {
double r20308 = 1.0;
double r20309 = -r20308;
double r20310 = 2.0;
double r20311 = r20309 / r20310;
double r20312 = 3.0;
double r20313 = sqrt(r20312);
double r20314 = r20313 / r20310;
double r20315 = /* ERROR: no complex support in C */;
double r20316 = r20315 * r20315;
double r20317 = r20316 * r20315;
double r20318 = r20317 * r20315;
double r20319 = -r20310;
double r20320 = 0.0;
double r20321 = /* ERROR: no complex support in C */;
double r20322 = r20321 * r20315;
double r20323 = r20322 * r20315;
double r20324 = r20323 * r20315;
double r20325 = r20318 + r20324;
double r20326 = 5.0;
double r20327 = /* ERROR: no complex support in C */;
double r20328 = r20327 * r20315;
double r20329 = r20328 * r20315;
double r20330 = r20325 + r20329;
double r20331 = 4.0;
double r20332 = /* ERROR: no complex support in C */;
double r20333 = r20332 * r20315;
double r20334 = r20330 + r20333;
double r20335 = 7.0;
double r20336 = /* ERROR: no complex support in C */;
double r20337 = r20334 + r20336;
double r20338 = /* ERROR: no complex support in C */;
return r20338;
}
Initial program 0
Final simplification0
herbie shell --seed 2020018 +o rules:numerics
(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))))