\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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\Im(\left(\left(5 + \frac{\sqrt{3} \cdot 4}{2} i\right) + \left(\left(\frac{1}{4} + \left(-\frac{\sqrt{3}}{2} \cdot \frac{\sqrt{3}}{2}\right)\right) + \left(-\frac{\sqrt{3}}{2}\right) i\right) \cdot \left(\left(\left(\frac{1}{4} + \left(-\frac{\sqrt{3}}{2} \cdot \frac{\sqrt{3}}{2}\right)\right) + \left(-\frac{\sqrt{3}}{2}\right) i\right) + \left(6 + \frac{\sqrt{3}}{2} \cdot -2 i\right)\right)\right))double f() {
double r830637 = 1.0;
double r830638 = -r830637;
double r830639 = 2.0;
double r830640 = r830638 / r830639;
double r830641 = 3.0;
double r830642 = sqrt(r830641);
double r830643 = r830642 / r830639;
double r830644 = /* ERROR: no complex support in C */;
double r830645 = r830644 * r830644;
double r830646 = r830645 * r830644;
double r830647 = r830646 * r830644;
double r830648 = -r830639;
double r830649 = 0.0;
double r830650 = /* ERROR: no complex support in C */;
double r830651 = r830650 * r830644;
double r830652 = r830651 * r830644;
double r830653 = r830652 * r830644;
double r830654 = r830647 + r830653;
double r830655 = 5.0;
double r830656 = /* ERROR: no complex support in C */;
double r830657 = r830656 * r830644;
double r830658 = r830657 * r830644;
double r830659 = r830654 + r830658;
double r830660 = 4.0;
double r830661 = /* ERROR: no complex support in C */;
double r830662 = r830661 * r830644;
double r830663 = r830659 + r830662;
double r830664 = 7.0;
double r830665 = /* ERROR: no complex support in C */;
double r830666 = r830663 + r830665;
double r830667 = /* ERROR: no complex support in C */;
return r830667;
}
double f() {
double r830668 = 5.0;
double r830669 = 3.0;
double r830670 = sqrt(r830669);
double r830671 = 4.0;
double r830672 = r830670 * r830671;
double r830673 = 2.0;
double r830674 = r830672 / r830673;
double r830675 = /* ERROR: no complex support in C */;
double r830676 = 0.25;
double r830677 = r830670 / r830673;
double r830678 = r830677 * r830677;
double r830679 = -r830678;
double r830680 = r830676 + r830679;
double r830681 = -r830677;
double r830682 = /* ERROR: no complex support in C */;
double r830683 = 6.0;
double r830684 = -2.0;
double r830685 = r830677 * r830684;
double r830686 = /* ERROR: no complex support in C */;
double r830687 = r830682 + r830686;
double r830688 = r830682 * r830687;
double r830689 = r830675 + r830688;
double r830690 = /* ERROR: no complex support in C */;
return r830690;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019163 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (*.c (*.c (*.c (complex (- 2) 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (*.c (complex 5 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (complex 4 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0))))