\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(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right) + \left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right)\right)\right)\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
double r42927 = -1.0;
double r42928 = 1.0;
double r42929 = /* ERROR: no complex support in C */;
double r42930 = r42929 * r42929;
double r42931 = r42930 * r42929;
double r42932 = r42931 * r42929;
double r42933 = r42932 * r42929;
double r42934 = r42933 * r42929;
double r42935 = 6.0;
double r42936 = 0.0;
double r42937 = /* ERROR: no complex support in C */;
double r42938 = r42937 * r42929;
double r42939 = r42938 * r42929;
double r42940 = r42939 * r42929;
double r42941 = r42940 * r42929;
double r42942 = r42941 * r42929;
double r42943 = r42934 + r42942;
double r42944 = 15.0;
double r42945 = /* ERROR: no complex support in C */;
double r42946 = r42945 * r42929;
double r42947 = r42946 * r42929;
double r42948 = r42947 * r42929;
double r42949 = r42948 * r42929;
double r42950 = r42943 + r42949;
double r42951 = 20.0;
double r42952 = /* ERROR: no complex support in C */;
double r42953 = r42952 * r42929;
double r42954 = r42953 * r42929;
double r42955 = r42954 * r42929;
double r42956 = r42950 + r42955;
double r42957 = r42956 + r42947;
double r42958 = r42957 + r42938;
double r42959 = /* ERROR: no complex support in C */;
double r42960 = r42958 + r42959;
double r42961 = /* ERROR: no complex support in C */;
return r42961;
}
double f() {
double r42962 = 6.0;
double r42963 = 0.0;
double r42964 = /* ERROR: no complex support in C */;
double r42965 = -1.0;
double r42966 = 1.0;
double r42967 = /* ERROR: no complex support in C */;
double r42968 = r42964 * r42967;
double r42969 = 15.0;
double r42970 = /* ERROR: no complex support in C */;
double r42971 = r42967 * r42970;
double r42972 = r42967 * r42971;
double r42973 = 20.0;
double r42974 = /* ERROR: no complex support in C */;
double r42975 = r42974 * r42967;
double r42976 = r42967 * r42975;
double r42977 = r42976 * r42967;
double r42978 = r42967 * r42968;
double r42979 = r42978 * r42967;
double r42980 = r42967 * r42979;
double r42981 = r42980 * r42967;
double r42982 = r42967 * r42967;
double r42983 = r42982 * r42967;
double r42984 = r42967 * r42983;
double r42985 = r42967 * r42984;
double r42986 = r42985 * r42967;
double r42987 = r42981 + r42986;
double r42988 = r42967 * r42972;
double r42989 = r42967 * r42988;
double r42990 = r42987 + r42989;
double r42991 = r42977 + r42990;
double r42992 = r42972 + r42991;
double r42993 = r42968 + r42992;
double r42994 = /* ERROR: no complex support in C */;
double r42995 = r42993 + r42994;
double r42996 = /* ERROR: no complex support in C */;
return r42996;
}
Initial program 0
Final simplification0
herbie shell --seed 2019174 +o rules:numerics
(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))))