\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(1 + -1\right) \cdot 15\right) \cdot \left(-1 - 1\right) - \left(\left(-1 + -1\right) \cdot 1\right) \cdot 0.0\right) + \left(-1 \cdot 6 - 1 \cdot 0.0\right)\right) + \left(\left(-1 \cdot 6 - 1 \cdot 0.0\right) \cdot \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) - \left(\left(-1 + -1\right) \cdot 1\right) \cdot \left(\left(-1 + -1\right) \cdot 1\right)\right) - \left(0.0 \cdot -1 + 1 \cdot 6\right) \cdot \left(\left(-1 - 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(\left(-1 + -1\right) \cdot 1\right)\right) + \left(-1 - 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(\left(-1 + -1\right) \cdot 1\right)\right)\right)\right)\right) + \left(\left(\left(-1 \cdot 6 - 1 \cdot 0.0\right) \cdot \left(\left(-1 - 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(\left(-1 + -1\right) \cdot 1\right)\right) + \left(-1 - 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(\left(-1 + -1\right) \cdot 1\right)\right)\right) + \left(0.0 \cdot -1 + 1 \cdot 6\right) \cdot \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) - \left(\left(-1 + -1\right) \cdot 1\right) \cdot \left(\left(-1 + -1\right) \cdot 1\right)\right)\right) + \left(\left(0.0 \cdot -1 + 1 \cdot 6\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 0.0 + \left(\left(-1 + -1\right) \cdot 1\right) \cdot 15\right)\right)\right) i\right) + \left(\left(\left(\left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) - \left(\left(-1 + -1\right) \cdot 1\right) \cdot \left(\left(-1 + -1\right) \cdot 1\right)\right) + \left(\left(20 \cdot -1 - 1 \cdot 0.0\right) + \left(\left(\left(1 + -1\right) \cdot 15\right) \cdot \left(-1 - 1\right) - \left(\left(-1 + -1\right) \cdot 1\right) \cdot 0.0\right)\right)\right) + \left(\left(\left(-1 - 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(\left(-1 + -1\right) \cdot 1\right)\right) + \left(-1 - 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(\left(-1 + -1\right) \cdot 1\right)\right)\right) + \left(\left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 0.0 + \left(\left(-1 + -1\right) \cdot 1\right) \cdot 15\right) + \left(20 \cdot 1 + 0.0 \cdot -1\right)\right)\right) i\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(-1 + -1\right) \cdot 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
double r1980620 = -1.0;
double r1980621 = 1.0;
double r1980622 = /* ERROR: no complex support in C */;
double r1980623 = r1980622 * r1980622;
double r1980624 = r1980623 * r1980622;
double r1980625 = r1980624 * r1980622;
double r1980626 = r1980625 * r1980622;
double r1980627 = r1980626 * r1980622;
double r1980628 = 6.0;
double r1980629 = 0.0;
double r1980630 = /* ERROR: no complex support in C */;
double r1980631 = r1980630 * r1980622;
double r1980632 = r1980631 * r1980622;
double r1980633 = r1980632 * r1980622;
double r1980634 = r1980633 * r1980622;
double r1980635 = r1980634 * r1980622;
double r1980636 = r1980627 + r1980635;
double r1980637 = 15.0;
double r1980638 = /* ERROR: no complex support in C */;
double r1980639 = r1980638 * r1980622;
double r1980640 = r1980639 * r1980622;
double r1980641 = r1980640 * r1980622;
double r1980642 = r1980641 * r1980622;
double r1980643 = r1980636 + r1980642;
double r1980644 = 20.0;
double r1980645 = /* ERROR: no complex support in C */;
double r1980646 = r1980645 * r1980622;
double r1980647 = r1980646 * r1980622;
double r1980648 = r1980647 * r1980622;
double r1980649 = r1980643 + r1980648;
double r1980650 = r1980649 + r1980640;
double r1980651 = r1980650 + r1980631;
double r1980652 = /* ERROR: no complex support in C */;
double r1980653 = r1980651 + r1980652;
double r1980654 = /* ERROR: no complex support in C */;
return r1980654;
}
double f() {
double r1980655 = 1.0;
double r1980656 = -1.0;
double r1980657 = r1980655 + r1980656;
double r1980658 = 15.0;
double r1980659 = r1980657 * r1980658;
double r1980660 = r1980656 - r1980655;
double r1980661 = r1980659 * r1980660;
double r1980662 = r1980656 + r1980656;
double r1980663 = r1980662 * r1980655;
double r1980664 = 0.0;
double r1980665 = r1980663 * r1980664;
double r1980666 = r1980661 - r1980665;
double r1980667 = 6.0;
double r1980668 = r1980656 * r1980667;
double r1980669 = r1980655 * r1980664;
double r1980670 = r1980668 - r1980669;
double r1980671 = r1980666 + r1980670;
double r1980672 = r1980657 * r1980660;
double r1980673 = r1980672 * r1980672;
double r1980674 = r1980663 * r1980663;
double r1980675 = r1980673 - r1980674;
double r1980676 = r1980670 * r1980675;
double r1980677 = r1980664 * r1980656;
double r1980678 = r1980655 * r1980667;
double r1980679 = r1980677 + r1980678;
double r1980680 = r1980657 * r1980663;
double r1980681 = r1980660 * r1980680;
double r1980682 = r1980681 + r1980681;
double r1980683 = r1980679 * r1980682;
double r1980684 = r1980676 - r1980683;
double r1980685 = r1980671 + r1980684;
double r1980686 = r1980670 * r1980682;
double r1980687 = r1980679 * r1980675;
double r1980688 = r1980686 + r1980687;
double r1980689 = r1980672 * r1980664;
double r1980690 = r1980663 * r1980658;
double r1980691 = r1980689 + r1980690;
double r1980692 = r1980679 + r1980691;
double r1980693 = r1980688 + r1980692;
double r1980694 = /* ERROR: no complex support in C */;
double r1980695 = 20.0;
double r1980696 = r1980695 * r1980656;
double r1980697 = r1980696 - r1980669;
double r1980698 = r1980697 + r1980666;
double r1980699 = r1980675 + r1980698;
double r1980700 = r1980695 * r1980655;
double r1980701 = r1980700 + r1980677;
double r1980702 = r1980691 + r1980701;
double r1980703 = r1980682 + r1980702;
double r1980704 = /* ERROR: no complex support in C */;
double r1980705 = /* ERROR: no complex support in C */;
double r1980706 = r1980704 * r1980705;
double r1980707 = r1980694 + r1980706;
double r1980708 = /* ERROR: no complex support in C */;
double r1980709 = r1980707 + r1980708;
double r1980710 = /* ERROR: no complex support in C */;
return r1980710;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019192
(FPCore ()
:name "3.9.1 imaginary part (p56)"
(im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1.0 1.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (* (* (* (* (* (complex 6.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (complex 20.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (complex 6.0 0.0) (complex -1.0 1.0))) (complex 1.0 0.0))))