ab-angle->ABCF A

Time bar (total: 3.9s)

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 25 to 20 computations (20% saved)

sample3.5s (89.8%)

Results
993.0ms1072×body1024valid
789.0ms848×body1024infinite
666.0ms3621×body256valid
307.0ms1675×body256infinite
279.0ms526×body512valid
220.0ms399×body512infinite
165.0ms112×body2048valid
14.0msbody4096valid
Bogosity

preprocess398.0ms (10.2%)

Algorithm
egg-herbie
Rules
2152×fma-def
976×unswap-sqr
790×unsub-neg
684×fma-neg
642×distribute-lft-neg-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
066893
1161881
2445881
31579881
43049881
55666881
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 (neg.f64 a) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (neg.f64 b) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2))
(neg.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 a) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)))
(neg.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (neg.f64 b) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)))
(neg.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2)))
(+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2) (pow.f64 (*.f64 angle (cos.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2))
Outputs
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2))
(+.f64 (pow.f64 (*.f64 (neg.f64 a) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (neg.f64 b) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2))
(neg.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 a) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)))
(neg.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (neg.f64 a)) 2)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2)) (pow.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2))
(neg.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (neg.f64 b) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)))
(neg.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (neg.f64 a)) 2)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2)) (pow.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2))
(neg.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (neg.f64 angle) 180) (PI.f64)))) 2)))
(neg.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (neg.f64 a)) 2)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2)) (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2)) (pow.f64 (*.f64 a (sin.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2))
(+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2) (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (/.f64 (PI.f64) 180))) b) 2) (pow.f64 (*.f64 a (cos.f64 (*.f64 angle (/.f64 (PI.f64) 180)))) 2))
(+.f64 (pow.f64 (*.f64 (sin.f64 (/.f64 angle (/.f64 180 (PI.f64)))) b) 2) (pow.f64 (*.f64 a (cos.f64 (/.f64 angle (/.f64 180 (PI.f64))))) 2))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 (PI.f64) (/.f64 a 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (PI.f64) (/.f64 a 180)))) 2))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (/.f64 a (/.f64 180 (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (/.f64 a (/.f64 180 (PI.f64))))) 2))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 (/.f64 (PI.f64) 180) a))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (PI.f64) 180) a))) 2))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 a (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 a (/.f64 (PI.f64) 180)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2) (pow.f64 (*.f64 angle (cos.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 b 180)))) 2) (pow.f64 (*.f64 angle (cos.f64 (*.f64 (PI.f64) (/.f64 b 180)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (PI.f64) 180) b))) 2) (pow.f64 (*.f64 angle (cos.f64 (*.f64 (/.f64 (PI.f64) 180) b))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 b (/.f64 (PI.f64) 180)))) 2) (pow.f64 (*.f64 angle (cos.f64 (*.f64 b (/.f64 (PI.f64) 180)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (/.f64 b (/.f64 180 (PI.f64))))) 2) (pow.f64 (*.f64 angle (cos.f64 (/.f64 b (/.f64 180 (PI.f64))))) 2))
Symmetry

(abs a)

(abs b)

(abs angle)

Compiler

Compiled 174 to 118 computations (32.2% saved)

end0.0ms (0%)

Profiling

Loading profile data...