\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r38062 = 1.0;
double r38063 = -r38062;
double r38064 = 2.0;
double r38065 = r38063 / r38064;
double r38066 = 3.0;
double r38067 = sqrt(r38066);
double r38068 = r38067 / r38064;
double r38069 = /* ERROR: no complex support in C */;
double r38070 = r38069 * r38069;
double r38071 = r38070 * r38069;
double r38072 = r38071 * r38069;
double r38073 = -r38064;
double r38074 = 0.0;
double r38075 = /* ERROR: no complex support in C */;
double r38076 = r38075 * r38069;
double r38077 = r38076 * r38069;
double r38078 = r38077 * r38069;
double r38079 = r38072 + r38078;
double r38080 = 5.0;
double r38081 = /* ERROR: no complex support in C */;
double r38082 = r38081 * r38069;
double r38083 = r38082 * r38069;
double r38084 = r38079 + r38083;
double r38085 = 4.0;
double r38086 = /* ERROR: no complex support in C */;
double r38087 = r38086 * r38069;
double r38088 = r38084 + r38087;
double r38089 = 7.0;
double r38090 = /* ERROR: no complex support in C */;
double r38091 = r38088 + r38090;
double r38092 = /* ERROR: no complex support in C */;
return r38092;
}
double f() {
double r38093 = 1.0;
double r38094 = -r38093;
double r38095 = 2.0;
double r38096 = r38094 / r38095;
double r38097 = 3.0;
double r38098 = sqrt(r38097);
double r38099 = r38098 / r38095;
double r38100 = /* ERROR: no complex support in C */;
double r38101 = r38100 * r38100;
double r38102 = r38101 * r38100;
double r38103 = r38102 * r38100;
double r38104 = -r38095;
double r38105 = 0.0;
double r38106 = /* ERROR: no complex support in C */;
double r38107 = r38106 * r38100;
double r38108 = r38107 * r38100;
double r38109 = r38108 * r38100;
double r38110 = r38103 + r38109;
double r38111 = 5.0;
double r38112 = /* ERROR: no complex support in C */;
double r38113 = r38112 * r38100;
double r38114 = r38113 * r38100;
double r38115 = r38110 + r38114;
double r38116 = 4.0;
double r38117 = /* ERROR: no complex support in C */;
double r38118 = r38117 * r38100;
double r38119 = r38115 + r38118;
double r38120 = 7.0;
double r38121 = /* ERROR: no complex support in C */;
double r38122 = r38119 + r38121;
double r38123 = /* ERROR: no complex support in C */;
return r38123;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020014 +o rules:numerics
(FPCore ()
:name "3.9.2 real part (p56)"
:precision binary64
(re (+ (+ (+ (+ (* (* (* (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (* (* (* (complex (- 2) 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (* (complex 5 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (complex 4 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0.0))))