ab-angle->ABCF C

Time bar (total: 34.0s)

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 16 computations (36% saved)

sample33.2s (97.5%)

Results
2.5s4590×0valid-rival
923.0ms4558×0valid-sollya
9.0s3666×1valid-rival
2.3s3609×1valid-sollya
285.0ms57×1exit-sollya
160.0ms32×0exit-sollya
Bogosity

preprocess774.0ms (2.3%)

Algorithm
egg-herbie
Rules
1584×fma-define
658×unsub-neg
631×fma-neg
446×distribute-lft-neg-in
437×distribute-rgt-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
066893
1135881
2374881
31216881
42123881
53249881
64619881
75293881
85630881
95825881
105916881
115994881
127239881
137468881
147572881
157601881
167633881
177633881
187633881
197633881
207643881
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 (neg.f64 a) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 (neg.f64 b) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(neg.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 a) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64))))
(neg.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 (neg.f64 b) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64))))
(neg.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) #s(literal 180 binary64))))) #s(literal 2 binary64))))
(+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 angle (cos.f64 (*.f64 (PI.f64) (/.f64 a #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 a #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 b #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 angle (sin.f64 (*.f64 (PI.f64) (/.f64 b #s(literal 180 binary64))))) #s(literal 2 binary64)))
Outputs
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 (neg.f64 a) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 (neg.f64 b) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(neg.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 a) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64))))
(neg.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (neg.f64 a)) #s(literal 2 binary64))))
(-.f64 (neg.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(neg.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 (neg.f64 b) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64))))
(neg.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (neg.f64 a)) #s(literal 2 binary64))))
(-.f64 (neg.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(neg.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 (neg.f64 angle) #s(literal 180 binary64))))) #s(literal 2 binary64))))
(neg.f64 (+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (neg.f64 a)) #s(literal 2 binary64))))
(-.f64 (neg.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) b) #s(literal 2 binary64)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64)))) b) #s(literal 2 binary64)) (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 angle (cos.f64 (*.f64 (PI.f64) (/.f64 a #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 a #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 angle (cos.f64 (*.f64 a (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 a (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 angle (cos.f64 (*.f64 a (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 a (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 b #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 angle (sin.f64 (*.f64 (PI.f64) (/.f64 b #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (*.f64 b #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 angle (sin.f64 (*.f64 (PI.f64) (*.f64 b #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
Symmetry

(abs a)

(abs b)

(abs angle)

Compiler

Compiled 24 to 15 computations (37.5% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
79.0%
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
Compiler

Compiled 48 to 30 computations (37.5% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02279
12679
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))
Outputs
(+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(literal 2 binary64)))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 24 to 15 computations (37.5% saved)

preprocess82.0ms (0.2%)

Remove

(abs angle)

(abs b)

(abs a)

Compiler

Compiled 384 to 240 computations (37.5% saved)

end0.0ms (0%)

Profiling

Loading profile data...