Details

Time bar (total: 7.6s)

analyze371.0ms (4.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
49.9%49.9%0.1%3
49.9%49.9%0.1%4
49.9%49.9%0.1%5
74.9%25%0.1%6
74.9%25%0.1%7
74.9%25%0.1%8
87.4%12.5%0.1%9
87.4%12.5%0.1%10
87.4%12.5%0.1%11
93.6%6.2%0.1%12
93.6%6.2%0.1%13
93.6%6.2%0.1%14
Compiler

Compiled 27 to 21 computations (22.2% saved)

sample94.0ms (1.2%)

Algorithm
intervals
Results
31.0ms32×body4096valid
22.0ms29×body2048valid
21.0ms173×body128valid
6.0ms11×body1024valid
3.0msbody512valid
1.0msbody256valid
Compiler

Compiled 56 to 44 computations (21.4% saved)

simplify78.0ms (1%)

Algorithm
egg-herbie
Rules
652×div-sub_binary64
554×fma-neg_binary64
550×hypot-def_binary64
431×fma-def_binary64
378×cancel-sign-sub-inv_binary64
Counts
1 → 1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02036
14425
29625
326425
470625
5222325
6417525
7482525
8498325

prune4.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
12.6b
Counts
2 → 2
Alt Table
StatusErrorProgram
12.7b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 C A) (hypot.f64 B (-.f64 C A))) B)) PI.f64))
30.1b
(*.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))
Compiler

Compiled 109 to 76 computations (30.3% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(/.f64 (-.f64 (-.f64 C A) (hypot.f64 B (-.f64 C A))) B)
0.0b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 C A) (hypot.f64 B (-.f64 C A))) B)) PI.f64))
0.0b
(/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 C A) (hypot.f64 B (-.f64 C A))) B)) PI.f64)
0.3b
(-.f64 (-.f64 C A) (hypot.f64 B (-.f64 C A)))

rewrite173.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
12.5b
Rules
81×*-un-lft-identity_binary64
71×add-sqr-sqrt_binary64
48×add-cube-cbrt_binary64
37×times-frac_binary64
24×prod-diff_binary64
Counts
4 → 161
Calls

4 calls:

11.0ms
(/.f64 (-.f64 (-.f64 C A) (hypot.f64 B (-.f64 C A))) B)
7.0ms
(-.f64 (-.f64 C A) (hypot.f64 B (-.f64 C A)))
7.0ms
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 C A) (hypot.f64 B (-.f64 C A))) B)) PI.f64))
4.0ms
(/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 C A) (hypot.f64 B (-.f64 C A))) B)) PI.f64)
Compiler

Compiled 4492 to 1007 computations (77.6% saved)

series277.0ms (3.7%)

Error
0.2b
Counts
4 → 76
Calls

4 calls:

82.0ms
(/.f64 (-.f64 (-.f64 C A) (hypot.f64 B (-.f64 C A))) B)
82.0ms
(-.f64 (-.f64 C A) (hypot.f64 B (-.f64 C A)))
31.0ms
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 C A) (hypot.f64 B (-.f64 C A))) B)) PI.f64))
29.0ms
(/.f64 (atan.f64 (/.f64 (-.f64 (-.f64 C A) (hypot.f64 B (-.f64 C A))) B)) PI.f64)
Compiler

Compiled 5271 to 3866 computations (26.7% saved)

simplify184.0ms (2.4%)

Algorithm
egg-herbie
Rules
401×fma-def_binary64
347×associate-/l*_binary64
213×times-frac_binary64
197×associate-*l*_binary64
184×associate-*r/_binary64
Counts
237 → 192
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
07367907
118346902
249096900
349756900

prune106.0ms (1.4%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1839192
Fresh101
Picked101
Done000
Total1859194
Error
0.4b
Counts
194 → 9
Alt Table
StatusErrorProgram
21.3b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (neg.f64 (+.f64 A (hypot.f64 A B))) B)) PI.f64))
17.1b
(*.f64 180 (/.f64 1 (/.f64 PI.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)))))
45.1b
(*.f64 180 (/.f64 (atan.f64 (*.f64 (+.f64 (sqrt.f64 (hypot.f64 B (-.f64 C A))) (sqrt.f64 (-.f64 C A))) (/.f64 (-.f64 (sqrt.f64 (-.f64 C A)) (sqrt.f64 (hypot.f64 B (-.f64 C A)))) B))) PI.f64))
17.1b
(*.f64 180 (log.f64 (exp.f64 (/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)) PI.f64))))
40.5b
(*.f64 180 (/.f64 (atan.f64 (*.f64 1/2 (+.f64 (/.f64 C (/.f64 (*.f64 A A) B)) (/.f64 B A)))) PI.f64))
42.5b
(*.f64 180 (/.f64 (atan.f64 (*.f64 -1/2 (+.f64 (/.f64 B C) (/.f64 A (/.f64 (*.f64 C C) B))))) PI.f64))
46.9b
(*.f64 180 (/.f64 (atan.f64 (/.f64 1/2 (/.f64 B (+.f64 (/.f64 (*.f64 (*.f64 B B) C) (*.f64 A A)) (/.f64 (*.f64 B B) A))))) PI.f64))
46.6b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (*.f64 1/2 (/.f64 (*.f64 B B) A)) B)) PI.f64))
23.5b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 C (hypot.f64 B C)) B)) PI.f64))
Compiler

