\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(1 + 0.0 i\right) + \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)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right)\right) + \left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(20 + 0.0 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right)\right)\right))
double f() {
double r26839 = -1.0;
double r26840 = 1.0;
double r26841 = /* ERROR: no complex support in C */;
double r26842 = r26841 * r26841;
double r26843 = r26842 * r26841;
double r26844 = r26843 * r26841;
double r26845 = r26844 * r26841;
double r26846 = r26845 * r26841;
double r26847 = 6.0;
double r26848 = 0.0;
double r26849 = /* ERROR: no complex support in C */;
double r26850 = r26849 * r26841;
double r26851 = r26850 * r26841;
double r26852 = r26851 * r26841;
double r26853 = r26852 * r26841;
double r26854 = r26853 * r26841;
double r26855 = r26846 + r26854;
double r26856 = 15.0;
double r26857 = /* ERROR: no complex support in C */;
double r26858 = r26857 * r26841;
double r26859 = r26858 * r26841;
double r26860 = r26859 * r26841;
double r26861 = r26860 * r26841;
double r26862 = r26855 + r26861;
double r26863 = 20.0;
double r26864 = /* ERROR: no complex support in C */;
double r26865 = r26864 * r26841;
double r26866 = r26865 * r26841;
double r26867 = r26866 * r26841;
double r26868 = r26862 + r26867;
double r26869 = r26868 + r26859;
double r26870 = r26869 + r26850;
double r26871 = /* ERROR: no complex support in C */;
double r26872 = r26870 + r26871;
double r26873 = /* ERROR: no complex support in C */;
return r26873;
}
double f() {
double r26874 = 1.0;
double r26875 = 0.0;
double r26876 = /* ERROR: no complex support in C */;
double r26877 = 15.0;
double r26878 = /* ERROR: no complex support in C */;
double r26879 = -1.0;
double r26880 = /* ERROR: no complex support in C */;
double r26881 = r26878 * r26880;
double r26882 = 6.0;
double r26883 = /* ERROR: no complex support in C */;
double r26884 = r26881 + r26883;
double r26885 = r26884 * r26880;
double r26886 = r26876 + r26885;
double r26887 = r26880 * r26880;
double r26888 = r26880 * r26887;
double r26889 = r26880 + r26883;
double r26890 = r26888 * r26889;
double r26891 = 20.0;
double r26892 = /* ERROR: no complex support in C */;
double r26893 = r26881 + r26892;
double r26894 = r26893 * r26880;
double r26895 = r26890 + r26894;
double r26896 = r26887 * r26895;
double r26897 = r26886 + r26896;
double r26898 = /* ERROR: no complex support in C */;
return r26898;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019196 +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))))