\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 r22622 = 1.0;
double r22623 = -r22622;
double r22624 = 2.0;
double r22625 = r22623 / r22624;
double r22626 = 3.0;
double r22627 = sqrt(r22626);
double r22628 = r22627 / r22624;
double r22629 = /* ERROR: no complex support in C */;
double r22630 = r22629 * r22629;
double r22631 = r22630 * r22629;
double r22632 = r22631 * r22629;
double r22633 = -r22624;
double r22634 = 0.0;
double r22635 = /* ERROR: no complex support in C */;
double r22636 = r22635 * r22629;
double r22637 = r22636 * r22629;
double r22638 = r22637 * r22629;
double r22639 = r22632 + r22638;
double r22640 = 5.0;
double r22641 = /* ERROR: no complex support in C */;
double r22642 = r22641 * r22629;
double r22643 = r22642 * r22629;
double r22644 = r22639 + r22643;
double r22645 = 4.0;
double r22646 = /* ERROR: no complex support in C */;
double r22647 = r22646 * r22629;
double r22648 = r22644 + r22647;
double r22649 = 7.0;
double r22650 = /* ERROR: no complex support in C */;
double r22651 = r22648 + r22650;
double r22652 = /* ERROR: no complex support in C */;
return r22652;
}
double f() {
double r22653 = 1.0;
double r22654 = -r22653;
double r22655 = 2.0;
double r22656 = r22654 / r22655;
double r22657 = 3.0;
double r22658 = sqrt(r22657);
double r22659 = r22658 / r22655;
double r22660 = /* ERROR: no complex support in C */;
double r22661 = r22660 * r22660;
double r22662 = r22661 * r22660;
double r22663 = r22662 * r22660;
double r22664 = -r22655;
double r22665 = 0.0;
double r22666 = /* ERROR: no complex support in C */;
double r22667 = r22666 * r22660;
double r22668 = r22667 * r22660;
double r22669 = r22668 * r22660;
double r22670 = r22663 + r22669;
double r22671 = 5.0;
double r22672 = /* ERROR: no complex support in C */;
double r22673 = r22672 * r22660;
double r22674 = r22673 * r22660;
double r22675 = r22670 + r22674;
double r22676 = 4.0;
double r22677 = /* ERROR: no complex support in C */;
double r22678 = r22677 * r22660;
double r22679 = r22675 + r22678;
double r22680 = 7.0;
double r22681 = /* ERROR: no complex support in C */;
double r22682 = r22679 + r22681;
double r22683 = /* ERROR: no complex support in C */;
return r22683;
}
Initial program 0
Final simplification0
herbie shell --seed 2019356 +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))))