\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(\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))
double f() {
double r60641 = -1.0;
double r60642 = 1.0;
double r60643 = /* ERROR: no complex support in C */;
double r60644 = r60643 * r60643;
double r60645 = r60644 * r60643;
double r60646 = r60645 * r60643;
double r60647 = r60646 * r60643;
double r60648 = r60647 * r60643;
double r60649 = 6.0;
double r60650 = 0.0;
double r60651 = /* ERROR: no complex support in C */;
double r60652 = r60651 * r60643;
double r60653 = r60652 * r60643;
double r60654 = r60653 * r60643;
double r60655 = r60654 * r60643;
double r60656 = r60655 * r60643;
double r60657 = r60648 + r60656;
double r60658 = 15.0;
double r60659 = /* ERROR: no complex support in C */;
double r60660 = r60659 * r60643;
double r60661 = r60660 * r60643;
double r60662 = r60661 * r60643;
double r60663 = r60662 * r60643;
double r60664 = r60657 + r60663;
double r60665 = 20.0;
double r60666 = /* ERROR: no complex support in C */;
double r60667 = r60666 * r60643;
double r60668 = r60667 * r60643;
double r60669 = r60668 * r60643;
double r60670 = r60664 + r60669;
double r60671 = r60670 + r60661;
double r60672 = r60671 + r60652;
double r60673 = /* ERROR: no complex support in C */;
double r60674 = r60672 + r60673;
double r60675 = /* ERROR: no complex support in C */;
return r60675;
}
double f() {
double r60676 = -1.0;
double r60677 = 1.0;
double r60678 = /* ERROR: no complex support in C */;
double r60679 = r60678 * r60678;
double r60680 = r60679 * r60678;
double r60681 = r60680 * r60678;
double r60682 = r60681 * r60678;
double r60683 = r60682 * r60678;
double r60684 = 6.0;
double r60685 = 0.0;
double r60686 = /* ERROR: no complex support in C */;
double r60687 = r60686 * r60678;
double r60688 = r60687 * r60678;
double r60689 = r60688 * r60678;
double r60690 = r60689 * r60678;
double r60691 = r60690 * r60678;
double r60692 = r60683 + r60691;
double r60693 = 15.0;
double r60694 = /* ERROR: no complex support in C */;
double r60695 = r60694 * r60678;
double r60696 = r60695 * r60678;
double r60697 = r60696 * r60678;
double r60698 = r60697 * r60678;
double r60699 = r60692 + r60698;
double r60700 = 20.0;
double r60701 = /* ERROR: no complex support in C */;
double r60702 = r60701 * r60678;
double r60703 = r60702 * r60678;
double r60704 = r60703 * r60678;
double r60705 = r60699 + r60704;
double r60706 = r60705 + r60696;
double r60707 = r60706 + r60687;
double r60708 = /* ERROR: no complex support in C */;
double r60709 = r60707 + r60708;
double r60710 = /* ERROR: no complex support in C */;
return r60710;
}
Initial program 0
Final simplification0
herbie shell --seed 2020064
(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))))