\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(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right)\right)\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(15 + 0.0 i\right)\right)\right) + \left(6 + 0.0 i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
double r9926 = -1.0;
double r9927 = 1.0;
double r9928 = /* ERROR: no complex support in C */;
double r9929 = r9928 * r9928;
double r9930 = r9929 * r9928;
double r9931 = r9930 * r9928;
double r9932 = r9931 * r9928;
double r9933 = r9932 * r9928;
double r9934 = 6.0;
double r9935 = 0.0;
double r9936 = /* ERROR: no complex support in C */;
double r9937 = r9936 * r9928;
double r9938 = r9937 * r9928;
double r9939 = r9938 * r9928;
double r9940 = r9939 * r9928;
double r9941 = r9940 * r9928;
double r9942 = r9933 + r9941;
double r9943 = 15.0;
double r9944 = /* ERROR: no complex support in C */;
double r9945 = r9944 * r9928;
double r9946 = r9945 * r9928;
double r9947 = r9946 * r9928;
double r9948 = r9947 * r9928;
double r9949 = r9942 + r9948;
double r9950 = 20.0;
double r9951 = /* ERROR: no complex support in C */;
double r9952 = r9951 * r9928;
double r9953 = r9952 * r9928;
double r9954 = r9953 * r9928;
double r9955 = r9949 + r9954;
double r9956 = r9955 + r9946;
double r9957 = r9956 + r9937;
double r9958 = /* ERROR: no complex support in C */;
double r9959 = r9957 + r9958;
double r9960 = /* ERROR: no complex support in C */;
return r9960;
}
double f() {
double r9961 = -1.0;
double r9962 = 1.0;
double r9963 = /* ERROR: no complex support in C */;
double r9964 = r9963 * r9963;
double r9965 = 15.0;
double r9966 = 0.0;
double r9967 = /* ERROR: no complex support in C */;
double r9968 = r9967 * r9963;
double r9969 = 6.0;
double r9970 = /* ERROR: no complex support in C */;
double r9971 = r9963 + r9970;
double r9972 = r9964 * r9971;
double r9973 = r9968 + r9972;
double r9974 = r9964 * r9973;
double r9975 = r9963 * r9974;
double r9976 = 20.0;
double r9977 = /* ERROR: no complex support in C */;
double r9978 = r9977 * r9963;
double r9979 = r9978 + r9967;
double r9980 = r9963 * r9979;
double r9981 = r9980 + r9970;
double r9982 = r9963 * r9981;
double r9983 = r9975 + r9982;
double r9984 = /* ERROR: no complex support in C */;
double r9985 = r9983 + r9984;
double r9986 = /* ERROR: no complex support in C */;
return r9986;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019310 +o rules:numerics
(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))))