\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(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0.0 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) + \left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
double r20798 = -1.0;
double r20799 = 1.0;
double r20800 = /* ERROR: no complex support in C */;
double r20801 = r20800 * r20800;
double r20802 = r20801 * r20800;
double r20803 = r20802 * r20800;
double r20804 = r20803 * r20800;
double r20805 = r20804 * r20800;
double r20806 = 6.0;
double r20807 = 0.0;
double r20808 = /* ERROR: no complex support in C */;
double r20809 = r20808 * r20800;
double r20810 = r20809 * r20800;
double r20811 = r20810 * r20800;
double r20812 = r20811 * r20800;
double r20813 = r20812 * r20800;
double r20814 = r20805 + r20813;
double r20815 = 15.0;
double r20816 = /* ERROR: no complex support in C */;
double r20817 = r20816 * r20800;
double r20818 = r20817 * r20800;
double r20819 = r20818 * r20800;
double r20820 = r20819 * r20800;
double r20821 = r20814 + r20820;
double r20822 = 20.0;
double r20823 = /* ERROR: no complex support in C */;
double r20824 = r20823 * r20800;
double r20825 = r20824 * r20800;
double r20826 = r20825 * r20800;
double r20827 = r20821 + r20826;
double r20828 = r20827 + r20818;
double r20829 = r20828 + r20809;
double r20830 = /* ERROR: no complex support in C */;
double r20831 = r20829 + r20830;
double r20832 = /* ERROR: no complex support in C */;
return r20832;
}
double f() {
double r20833 = 15.0;
double r20834 = 0.0;
double r20835 = /* ERROR: no complex support in C */;
double r20836 = -1.0;
double r20837 = 1.0;
double r20838 = /* ERROR: no complex support in C */;
double r20839 = r20835 * r20838;
double r20840 = 6.0;
double r20841 = /* ERROR: no complex support in C */;
double r20842 = r20839 + r20841;
double r20843 = r20842 * r20838;
double r20844 = r20838 + r20841;
double r20845 = r20838 * r20838;
double r20846 = r20838 * r20845;
double r20847 = r20844 * r20846;
double r20848 = 20.0;
double r20849 = /* ERROR: no complex support in C */;
double r20850 = r20849 + r20839;
double r20851 = r20838 * r20850;
double r20852 = r20847 + r20851;
double r20853 = r20852 * r20845;
double r20854 = r20843 + r20853;
double r20855 = /* ERROR: no complex support in C */;
double r20856 = r20854 + r20855;
double r20857 = /* ERROR: no complex support in C */;
return r20857;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019196
(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))))