\Im(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))
\Im(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(15 + 0.0 i\right)\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right)\right)\right)\right)\right)\right) + \left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(1 + 0.0 i\right)\right)\right))
double f() {
double r33645 = -1.0;
double r33646 = 1.0;
double r33647 = /* ERROR: no complex support in C */;
double r33648 = r33647 * r33647;
double r33649 = r33648 * r33647;
double r33650 = r33649 * r33647;
double r33651 = r33650 * r33647;
double r33652 = r33651 * r33647;
double r33653 = 6.0;
double r33654 = 0.0;
double r33655 = /* ERROR: no complex support in C */;
double r33656 = r33655 * r33647;
double r33657 = r33656 * r33647;
double r33658 = r33657 * r33647;
double r33659 = r33658 * r33647;
double r33660 = r33659 * r33647;
double r33661 = r33652 + r33660;
double r33662 = 15.0;
double r33663 = /* ERROR: no complex support in C */;
double r33664 = r33663 * r33647;
double r33665 = r33664 * r33647;
double r33666 = r33665 * r33647;
double r33667 = r33666 * r33647;
double r33668 = r33661 + r33667;
double r33669 = 20.0;
double r33670 = /* ERROR: no complex support in C */;
double r33671 = r33670 * r33647;
double r33672 = r33671 * r33647;
double r33673 = r33672 * r33647;
double r33674 = r33668 + r33673;
double r33675 = r33674 + r33665;
double r33676 = r33675 + r33656;
double r33677 = /* ERROR: no complex support in C */;
double r33678 = r33676 + r33677;
double r33679 = /* ERROR: no complex support in C */;
return r33679;
}
double f() {
double r33680 = -1.0;
double r33681 = 1.0;
double r33682 = /* ERROR: no complex support in C */;
double r33683 = 20.0;
double r33684 = 0.0;
double r33685 = /* ERROR: no complex support in C */;
double r33686 = r33685 * r33682;
double r33687 = 15.0;
double r33688 = /* ERROR: no complex support in C */;
double r33689 = r33686 + r33688;
double r33690 = r33682 * r33689;
double r33691 = r33682 * r33682;
double r33692 = r33688 * r33682;
double r33693 = 6.0;
double r33694 = /* ERROR: no complex support in C */;
double r33695 = r33682 + r33694;
double r33696 = r33691 * r33695;
double r33697 = r33692 + r33696;
double r33698 = r33691 * r33697;
double r33699 = r33690 + r33698;
double r33700 = r33682 * r33699;
double r33701 = r33694 * r33682;
double r33702 = /* ERROR: no complex support in C */;
double r33703 = r33701 + r33702;
double r33704 = r33700 + r33703;
double r33705 = /* ERROR: no complex support in C */;
return r33705;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2020042
(FPCore ()
:name "3.9.1 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (* (* (* (* (* (complex 6 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (complex 20 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1))) (* (complex 6 0.0) (complex -1 1))) (complex 1 0.0))))