\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(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(1 + 0.0 i\right)\right) + \left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) \cdot \left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) + \left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right)\right)\right)\right) + \left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(15 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - 0.0 \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(15 \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + 0.0 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) + \left(\left(\left(20 \cdot -1 - 0.0 \cdot 1\right) + \left(20 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(15 + 0.0 i\right)\right)\right)\right)\right))
double f() {
double r3208761 = -1.0;
double r3208762 = 1.0;
double r3208763 = /* ERROR: no complex support in C */;
double r3208764 = r3208763 * r3208763;
double r3208765 = r3208764 * r3208763;
double r3208766 = r3208765 * r3208763;
double r3208767 = r3208766 * r3208763;
double r3208768 = r3208767 * r3208763;
double r3208769 = 6.0;
double r3208770 = 0.0;
double r3208771 = /* ERROR: no complex support in C */;
double r3208772 = r3208771 * r3208763;
double r3208773 = r3208772 * r3208763;
double r3208774 = r3208773 * r3208763;
double r3208775 = r3208774 * r3208763;
double r3208776 = r3208775 * r3208763;
double r3208777 = r3208768 + r3208776;
double r3208778 = 15.0;
double r3208779 = /* ERROR: no complex support in C */;
double r3208780 = r3208779 * r3208763;
double r3208781 = r3208780 * r3208763;
double r3208782 = r3208781 * r3208763;
double r3208783 = r3208782 * r3208763;
double r3208784 = r3208777 + r3208783;
double r3208785 = 20.0;
double r3208786 = /* ERROR: no complex support in C */;
double r3208787 = r3208786 * r3208763;
double r3208788 = r3208787 * r3208763;
double r3208789 = r3208788 * r3208763;
double r3208790 = r3208784 + r3208789;
double r3208791 = r3208790 + r3208781;
double r3208792 = r3208791 + r3208772;
double r3208793 = /* ERROR: no complex support in C */;
double r3208794 = r3208792 + r3208793;
double r3208795 = /* ERROR: no complex support in C */;
return r3208795;
}
double f() {
double r3208796 = 6.0;
double r3208797 = -1.0;
double r3208798 = r3208796 * r3208797;
double r3208799 = 0.0;
double r3208800 = 1.0;
double r3208801 = r3208799 * r3208800;
double r3208802 = r3208798 - r3208801;
double r3208803 = r3208796 * r3208800;
double r3208804 = r3208799 * r3208797;
double r3208805 = r3208803 + r3208804;
double r3208806 = /* ERROR: no complex support in C */;
double r3208807 = /* ERROR: no complex support in C */;
double r3208808 = r3208806 + r3208807;
double r3208809 = r3208797 * r3208797;
double r3208810 = r3208800 * r3208800;
double r3208811 = r3208809 - r3208810;
double r3208812 = r3208811 * r3208811;
double r3208813 = r3208800 * r3208797;
double r3208814 = r3208813 + r3208813;
double r3208815 = r3208814 * r3208814;
double r3208816 = r3208812 - r3208815;
double r3208817 = r3208814 * r3208811;
double r3208818 = r3208817 + r3208817;
double r3208819 = /* ERROR: no complex support in C */;
double r3208820 = /* ERROR: no complex support in C */;
double r3208821 = r3208820 + r3208806;
double r3208822 = r3208819 * r3208821;
double r3208823 = r3208808 + r3208822;
double r3208824 = 15.0;
double r3208825 = r3208824 * r3208811;
double r3208826 = r3208799 * r3208814;
double r3208827 = r3208825 - r3208826;
double r3208828 = r3208824 * r3208814;
double r3208829 = r3208799 * r3208811;
double r3208830 = r3208828 + r3208829;
double r3208831 = /* ERROR: no complex support in C */;
double r3208832 = 20.0;
double r3208833 = r3208832 * r3208797;
double r3208834 = r3208833 - r3208801;
double r3208835 = r3208832 * r3208800;
double r3208836 = r3208835 + r3208804;
double r3208837 = /* ERROR: no complex support in C */;
double r3208838 = /* ERROR: no complex support in C */;
double r3208839 = r3208837 + r3208838;
double r3208840 = r3208831 + r3208839;
double r3208841 = r3208820 * r3208840;
double r3208842 = r3208823 + r3208841;
double r3208843 = /* ERROR: no complex support in C */;
return r3208843;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019173
(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))))