Compiled 4640 to 1625 computations (65% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)) PI.f64)
0.2b
(-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A))))
0.9b
(+.f64 A (hypot.f64 B (-.f64 C A)))
1.5b
(log.f64 (exp.f64 (/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)) PI.f64)))

rewrite88.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0.4b
Rules
45×*-un-lft-identity_binary64
32×add-sqr-sqrt_binary64
30×add-cube-cbrt_binary64
18×times-frac_binary64
14×log-pow_binary64
Counts
4 → 110
Calls

4 calls:

7.0ms
(-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A))))
3.0ms
(log.f64 (exp.f64 (/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)) PI.f64)))
3.0ms
(+.f64 A (hypot.f64 B (-.f64 C A)))
2.0ms
(/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)) PI.f64)
Compiler

Compiled 3326 to 841 computations (74.7% saved)

series328.0ms (4.3%)

Error
0.4b
Counts
4 → 78
Calls

4 calls:

114.0ms
(-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A))))
67.0ms
(+.f64 A (hypot.f64 B (-.f64 C A)))
65.0ms
(log.f64 (exp.f64 (/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)) PI.f64)))
27.0ms
(/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)) PI.f64)
Compiler

Compiled 5503 to 4142 computations (24.7% saved)

simplify169.0ms (2.2%)

Algorithm
egg-herbie
Rules
902×fma-neg_binary64
253×fma-def_binary64
236×+-commutative_binary64
199×sub-neg_binary64
177×associate--r+_binary64
Counts
188 → 135
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
07316289
116095562
246095560
354375560

prune69.0ms (0.9%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1350135
Fresh088
Picked011
Done000
Total1359144
Error
0.4b
Counts
144 → 9
Alt Table
StatusErrorProgram
21.3b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (neg.f64 (+.f64 A (hypot.f64 A B))) B)) PI.f64))
17.1b
(*.f64 180 (/.f64 1 (/.f64 PI.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)))))
45.1b
(*.f64 180 (/.f64 (atan.f64 (*.f64 (+.f64 (sqrt.f64 (hypot.f64 B (-.f64 C A))) (sqrt.f64 (-.f64 C A))) (/.f64 (-.f64 (sqrt.f64 (-.f64 C A)) (sqrt.f64 (hypot.f64 B (-.f64 C A)))) B))) PI.f64))
17.1b
(*.f64 180 (log.f64 (exp.f64 (/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)) PI.f64))))
40.5b
(*.f64 180 (/.f64 (atan.f64 (*.f64 1/2 (+.f64 (/.f64 C (/.f64 (*.f64 A A) B)) (/.f64 B A)))) PI.f64))
42.5b
(*.f64 180 (/.f64 (atan.f64 (*.f64 -1/2 (+.f64 (/.f64 B C) (/.f64 A (/.f64 (*.f64 C C) B))))) PI.f64))
46.9b
(*.f64 180 (/.f64 (atan.f64 (/.f64 1/2 (/.f64 B (+.f64 (/.f64 (*.f64 (*.f64 B B) C) (*.f64 A A)) (/.f64 (*.f64 B B) A))))) PI.f64))
46.6b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (*.f64 1/2 (/.f64 (*.f64 B B) A)) B)) PI.f64))
23.5b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 C (hypot.f64 B C)) B)) PI.f64))
Compiler

Compiled 2764 to 1149 computations (58.4% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(/.f64 1 (/.f64 PI.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B))))
0.0b
(/.f64 PI.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)))
0.2b
(-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A))))
0.9b
(+.f64 A (hypot.f64 B (-.f64 C A)))

rewrite128.0ms (1.7%)

