\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 r20406 = 1.0;
double r20407 = -r20406;
double r20408 = 2.0;
double r20409 = r20407 / r20408;
double r20410 = 3.0;
double r20411 = sqrt(r20410);
double r20412 = r20411 / r20408;
double r20413 = /* ERROR: no complex support in C */;
double r20414 = r20413 * r20413;
double r20415 = r20414 * r20413;
double r20416 = r20415 * r20413;
double r20417 = -r20408;
double r20418 = 0.0;
double r20419 = /* ERROR: no complex support in C */;
double r20420 = r20419 * r20413;
double r20421 = r20420 * r20413;
double r20422 = r20421 * r20413;
double r20423 = r20416 + r20422;
double r20424 = 5.0;
double r20425 = /* ERROR: no complex support in C */;
double r20426 = r20425 * r20413;
double r20427 = r20426 * r20413;
double r20428 = r20423 + r20427;
double r20429 = 4.0;
double r20430 = /* ERROR: no complex support in C */;
double r20431 = r20430 * r20413;
double r20432 = r20428 + r20431;
double r20433 = 7.0;
double r20434 = /* ERROR: no complex support in C */;
double r20435 = r20432 + r20434;
double r20436 = /* ERROR: no complex support in C */;
return r20436;
}
double f() {
double r20437 = 1.0;
double r20438 = -r20437;
double r20439 = 2.0;
double r20440 = r20438 / r20439;
double r20441 = 3.0;
double r20442 = sqrt(r20441);
double r20443 = r20442 / r20439;
double r20444 = /* ERROR: no complex support in C */;
double r20445 = r20444 * r20444;
double r20446 = r20445 * r20444;
double r20447 = r20446 * r20444;
double r20448 = -r20439;
double r20449 = 0.0;
double r20450 = /* ERROR: no complex support in C */;
double r20451 = r20450 * r20444;
double r20452 = r20451 * r20444;
double r20453 = r20452 * r20444;
double r20454 = r20447 + r20453;
double r20455 = 5.0;
double r20456 = /* ERROR: no complex support in C */;
double r20457 = r20456 * r20444;
double r20458 = r20457 * r20444;
double r20459 = r20454 + r20458;
double r20460 = 4.0;
double r20461 = /* ERROR: no complex support in C */;
double r20462 = r20461 * r20444;
double r20463 = r20459 + r20462;
double r20464 = 7.0;
double r20465 = /* ERROR: no complex support in C */;
double r20466 = r20463 + r20465;
double r20467 = /* ERROR: no complex support in C */;
return r20467;
}
Initial program 0
Final simplification0
herbie shell --seed 2020027 +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))))