Details

Time bar (total: 3.8s)

analyze337.0ms (8.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
15.6%84.3%0.1%6
37.5%62.4%0.1%7
46.8%53.1%0.1%8
57.8%39.8%2.4%9
64.6%30.4%5%10
71.8%20.3%7.9%11
74.1%16.2%9.7%12
77.4%10.7%12%13
78.6%8.4%13%14
Compiler

Compiled 24 to 18 computations (25% saved)

sample1.2s (32.8%)

Results
1.1s8256×body128valid
53.0ms359×body128invalid
Compiler

Compiled 71 to 53 computations (25.4% saved)

simplify19.0ms (0.5%)

Algorithm
egg-herbie
Rules
597×times-frac_binary64
509×associate-/l*_binary64
356×associate-/l/_binary64
274×distribute-rgt-in_binary64
238×fma-def_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01632
13729
210029
340029
4179028
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
13.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
13.2b
(*.f64 (*.f64 (/.f64 (PI.f64) 2) (/.f64 1 (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 1 a) (/.f64 1 b)))
13.2b
(/.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 2) (-.f64 (*.f64 b b) (*.f64 a a)))
Compiler

Compiled 127 to 84 computations (33.9% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a))
0.3b
(/.f64 (PI.f64) a)
4.7b
(-.f64 (*.f64 b b) (*.f64 a a))
7.6b
(/.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 2) (-.f64 (*.f64 b b) (*.f64 a a)))

series39.0ms (1%)

Counts
4 → 72
Calls

4 calls:

22.0ms
(/.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 2) (-.f64 (*.f64 b b) (*.f64 a a)))
8.0ms
(fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a))
6.0ms
(-.f64 (*.f64 b b) (*.f64 a a))
2.0ms
(/.f64 (PI.f64) a)

rewrite94.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
891×prod-diff_binary64
219×egg-rr
160×add-sqr-sqrt_binary64
152×add-cbrt-cube_binary64
152×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01456
132156
2454856
Stop Event
node limit
Counts
4 → 219
Calls

4 calls:

89.0ms
(fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a))
89.0ms
(/.f64 (PI.f64) a)
89.0ms
(-.f64 (*.f64 b b) (*.f64 a a))
89.0ms
(/.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 2) (-.f64 (*.f64 b b) (*.f64 a a)))

simplify46.0ms (1.2%)

Algorithm
egg-herbie
Rules
644×cancel-sign-sub-inv_binary64
573×fma-neg_binary64
298×associate-/l/_binary64
182×distribute-neg-frac_binary64
172×times-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0601266
11961230
25971164
323081146
Stop Event
node limit
Counts
291 → 245

prune262.0ms (6.9%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2369245
Fresh011
Picked101
Done000
Total23710247
Error
0.0b
Counts
247 → 10
Alt Table
StatusErrorProgram
31.2b
(-.f64 (*.f64 1/2 (/.f64 (PI.f64) (*.f64 a (pow.f64 b 2)))) (*.f64 1/2 (/.f64 (PI.f64) (pow.f64 b 3))))
19.7b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) (/.f64 1/2 (-.f64 b a)))) 2)
13.2b
(*.f64 (*.f64 (/.f64 (PI.f64) 2) (/.f64 1 (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 1 a) (/.f64 1 b)))
0.7b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 1/2)) 2) (+.f64 b a)) (/.f64 (cbrt.f64 (*.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 1/2)) (-.f64 b a)))
23.2b
(*.f64 1/2 (/.f64 (/.f64 (/.f64 (PI.f64) b) a) a))
0.3b
(*.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) (/.f64 1/2 (-.f64 b a)))
0.8b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) (/.f64 1/2 (-.f64 b a)))) 3)
7.7b
(/.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 2) (*.f64 (+.f64 b a) (-.f64 b a)))
13.2b
(*.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (/.f64 1 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))
13.6b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 1/2)) 2) (*.f64 (cbrt.f64 (*.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 1/2)) (/.f64 1 (-.f64 (*.f64 b b) (*.f64 a a)))))
Compiler

Compiled 7473 to 3184 computations (57.4% saved)

localize14.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a))
0.2b
(*.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) (/.f64 1/2 (-.f64 b a)))
0.2b
(/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a))
0.3b
(/.f64 (PI.f64) a)