Algorithm
rewrite-expression-head
Error
0.4b
Rules
84×times-frac_binary64
79×*-un-lft-identity_binary64
66×add-sqr-sqrt_binary64
64×add-cube-cbrt_binary64
17×add-exp-log_binary64
Counts
4 → 161
Calls

4 calls:

6.0ms
(-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A))))
4.0ms
(/.f64 1 (/.f64 PI.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B))))
3.0ms
(+.f64 A (hypot.f64 B (-.f64 C A)))
2.0ms
(/.f64 PI.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)))
Compiler

Compiled 5153 to 1356 computations (73.7% saved)

series274.0ms (3.6%)

Error
0.4b
Counts
4 → 78
Calls

4 calls:

84.0ms
(-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A))))
76.0ms
(+.f64 A (hypot.f64 B (-.f64 C A)))
37.0ms
(/.f64 PI.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)))
23.0ms
(/.f64 1 (/.f64 PI.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B))))
Compiler

Compiled 5501 to 4115 computations (25.2% saved)

simplify207.0ms (2.7%)

Algorithm
egg-herbie
Rules
892×fma-neg_binary64
253×fma-def_binary64
203×sub-neg_binary64
191×associate-/r/_binary64
178×associate--r+_binary64
Counts
239 → 181
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
06818634
117147717
248677716
356887716

prune87.0ms (1.2%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1783181
Fresh167
Picked011
Done011
Total17911190
Error
0.3b
Counts
190 → 11
Alt Table
StatusErrorProgram
21.3b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (neg.f64 (+.f64 A (hypot.f64 A B))) B)) PI.f64))
48.9b
(*.f64 (/.f64 180 PI.f64) (atan.f64 (/.f64 (*.f64 -1/2 (+.f64 (/.f64 (*.f64 B B) C) (/.f64 (*.f64 (*.f64 B B) A) (*.f64 C C)))) B)))
17.1b
(*.f64 180 (/.f64 1 (/.f64 PI.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)))))
45.1b
(*.f64 180 (/.f64 (atan.f64 (*.f64 (+.f64 (sqrt.f64 (hypot.f64 B (-.f64 C A))) (sqrt.f64 (-.f64 C A))) (/.f64 (-.f64 (sqrt.f64 (-.f64 C A)) (sqrt.f64 (hypot.f64 B (-.f64 C A)))) B))) PI.f64))
48.6b
(*.f64 (/.f64 180 PI.f64) (atan.f64 (*.f64 (/.f64 -1/2 B) (/.f64 (*.f64 B B) C))))
17.1b
(*.f64 180 (log.f64 (exp.f64 (/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)) PI.f64))))
40.5b
(*.f64 180 (/.f64 (atan.f64 (*.f64 1/2 (+.f64 (/.f64 C (/.f64 (*.f64 A A) B)) (/.f64 B A)))) PI.f64))
42.5b
(*.f64 180 (/.f64 (atan.f64 (*.f64 -1/2 (+.f64 (/.f64 B C) (/.f64 A (/.f64 (*.f64 C C) B))))) PI.f64))
46.6b
(/.f64 180 (/.f64 PI.f64 (atan.f64 (/.f64 (*.f64 1/2 (/.f64 (*.f64 B B) A)) B))))
46.9b
(*.f64 180 (/.f64 (atan.f64 (/.f64 1/2 (/.f64 B (+.f64 (/.f64 (*.f64 (*.f64 B B) C) (*.f64 A A)) (/.f64 (*.f64 B B) A))))) PI.f64))
23.5b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 C (hypot.f64 B C)) B)) PI.f64))
Compiler

Compiled 3310 to 1319 computations (60.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(hypot.f64 A B)
0.0b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (neg.f64 (+.f64 A (hypot.f64 A B))) B)) PI.f64))
0.0b
(/.f64 (atan.f64 (/.f64 (neg.f64 (+.f64 A (hypot.f64 A B))) B)) PI.f64)
0.3b
(+.f64 A (hypot.f64 A B))

rewrite75.0ms (1%)

Algorithm
rewrite-expression-head
Error
0.3b
Rules
26×add-sqr-sqrt_binary64
23×*-un-lft-identity_binary64
21×add-cube-cbrt_binary64
19×times-frac_binary64
13×associate-*r*_binary64
Counts
4 → 92
Calls

4 calls:

5.0ms
(*.f64 180 (/.f64 (atan.f64 (/.f64 (neg.f64 (+.f64 A (hypot.f64 A B))) B)) PI.f64))
3.0ms
(+.f64 A (hypot.f64 A B))
2.0ms
(/.f64 (atan.f64 (/.f64 (neg.f64 (+.f64 A (hypot.f64 A B))) B)) PI.f64)
1.0ms
(hypot.f64 A B)
Compiler

