\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 r33339 = 1.0;
double r33340 = -r33339;
double r33341 = 2.0;
double r33342 = r33340 / r33341;
double r33343 = 3.0;
double r33344 = sqrt(r33343);
double r33345 = r33344 / r33341;
double r33346 = /* ERROR: no complex support in C */;
double r33347 = r33346 * r33346;
double r33348 = r33347 * r33346;
double r33349 = r33348 * r33346;
double r33350 = -r33341;
double r33351 = 0.0;
double r33352 = /* ERROR: no complex support in C */;
double r33353 = r33352 * r33346;
double r33354 = r33353 * r33346;
double r33355 = r33354 * r33346;
double r33356 = r33349 + r33355;
double r33357 = 5.0;
double r33358 = /* ERROR: no complex support in C */;
double r33359 = r33358 * r33346;
double r33360 = r33359 * r33346;
double r33361 = r33356 + r33360;
double r33362 = 4.0;
double r33363 = /* ERROR: no complex support in C */;
double r33364 = r33363 * r33346;
double r33365 = r33361 + r33364;
double r33366 = 7.0;
double r33367 = /* ERROR: no complex support in C */;
double r33368 = r33365 + r33367;
double r33369 = /* ERROR: no complex support in C */;
return r33369;
}
double f() {
double r33370 = 1.0;
double r33371 = -r33370;
double r33372 = 2.0;
double r33373 = r33371 / r33372;
double r33374 = 3.0;
double r33375 = sqrt(r33374);
double r33376 = r33375 / r33372;
double r33377 = /* ERROR: no complex support in C */;
double r33378 = r33377 * r33377;
double r33379 = r33378 * r33377;
double r33380 = r33379 * r33377;
double r33381 = -r33372;
double r33382 = 0.0;
double r33383 = /* ERROR: no complex support in C */;
double r33384 = r33383 * r33377;
double r33385 = r33384 * r33377;
double r33386 = r33385 * r33377;
double r33387 = r33380 + r33386;
double r33388 = 5.0;
double r33389 = /* ERROR: no complex support in C */;
double r33390 = r33389 * r33377;
double r33391 = r33390 * r33377;
double r33392 = r33387 + r33391;
double r33393 = 4.0;
double r33394 = /* ERROR: no complex support in C */;
double r33395 = r33394 * r33377;
double r33396 = r33392 + r33395;
double r33397 = 7.0;
double r33398 = /* ERROR: no complex support in C */;
double r33399 = r33396 + r33398;
double r33400 = /* ERROR: no complex support in C */;
return r33400;
}
Initial program 0
Final simplification0
herbie shell --seed 2020001 +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))))