series28.0ms (0.7%)

Counts
2 → 48
Calls

2 calls:

18.0ms
(*.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) (/.f64 1/2 (-.f64 b a)))
11.0ms
(/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a))

rewrite75.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
795×prod-diff_binary64
164×add-sqr-sqrt_binary64
154×add-cbrt-cube_binary64
154×log1p-expm1-u_binary64
154×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01447
132147
2471247
Stop Event
node limit
Counts
2 → 89
Calls

2 calls:

73.0ms
(*.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) (/.f64 1/2 (-.f64 b a)))
73.0ms
(/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a))

simplify49.0ms (1.3%)

Algorithm
egg-herbie
Rules
382×times-frac_binary64
339×distribute-neg-frac_binary64
297×distribute-rgt-neg-in_binary64
283×associate-/l*_binary64
253×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0841512
12931458
29531341
338681341
Stop Event
node limit
Counts
137 → 122

prune248.0ms (6.5%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1785183
Fresh639
Picked101
Done000
Total1858193
Error
0b
Counts
193 → 8
Alt Table
StatusErrorProgram
13.2b
(*.f64 (*.f64 (/.f64 (PI.f64) 2) (/.f64 1 (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 1 a) (/.f64 1 b)))
0.7b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 1/2)) 2) (+.f64 b a)) (/.f64 (cbrt.f64 (*.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 1/2)) (-.f64 b a)))
0.3b
(*.f64 (pow.f64 (/.f64 (+.f64 b a) (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a))) -1) (/.f64 1/2 (-.f64 b a)))
0.3b
(*.f64 (/.f64 (-.f64 (/.f64 (PI.f64) a) (/.f64 (PI.f64) b)) (+.f64 b a)) (/.f64 1/2 (-.f64 b a)))
18.4b
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) 3)) (/.f64 1/2 (-.f64 b a)))
0.8b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) (/.f64 1/2 (-.f64 b a)))) 3)
0.5b
(/.f64 1/2 (*.f64 (/.f64 (+.f64 b a) (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a))) (-.f64 b a)))
0.2b
(/.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) (*.f64 (-.f64 b a) 2))
Compiler

Compiled 4500 to 2174 computations (51.7% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) (*.f64 (-.f64 b a) 2))
0.2b
(fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a))
0.2b
(/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a))
0.3b
(/.f64 (PI.f64) a)

series14.0ms (0.4%)

Counts
1 → 24
Calls

1 calls:

14.0ms
(/.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) (*.f64 (-.f64 b a) 2))

rewrite70.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
813×prod-diff_binary64
162×add-sqr-sqrt_binary64
152×add-cbrt-cube_binary64
152×log1p-expm1-u_binary64
152×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01428
131728
2473128
Stop Event
node limit
Counts
1 → 49
Calls

1 calls:

68.0ms
(/.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) (*.f64 (-.f64 b a) 2))

simplify33.0ms (0.9%)

Algorithm
egg-herbie
Rules
634×cancel-sign-sub-inv_binary64
564×fma-neg_binary64
292×associate-/l/_binary64
183×distribute-neg-frac_binary64
170×times-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
053804
1182768
2563702
32234684
Stop Event
node limit
Counts
73 → 65

prune214.0ms (5.6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1771178
Fresh167
Picked011
Done000
Total1788186
Error
0b
Counts
186 → 8
Alt Table
StatusErrorProgram
13.2b
(*.f64 (*.f64 (/.f64 (PI.f64) 2) (/.f64 1 (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 1 a) (/.f64 1 b)))
0.7b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 1/2)) 2) (+.f64 b a)) (/.f64 (cbrt.f64 (*.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 1/2)) (-.f64 b a)))
0.3b
(*.f64 (pow.f64 (/.f64 (+.f64 b a) (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a))) -1) (/.f64 1/2 (-.f64 b a)))
0.3b
(*.f64 (/.f64 (-.f64 (/.f64 (PI.f64) a) (/.f64 (PI.f64) b)) (+.f64 b a)) (/.f64 1/2 (-.f64 b a)))
18.4b
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) 3)) (/.f64 1/2 (-.f64 b a)))
0.5b
(/.f64 1/2 (*.f64 (/.f64 (+.f64 b a) (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a))) (-.f64 b a)))
0.2b
(/.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) (*.f64 (-.f64 b a) 2))
17.7b
(/.f64 (*.f64 -1 (/.f64 (PI.f64) (*.f64 a b))) (*.f64 (-.f64 b a) 2))
Compiler

