ABCF->ab-angle angle

Time bar (total: 3.5s)

analyze118.0ms (3.4%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
50%49.9%49.9%0.1%0%0%0%3
50%49.9%49.9%0.1%0%0%0%4
50%49.9%49.9%0.1%0%0%0%5
75%74.9%25%0.1%0%0%0%6
75%74.9%25%0.1%0%0%0%7
75%74.9%25%0.1%0%0%0%8
87.5%87.4%12.5%0.1%0%0%0%9
87.5%87.4%12.5%0.1%0%0%0%10
87.5%87.4%12.5%0.1%0%0%0%11
93.8%93.6%6.2%0.1%0%0%0%12
Compiler

Compiled 27 to 21 computations (22.2% saved)

sample2.9s (84.8%)

Results
1.1s5647×body256valid
907.0ms973×body4096valid
583.0ms883×body2048valid
241.0ms499×body1024valid
88.0ms254×body512valid
Bogosity

preprocess409.0ms (11.8%)

Algorithm
egg-herbie
Rules
555×distribute-lft-in
413×distribute-rgt-in
412×*-commutative
349×times-frac
334×associate-/r*
Problems
123×(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
77×No Errors
42×(-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))
14×(*.f64 (/.f64 1 B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0931027
1242761
2686753
32557745
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 C (neg.f64 A)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (neg.f64 A) C) 2) (pow.f64 B 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 (neg.f64 B)) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 (neg.f64 B) 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 (neg.f64 C) A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A (neg.f64 C)) 2) (pow.f64 B 2)))))) (PI.f64)))
(neg.f64 (*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 C (neg.f64 A)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (neg.f64 A) C) 2) (pow.f64 B 2)))))) (PI.f64))))
(neg.f64 (*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 (neg.f64 B)) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 (neg.f64 B) 2)))))) (PI.f64))))
(neg.f64 (*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 (neg.f64 C) A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A (neg.f64 C)) 2) (pow.f64 B 2)))))) (PI.f64))))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 A) (-.f64 (-.f64 C B) (sqrt.f64 (+.f64 (pow.f64 (-.f64 B C) 2) (pow.f64 A 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 C A) 2) (pow.f64 B 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 C) (-.f64 (-.f64 B A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A B) 2) (pow.f64 C 2)))))) (PI.f64)))
Outputs
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 C (+.f64 A (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))) B)) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 C (+.f64 A (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))) B)) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 C (neg.f64 A)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (neg.f64 A) C) 2) (pow.f64 B 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 C (+.f64 (neg.f64 A) (sqrt.f64 (+.f64 (pow.f64 B 2) (pow.f64 (-.f64 (neg.f64 A) C) 2))))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (+.f64 C A) (hypot.f64 B (-.f64 (neg.f64 A) C))) B)) (PI.f64)))
(*.f64 (/.f64 180 (PI.f64)) (atan.f64 (/.f64 (-.f64 C (-.f64 (hypot.f64 B (+.f64 C A)) A)) B)))
(*.f64 (atan.f64 (/.f64 (+.f64 C (-.f64 A (hypot.f64 B (+.f64 C A)))) B)) (/.f64 180 (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 (neg.f64 B)) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 (neg.f64 B) 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))) (neg.f64 B))) (PI.f64)))
(*.f64 (/.f64 180 (PI.f64)) (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))) (neg.f64 B))))
(*.f64 (atan.f64 (/.f64 (+.f64 (-.f64 A C) (hypot.f64 B (-.f64 A C))) B)) (/.f64 180 (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 (neg.f64 C) A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A (neg.f64 C)) 2) (pow.f64 B 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 (neg.f64 C) A) (sqrt.f64 (+.f64 (pow.f64 B 2) (pow.f64 (-.f64 A (neg.f64 C)) 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (neg.f64 A) C) (hypot.f64 B (+.f64 C A))) B)) (PI.f64)))
(*.f64 (/.f64 180 (PI.f64)) (atan.f64 (/.f64 (-.f64 (-.f64 (neg.f64 A) C) (hypot.f64 B (+.f64 C A))) B)))
(*.f64 (atan.f64 (/.f64 (-.f64 (neg.f64 A) (+.f64 C (hypot.f64 B (+.f64 C A)))) B)) (/.f64 180 (PI.f64)))
(neg.f64 (*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 C (neg.f64 A)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 (neg.f64 A) C) 2) (pow.f64 B 2)))))) (PI.f64))))
(*.f64 -180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 C (+.f64 (neg.f64 A) (sqrt.f64 (+.f64 (pow.f64 B 2) (pow.f64 (-.f64 (neg.f64 A) C) 2))))))) (PI.f64)))
(*.f64 (/.f64 (atan.f64 (/.f64 (-.f64 (+.f64 C A) (hypot.f64 B (-.f64 (neg.f64 A) C))) B)) (PI.f64)) -180)
(*.f64 (/.f64 (atan.f64 (/.f64 (-.f64 C (-.f64 (hypot.f64 B (+.f64 C A)) A)) B)) (PI.f64)) -180)
(*.f64 (/.f64 (atan.f64 (/.f64 (+.f64 C (-.f64 A (hypot.f64 B (+.f64 C A)))) B)) (PI.f64)) -180)
(neg.f64 (*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 (neg.f64 B)) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 (neg.f64 B) 2)))))) (PI.f64))))
(*.f64 -180 (/.f64 (atan.f64 (*.f64 (/.f64 1 (neg.f64 B)) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 (neg.f64 B) 2)))))) (PI.f64)))
(*.f64 (/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 A C)))) (neg.f64 B))) (PI.f64)) -180)
(*.f64 (/.f64 (atan.f64 (/.f64 (+.f64 (-.f64 A C) (hypot.f64 B (-.f64 A C))) B)) (PI.f64)) -180)
(neg.f64 (*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 (neg.f64 C) A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A (neg.f64 C)) 2) (pow.f64 B 2)))))) (PI.f64))))
(*.f64 -180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 (neg.f64 C) A) (sqrt.f64 (+.f64 (pow.f64 B 2) (pow.f64 (-.f64 A (neg.f64 C)) 2)))))) (PI.f64)))
(*.f64 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (neg.f64 A) C) (hypot.f64 B (+.f64 C A))) B)) (PI.f64)) -180)
(/.f64 (*.f64 (atan.f64 (/.f64 (-.f64 (-.f64 (neg.f64 A) C) (hypot.f64 B (+.f64 C A))) B)) -180) (PI.f64))
(*.f64 (/.f64 -180 (PI.f64)) (atan.f64 (/.f64 (-.f64 (neg.f64 A) (+.f64 C (hypot.f64 B (+.f64 C A)))) B)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 A) (-.f64 (-.f64 C B) (sqrt.f64 (+.f64 (pow.f64 (-.f64 B C) 2) (pow.f64 A 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 C B) (hypot.f64 A (-.f64 B C))) A)) (PI.f64)))
(*.f64 (/.f64 180 (PI.f64)) (atan.f64 (/.f64 (-.f64 C (+.f64 B (hypot.f64 A (-.f64 B C)))) A)))
(*.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 B (hypot.f64 A (-.f64 B C)))) A)) (/.f64 180 (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 C A) 2) (pow.f64 B 2)))))) (PI.f64)))
(/.f64 (*.f64 180 (atan.f64 (*.f64 (/.f64 1 B) (-.f64 (-.f64 A C) (sqrt.f64 (+.f64 (pow.f64 B 2) (pow.f64 (-.f64 C A) 2))))))) (PI.f64))
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 A C) (hypot.f64 B (-.f64 C A))) B)) (PI.f64)))
(*.f64 (/.f64 180 (PI.f64)) (atan.f64 (/.f64 (-.f64 (-.f64 A C) (hypot.f64 B (-.f64 A C))) B)))
(*.f64 (atan.f64 (/.f64 (-.f64 A (+.f64 C (hypot.f64 B (-.f64 A C)))) B)) (/.f64 180 (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 C) (-.f64 (-.f64 B A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A B) 2) (pow.f64 C 2)))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (*.f64 (/.f64 1 C) (-.f64 B (+.f64 A (sqrt.f64 (+.f64 (pow.f64 (-.f64 A B) 2) (pow.f64 C 2))))))) (PI.f64)))
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 B (+.f64 A (hypot.f64 C (-.f64 A B)))) C)) (PI.f64)))
(*.f64 (/.f64 180 (PI.f64)) (atan.f64 (/.f64 (-.f64 (-.f64 B A) (hypot.f64 C (-.f64 A B))) C)))
(*.f64 (atan.f64 (/.f64 (-.f64 (-.f64 B A) (hypot.f64 C (-.f64 A B))) C)) (/.f64 180 (PI.f64)))
Compiler

Compiled 142 to 81 computations (43% saved)

end0.0ms (0%)

Profiling

Loading profile data...