\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 r14629 = 1.0;
double r14630 = -r14629;
double r14631 = 2.0;
double r14632 = r14630 / r14631;
double r14633 = 3.0;
double r14634 = sqrt(r14633);
double r14635 = r14634 / r14631;
double r14636 = /* ERROR: no complex support in C */;
double r14637 = r14636 * r14636;
double r14638 = r14637 * r14636;
double r14639 = r14638 * r14636;
double r14640 = -r14631;
double r14641 = 0.0;
double r14642 = /* ERROR: no complex support in C */;
double r14643 = r14642 * r14636;
double r14644 = r14643 * r14636;
double r14645 = r14644 * r14636;
double r14646 = r14639 + r14645;
double r14647 = 5.0;
double r14648 = /* ERROR: no complex support in C */;
double r14649 = r14648 * r14636;
double r14650 = r14649 * r14636;
double r14651 = r14646 + r14650;
double r14652 = 4.0;
double r14653 = /* ERROR: no complex support in C */;
double r14654 = r14653 * r14636;
double r14655 = r14651 + r14654;
double r14656 = 7.0;
double r14657 = /* ERROR: no complex support in C */;
double r14658 = r14655 + r14657;
double r14659 = /* ERROR: no complex support in C */;
return r14659;
}
double f() {
double r14660 = 1.0;
double r14661 = -r14660;
double r14662 = 2.0;
double r14663 = r14661 / r14662;
double r14664 = 3.0;
double r14665 = sqrt(r14664);
double r14666 = r14665 / r14662;
double r14667 = /* ERROR: no complex support in C */;
double r14668 = r14667 * r14667;
double r14669 = r14668 * r14667;
double r14670 = r14669 * r14667;
double r14671 = -r14662;
double r14672 = 0.0;
double r14673 = /* ERROR: no complex support in C */;
double r14674 = r14673 * r14667;
double r14675 = r14674 * r14667;
double r14676 = r14675 * r14667;
double r14677 = r14670 + r14676;
double r14678 = 5.0;
double r14679 = /* ERROR: no complex support in C */;
double r14680 = r14679 * r14667;
double r14681 = r14680 * r14667;
double r14682 = r14677 + r14681;
double r14683 = 4.0;
double r14684 = /* ERROR: no complex support in C */;
double r14685 = r14684 * r14667;
double r14686 = r14682 + r14685;
double r14687 = 7.0;
double r14688 = /* ERROR: no complex support in C */;
double r14689 = r14686 + r14688;
double r14690 = /* ERROR: no complex support in C */;
return r14690;
}
Initial program 0
Final simplification0
herbie shell --seed 2020045 +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))))