Compiled 4659 to 2286 computations (50.9% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 (-.f64 (/.f64 (PI.f64) a) (/.f64 (PI.f64) b)) (+.f64 b a)) (/.f64 1/2 (-.f64 b a)))
0.2b
(/.f64 (-.f64 (/.f64 (PI.f64) a) (/.f64 (PI.f64) b)) (+.f64 b a))
0.2b
(/.f64 (PI.f64) b)
0.3b
(/.f64 (PI.f64) a)

series28.0ms (0.7%)

Counts
3 → 48
Calls

3 calls:

16.0ms
(*.f64 (/.f64 (-.f64 (/.f64 (PI.f64) a) (/.f64 (PI.f64) b)) (+.f64 b a)) (/.f64 1/2 (-.f64 b a)))
10.0ms
(/.f64 (-.f64 (/.f64 (PI.f64) a) (/.f64 (PI.f64) b)) (+.f64 b a))
2.0ms
(/.f64 (PI.f64) b)

rewrite40.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
170×add-sqr-sqrt_binary64
163×log1p-expm1-u_binary64
163×expm1-log1p-u_binary64
162×add-cbrt-cube_binary64
159×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01350
132350
Stop Event
node limit
Counts
3 → 120
Calls

3 calls:

38.0ms
(*.f64 (/.f64 (-.f64 (/.f64 (PI.f64) a) (/.f64 (PI.f64) b)) (+.f64 b a)) (/.f64 1/2 (-.f64 b a)))
38.0ms
(/.f64 (-.f64 (/.f64 (PI.f64) a) (/.f64 (PI.f64) b)) (+.f64 b a))
38.0ms
(/.f64 (PI.f64) b)

simplify52.0ms (1.4%)

Algorithm
egg-herbie
Rules
382×times-frac_binary64
339×distribute-neg-frac_binary64
297×distribute-rgt-neg-in_binary64
285×associate-/l*_binary64
255×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0841512
12931458
29531341
338731341
Stop Event
node limit
Counts
168 → 153

prune193.0ms (5.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1842186
Fresh246
Picked011
Done101
Total1877194
Error
0b
Counts
194 → 7
Alt Table
StatusErrorProgram
13.2b
(*.f64 (*.f64 (/.f64 (PI.f64) 2) (/.f64 1 (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 (/.f64 1 a) (/.f64 1 b)))
0.7b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 1/2)) 2) (+.f64 b a)) (/.f64 (cbrt.f64 (*.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) 1/2)) (-.f64 b a)))
0.3b
(*.f64 (/.f64 (-.f64 (/.f64 (PI.f64) a) (/.f64 (PI.f64) b)) (+.f64 b a)) (/.f64 1/2 (-.f64 b a)))
0.3b
(/.f64 (/.f64 1/2 (-.f64 b a)) (/.f64 (+.f64 b a) (-.f64 (/.f64 (PI.f64) a) (/.f64 (PI.f64) b))))
18.4b
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (fma.f64 (PI.f64) (/.f64 -1 b) (/.f64 (PI.f64) a)) (+.f64 b a)) 3)) (/.f64 1/2 (-.f64 b a)))
17.7b
(/.f64 (*.f64 -1 (/.f64 (PI.f64) (*.f64 a b))) (*.f64 (-.f64 b a) 2))
0.3b
(*.f64 (pow.f64 (/.f64 (+.f64 b a) (-.f64 (/.f64 (PI.f64) a) (/.f64 (PI.f64) b))) -1) (/.f64 1/2 (-.f64 b a)))
Compiler

Compiled 4158 to 1558 computations (62.5% saved)

regimes556.0ms (14.6%)

Accuracy

Total 0.2b remaining (74.9%)

Threshold costs 0.2b (74.9%)

Counts
185 → 1
Compiler

Compiled 11962 to 8010 computations (33% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
cancel-sign-sub-inv_binary64
neg-sub0_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01429
12429
23729
35427
47527
58227
Stop Event
saturated

end110.0ms (2.9%)

Compiler

Compiled 193 to 129 computations (33.2% saved)

Profiling

Loading profile data...