\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 r30409 = 1.0;
double r30410 = -r30409;
double r30411 = 2.0;
double r30412 = r30410 / r30411;
double r30413 = 3.0;
double r30414 = sqrt(r30413);
double r30415 = r30414 / r30411;
double r30416 = /* ERROR: no complex support in C */;
double r30417 = r30416 * r30416;
double r30418 = r30417 * r30416;
double r30419 = r30418 * r30416;
double r30420 = -r30411;
double r30421 = 0.0;
double r30422 = /* ERROR: no complex support in C */;
double r30423 = r30422 * r30416;
double r30424 = r30423 * r30416;
double r30425 = r30424 * r30416;
double r30426 = r30419 + r30425;
double r30427 = 5.0;
double r30428 = /* ERROR: no complex support in C */;
double r30429 = r30428 * r30416;
double r30430 = r30429 * r30416;
double r30431 = r30426 + r30430;
double r30432 = 4.0;
double r30433 = /* ERROR: no complex support in C */;
double r30434 = r30433 * r30416;
double r30435 = r30431 + r30434;
double r30436 = 7.0;
double r30437 = /* ERROR: no complex support in C */;
double r30438 = r30435 + r30437;
double r30439 = /* ERROR: no complex support in C */;
return r30439;
}
double f() {
double r30440 = 1.0;
double r30441 = -r30440;
double r30442 = 2.0;
double r30443 = r30441 / r30442;
double r30444 = 3.0;
double r30445 = sqrt(r30444);
double r30446 = r30445 / r30442;
double r30447 = /* ERROR: no complex support in C */;
double r30448 = r30447 * r30447;
double r30449 = r30448 * r30447;
double r30450 = r30449 * r30447;
double r30451 = -r30442;
double r30452 = 0.0;
double r30453 = /* ERROR: no complex support in C */;
double r30454 = r30453 * r30447;
double r30455 = r30454 * r30447;
double r30456 = r30455 * r30447;
double r30457 = r30450 + r30456;
double r30458 = 5.0;
double r30459 = /* ERROR: no complex support in C */;
double r30460 = r30459 * r30447;
double r30461 = r30460 * r30447;
double r30462 = r30457 + r30461;
double r30463 = 4.0;
double r30464 = /* ERROR: no complex support in C */;
double r30465 = r30464 * r30447;
double r30466 = r30462 + r30465;
double r30467 = 7.0;
double r30468 = /* ERROR: no complex support in C */;
double r30469 = r30466 + r30468;
double r30470 = /* ERROR: no complex support in C */;
return r30470;
}
Initial program 0
Final simplification0
herbie shell --seed 2020057
(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))))