\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 r35539 = 1.0;
double r35540 = -r35539;
double r35541 = 2.0;
double r35542 = r35540 / r35541;
double r35543 = 3.0;
double r35544 = sqrt(r35543);
double r35545 = r35544 / r35541;
double r35546 = /* ERROR: no complex support in C */;
double r35547 = r35546 * r35546;
double r35548 = r35547 * r35546;
double r35549 = r35548 * r35546;
double r35550 = -r35541;
double r35551 = 0.0;
double r35552 = /* ERROR: no complex support in C */;
double r35553 = r35552 * r35546;
double r35554 = r35553 * r35546;
double r35555 = r35554 * r35546;
double r35556 = r35549 + r35555;
double r35557 = 5.0;
double r35558 = /* ERROR: no complex support in C */;
double r35559 = r35558 * r35546;
double r35560 = r35559 * r35546;
double r35561 = r35556 + r35560;
double r35562 = 4.0;
double r35563 = /* ERROR: no complex support in C */;
double r35564 = r35563 * r35546;
double r35565 = r35561 + r35564;
double r35566 = 7.0;
double r35567 = /* ERROR: no complex support in C */;
double r35568 = r35565 + r35567;
double r35569 = /* ERROR: no complex support in C */;
return r35569;
}
double f() {
double r35570 = 1.0;
double r35571 = -r35570;
double r35572 = 2.0;
double r35573 = r35571 / r35572;
double r35574 = 3.0;
double r35575 = sqrt(r35574);
double r35576 = r35575 / r35572;
double r35577 = /* ERROR: no complex support in C */;
double r35578 = r35577 * r35577;
double r35579 = r35578 * r35577;
double r35580 = r35579 * r35577;
double r35581 = -r35572;
double r35582 = 0.0;
double r35583 = /* ERROR: no complex support in C */;
double r35584 = r35583 * r35577;
double r35585 = r35584 * r35577;
double r35586 = r35585 * r35577;
double r35587 = r35580 + r35586;
double r35588 = 5.0;
double r35589 = /* ERROR: no complex support in C */;
double r35590 = r35589 * r35577;
double r35591 = r35590 * r35577;
double r35592 = r35587 + r35591;
double r35593 = 4.0;
double r35594 = /* ERROR: no complex support in C */;
double r35595 = r35594 * r35577;
double r35596 = r35592 + r35595;
double r35597 = 7.0;
double r35598 = /* ERROR: no complex support in C */;
double r35599 = r35596 + r35598;
double r35600 = /* ERROR: no complex support in C */;
return r35600;
}
Initial program 0
Final simplification0
herbie shell --seed 2019297
(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))))