ab-angle->ABCF B

Time bar (total: 3.2s)

analyze1.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 27 to 22 computations (18.5% saved)

sample2.9s (89.9%)

Results
702.0ms3844×body256valid
643.0ms1027×body1024valid
538.0ms882×body1024infinite
278.0ms1399×body256infinite
208.0ms56×body4096valid
206.0ms486×body512valid
186.0ms449×body512infinite
115.0ms113×body2048valid
Bogosity

preprocess326.0ms (10.1%)

Algorithm
egg-herbie
Rules
542×*-commutative
526×associate--r+
501×distribute-lft-in
453×distribute-rgt-in
386×fma-def
Problems
90×No Errors
72×(sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))
66×(cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))
22×(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
066967
1176967
2621935
31887935
45682935
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 (neg.f64 b) 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180))))
(neg.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))
(neg.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 (neg.f64 b) 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))
(neg.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180)))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 angle 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 a 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 a 180))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 angle 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 b 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 b 180))))
Outputs
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))))
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))
(*.f64 (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 (sin.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 2 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))))
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))
(*.f64 (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 (sin.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 2 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))))
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))
(*.f64 (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 (sin.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 2 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 (neg.f64 b) 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))))
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))
(*.f64 (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 (sin.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 2 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180))))
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180)))))
(*.f64 2 (*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (sin.f64 (*.f64 (/.f64 (PI.f64) -180) angle)))))
(neg.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 (neg.f64 a) 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180))))
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180)))))
(*.f64 2 (*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (sin.f64 (*.f64 (/.f64 (PI.f64) -180) angle)))))
(neg.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 (neg.f64 b) 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180))))
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180)))))
(*.f64 2 (*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (sin.f64 (*.f64 (/.f64 (PI.f64) -180) angle)))))
(neg.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180)))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))))
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))))
(*.f64 (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 (sin.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 2 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180))))
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) 180)))))
(*.f64 2 (*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (*.f64 (cos.f64 (*.f64 (/.f64 (PI.f64) -180) angle)) (sin.f64 (*.f64 (/.f64 (PI.f64) -180) angle)))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 angle 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 a 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 a 180))))
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 angle 2))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 a 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 a 180)))))
(*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 angle 2)) (*.f64 (sin.f64 (*.f64 a (/.f64 (PI.f64) 180))) (cos.f64 (*.f64 a (/.f64 (PI.f64) 180))))))
(*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 angle 2)) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 a 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 a 180))))))
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 angle 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 b 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 b 180))))
(*.f64 (*.f64 2 (-.f64 (pow.f64 angle 2) (pow.f64 a 2))) (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 b 180))) (cos.f64 (*.f64 (PI.f64) (/.f64 b 180)))))
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 b 180))) (*.f64 (*.f64 2 (-.f64 (pow.f64 angle 2) (pow.f64 a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 b 180)))))
(*.f64 2 (*.f64 (-.f64 (pow.f64 angle 2) (pow.f64 a 2)) (*.f64 (sin.f64 (/.f64 b (/.f64 180 (PI.f64)))) (cos.f64 (/.f64 b (/.f64 180 (PI.f64)))))))
(*.f64 (-.f64 (pow.f64 angle 2) (pow.f64 a 2)) (*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 b 180))) (*.f64 2 (sin.f64 (*.f64 (PI.f64) (/.f64 b 180))))))
Symmetry

(abs a)

(abs b)

(negabs angle)

Compiler

Compiled 91 to 65 computations (28.6% saved)

end0.0ms (0%)

Profiling

Loading profile data...