\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 r51546 = 1.0;
double r51547 = -r51546;
double r51548 = 2.0;
double r51549 = r51547 / r51548;
double r51550 = 3.0;
double r51551 = sqrt(r51550);
double r51552 = r51551 / r51548;
double r51553 = /* ERROR: no complex support in C */;
double r51554 = r51553 * r51553;
double r51555 = r51554 * r51553;
double r51556 = r51555 * r51553;
double r51557 = -r51548;
double r51558 = 0.0;
double r51559 = /* ERROR: no complex support in C */;
double r51560 = r51559 * r51553;
double r51561 = r51560 * r51553;
double r51562 = r51561 * r51553;
double r51563 = r51556 + r51562;
double r51564 = 5.0;
double r51565 = /* ERROR: no complex support in C */;
double r51566 = r51565 * r51553;
double r51567 = r51566 * r51553;
double r51568 = r51563 + r51567;
double r51569 = 4.0;
double r51570 = /* ERROR: no complex support in C */;
double r51571 = r51570 * r51553;
double r51572 = r51568 + r51571;
double r51573 = 7.0;
double r51574 = /* ERROR: no complex support in C */;
double r51575 = r51572 + r51574;
double r51576 = /* ERROR: no complex support in C */;
return r51576;
}
double f() {
double r51577 = 1.0;
double r51578 = -r51577;
double r51579 = 2.0;
double r51580 = r51578 / r51579;
double r51581 = 3.0;
double r51582 = sqrt(r51581);
double r51583 = r51582 / r51579;
double r51584 = /* ERROR: no complex support in C */;
double r51585 = r51584 * r51584;
double r51586 = r51585 * r51584;
double r51587 = r51586 * r51584;
double r51588 = -r51579;
double r51589 = 0.0;
double r51590 = /* ERROR: no complex support in C */;
double r51591 = r51590 * r51584;
double r51592 = r51591 * r51584;
double r51593 = r51592 * r51584;
double r51594 = r51587 + r51593;
double r51595 = 5.0;
double r51596 = /* ERROR: no complex support in C */;
double r51597 = r51596 * r51584;
double r51598 = r51597 * r51584;
double r51599 = r51594 + r51598;
double r51600 = 4.0;
double r51601 = /* ERROR: no complex support in C */;
double r51602 = r51601 * r51584;
double r51603 = r51599 + r51602;
double r51604 = 7.0;
double r51605 = /* ERROR: no complex support in C */;
double r51606 = r51603 + r51605;
double r51607 = /* ERROR: no complex support in C */;
return r51607;
}
Initial program 0
Final simplification0
herbie shell --seed 2020020 +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))))