\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 r28667 = 1.0;
double r28668 = -r28667;
double r28669 = 2.0;
double r28670 = r28668 / r28669;
double r28671 = 3.0;
double r28672 = sqrt(r28671);
double r28673 = r28672 / r28669;
double r28674 = /* ERROR: no complex support in C */;
double r28675 = r28674 * r28674;
double r28676 = r28675 * r28674;
double r28677 = r28676 * r28674;
double r28678 = -r28669;
double r28679 = 0.0;
double r28680 = /* ERROR: no complex support in C */;
double r28681 = r28680 * r28674;
double r28682 = r28681 * r28674;
double r28683 = r28682 * r28674;
double r28684 = r28677 + r28683;
double r28685 = 5.0;
double r28686 = /* ERROR: no complex support in C */;
double r28687 = r28686 * r28674;
double r28688 = r28687 * r28674;
double r28689 = r28684 + r28688;
double r28690 = 4.0;
double r28691 = /* ERROR: no complex support in C */;
double r28692 = r28691 * r28674;
double r28693 = r28689 + r28692;
double r28694 = 7.0;
double r28695 = /* ERROR: no complex support in C */;
double r28696 = r28693 + r28695;
double r28697 = /* ERROR: no complex support in C */;
return r28697;
}
double f() {
double r28698 = 1.0;
double r28699 = -r28698;
double r28700 = 2.0;
double r28701 = r28699 / r28700;
double r28702 = 3.0;
double r28703 = sqrt(r28702);
double r28704 = r28703 / r28700;
double r28705 = /* ERROR: no complex support in C */;
double r28706 = r28705 * r28705;
double r28707 = r28706 * r28705;
double r28708 = r28707 * r28705;
double r28709 = -r28700;
double r28710 = 0.0;
double r28711 = /* ERROR: no complex support in C */;
double r28712 = r28711 * r28705;
double r28713 = r28712 * r28705;
double r28714 = r28713 * r28705;
double r28715 = r28708 + r28714;
double r28716 = 5.0;
double r28717 = /* ERROR: no complex support in C */;
double r28718 = r28717 * r28705;
double r28719 = r28718 * r28705;
double r28720 = r28715 + r28719;
double r28721 = 4.0;
double r28722 = /* ERROR: no complex support in C */;
double r28723 = r28722 * r28705;
double r28724 = r28720 + r28723;
double r28725 = 7.0;
double r28726 = /* ERROR: no complex support in C */;
double r28727 = r28724 + r28726;
double r28728 = /* ERROR: no complex support in C */;
return r28728;
}
Initial program 0
Final simplification0
herbie shell --seed 2019352
(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))))