\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 r33171 = 1.0;
double r33172 = -r33171;
double r33173 = 2.0;
double r33174 = r33172 / r33173;
double r33175 = 3.0;
double r33176 = sqrt(r33175);
double r33177 = r33176 / r33173;
double r33178 = /* ERROR: no complex support in C */;
double r33179 = r33178 * r33178;
double r33180 = r33179 * r33178;
double r33181 = r33180 * r33178;
double r33182 = -r33173;
double r33183 = 0.0;
double r33184 = /* ERROR: no complex support in C */;
double r33185 = r33184 * r33178;
double r33186 = r33185 * r33178;
double r33187 = r33186 * r33178;
double r33188 = r33181 + r33187;
double r33189 = 5.0;
double r33190 = /* ERROR: no complex support in C */;
double r33191 = r33190 * r33178;
double r33192 = r33191 * r33178;
double r33193 = r33188 + r33192;
double r33194 = 4.0;
double r33195 = /* ERROR: no complex support in C */;
double r33196 = r33195 * r33178;
double r33197 = r33193 + r33196;
double r33198 = 7.0;
double r33199 = /* ERROR: no complex support in C */;
double r33200 = r33197 + r33199;
double r33201 = /* ERROR: no complex support in C */;
return r33201;
}
double f() {
double r33202 = 1.0;
double r33203 = -r33202;
double r33204 = 2.0;
double r33205 = r33203 / r33204;
double r33206 = 3.0;
double r33207 = sqrt(r33206);
double r33208 = r33207 / r33204;
double r33209 = /* ERROR: no complex support in C */;
double r33210 = r33209 * r33209;
double r33211 = r33210 * r33209;
double r33212 = r33211 * r33209;
double r33213 = -r33204;
double r33214 = 0.0;
double r33215 = /* ERROR: no complex support in C */;
double r33216 = r33215 * r33209;
double r33217 = r33216 * r33209;
double r33218 = r33217 * r33209;
double r33219 = r33212 + r33218;
double r33220 = 5.0;
double r33221 = /* ERROR: no complex support in C */;
double r33222 = r33221 * r33209;
double r33223 = r33222 * r33209;
double r33224 = r33219 + r33223;
double r33225 = 4.0;
double r33226 = /* ERROR: no complex support in C */;
double r33227 = r33226 * r33209;
double r33228 = r33224 + r33227;
double r33229 = 7.0;
double r33230 = /* ERROR: no complex support in C */;
double r33231 = r33228 + r33230;
double r33232 = /* ERROR: no complex support in C */;
return r33232;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2019347
(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))))