Compiled 1992 to 554 computations (72.2% saved)

series112.0ms (1.5%)

Error
0.3b
Counts
4 → 50
Calls

4 calls:

32.0ms
(hypot.f64 A B)
29.0ms
(+.f64 A (hypot.f64 A B))
18.0ms
(*.f64 180 (/.f64 (atan.f64 (/.f64 (neg.f64 (+.f64 A (hypot.f64 A B))) B)) PI.f64))
13.0ms
(/.f64 (atan.f64 (/.f64 (neg.f64 (+.f64 A (hypot.f64 A B))) B)) PI.f64)
Compiler

Compiled 2086 to 1607 computations (23% saved)

simplify132.0ms (1.7%)

Algorithm
egg-herbie
Rules
671×div-sub_binary64
658×times-frac_binary64
453×fma-def_binary64
436×associate-/l*_binary64
221×cancel-sign-sub-inv_binary64
Counts
142 → 112
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03023442
16473176
215903127
345473127
454173127

prune52.0ms (0.7%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New1111112
Fresh178
Picked011
Done022
Total11211123
Error
0.1b
Counts
123 → 11
Alt Table
StatusErrorProgram
44.8b
(*.f64 180 (/.f64 (atan.f64 (/.f64 1/2 (/.f64 A B))) PI.f64))
45.1b
(*.f64 180 (/.f64 (atan.f64 (*.f64 (+.f64 (sqrt.f64 (hypot.f64 B (-.f64 C A))) (sqrt.f64 (-.f64 C A))) (/.f64 (-.f64 (sqrt.f64 (-.f64 C A)) (sqrt.f64 (hypot.f64 B (-.f64 C A)))) B))) PI.f64))
21.3b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (neg.f64 (+.f64 A (hypot.f64 A B))) B)) PI.f64))
48.9b
(*.f64 (/.f64 180 PI.f64) (atan.f64 (/.f64 (*.f64 -1/2 (+.f64 (/.f64 (*.f64 B B) C) (/.f64 (*.f64 (*.f64 B B) A) (*.f64 C C)))) B)))
17.1b
(*.f64 180 (/.f64 1 (/.f64 PI.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)))))
48.6b
(*.f64 (/.f64 180 PI.f64) (atan.f64 (*.f64 (/.f64 -1/2 B) (/.f64 (*.f64 B B) C))))
17.1b
(*.f64 180 (log.f64 (exp.f64 (/.f64 (atan.f64 (/.f64 (-.f64 C (+.f64 A (hypot.f64 B (-.f64 C A)))) B)) PI.f64))))
40.5b
(*.f64 180 (/.f64 (atan.f64 (*.f64 1/2 (+.f64 (/.f64 C (/.f64 (*.f64 A A) B)) (/.f64 B A)))) PI.f64))
42.5b
(*.f64 180 (/.f64 (atan.f64 (*.f64 -1/2 (+.f64 (/.f64 B C) (/.f64 A (/.f64 (*.f64 C C) B))))) PI.f64))
46.6b
(/.f64 180 (/.f64 PI.f64 (atan.f64 (/.f64 (*.f64 1/2 (/.f64 (*.f64 B B) A)) B))))
23.5b
(*.f64 180 (/.f64 (atan.f64 (/.f64 (-.f64 C (hypot.f64 B C)) B)) PI.f64))
Compiler

Compiled 1704 to 584 computations (65.7% saved)

regimes1.3s (17.7%)

Accuracy

Total 11.7b remaining (95.7%)

Threshold costs 0b (0%)

Compiler

Compiled 23991 to 15850 computations (33.9% saved)

bsearch114.0ms (1.5%)

Steps
ItersRangePoint
6
-818774738.0674074
-170530702.8026583
-351583884.37308884
Compiler

Compiled 4 to 3 computations (25% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
11×+-commutative_binary64
11×*-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03273
15173
26771
38271
48871
58971
68971

end1.0ms (0%)

Compiler

Compiled 48 to 30 computations (37.5% saved)

sample3.0s (40.3%)

Algorithm
intervals
Results
853.0ms891×body4096valid
676.0ms5429×body128valid
590.0ms817×body2048valid
278.0ms468×body1024valid
138.0ms261×body512valid
36.0ms134×body256valid
Compiler

Compiled 300 to 207 computations (31% saved)

Profiling

Loading profile data...