Details

Time bar (total: 9.9s)

analyze814.0ms (8.2%)

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
6.2%93.7%0.1%5
6.2%90.5%3.2%6
21.9%67.1%11%7
23.4%64.8%11.8%8
32%52.7%15.3%9
33.2%51.3%15.5%10
37.7%45.2%17.2%11
38.3%44.4%17.2%12
40.6%41.3%18%13
41%41%18%14
Compiler

Compiled 15 to 12 computations (20% saved)

sample2.4s (24%)

Results
800.0ms5982×body128valid
539.0ms1094×body1024valid
221.0ms695×body512valid
220.0ms534×body1024invalid
180.0ms1571×body128invalid
101.0ms356×body512invalid
85.0ms408×body256valid
48.0ms77×body2048valid
43.0ms203×body256invalid
Compiler

Compiled 44 to 35 computations (20.5% saved)

simplify208.0ms (2.1%)

Algorithm
egg-herbie
Rules
2748×fma-def_binary64
1264×fma-neg_binary64
934×associate--r-_binary64
475×cancel-sign-sub-inv_binary64
423×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01018
12217
24017
38615
416315
534415
666615
7121715
8146315
9160815
10178715
11232215
12292615
13298715
14308915
15313315
16314215
17314215
18322515
19323315
20323715
21497915

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
17.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
17.4b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
17.4b
(-.f64 1 (log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
Compiler

Compiled 76 to 57 computations (25% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
0.0b
(/.f64 (-.f64 x y) (+.f64 y -1))
1.4b
(log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1)))

series144.0ms (1.5%)

Counts
3 → 72
Calls

3 calls:

77.0ms
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
58.0ms
(log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1)))
9.0ms
(/.f64 (-.f64 x y) (+.f64 y -1))

rewrite15.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
50×*-un-lft-identity_binary64
44×add-sqr-sqrt_binary64
25×times-frac_binary64
23×add-cube-cbrt_binary64
prod-diff_binary64
Counts
3 → 97
Calls

3 calls:

6.0ms
(/.f64 (-.f64 x y) (+.f64 y -1))
3.0ms
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
0.0ms
(log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1)))

simplify120.0ms (1.2%)

Algorithm
egg-herbie
Rules
409×associate-+l+_binary64
242×associate--r+_binary64
240×associate-/r*_binary64
221×fma-def_binary64
201×+-commutative_binary64
Counts
169 → 262
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05106989
114486687
250686687

prune245.0ms (2.5%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2593262
Fresh011
Picked011
Done000
Total2595264
Error
0.1b
Counts
264 → 5
Alt Table
StatusErrorProgram
44.0b
(-.f64 1 (+.f64 (+.f64 (log1p.f64 (neg.f64 x)) (log.f64 (/.f64 -1 y))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (/.f64 x (*.f64 y (-.f64 1 x))))))
57.1b
(-.f64 1 (-.f64 (log.f64 (+.f64 x -1)) (log.f64 y)))
17.4b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
49.4b
(-.f64 1 (+.f64 (+.f64 (/.f64 x (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (log1p.f64 (neg.f64 x)) (+.f64 (/.f64 1 (*.f64 y y)) (log.f64 (/.f64 -1 y))))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (/.f64 x (*.f64 y (-.f64 1 x))) (/.f64 1/2 (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))))))))
17.4b
(-.f64 1 (log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
Compiler

Compiled 9977 to 6737 computations (32.5% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
0.0b
(/.f64 (-.f64 x y) (-.f64 1 y))
1.5b
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))
4.9b
(log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))

series158.0ms (1.6%)

Counts
4 → 96
Calls

4 calls:

72.0ms
(-.f64 1 (log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
67.0ms
(log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))
10.0ms
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))
8.0ms
(/.f64 (-.f64 x y) (-.f64 1 y))

rewrite112.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
319×add-sqr-sqrt_binary64
308×*-un-lft-identity_binary64
186×times-frac_binary64
125×add-cube-cbrt_binary64
120×prod-diff_binary64
Counts
4 → 330
Calls

4 calls:

33.0ms
(log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))
18.0ms
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))
15.0ms
(-.f64 1 (log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
6.0ms
(/.f64 (-.f64 x y) (-.f64 1 y))

simplify304.0ms (3.1%)

Algorithm
egg-herbie
Rules
336×fma-def_binary64
264×sub-neg_binary64
259×associate-/r*_binary64
224×+-commutative_binary64
215×associate-/l*_binary64
Counts
426 → 482
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
072018151
1220414737
2496514737
3497114737

prune439.0ms (4.4%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New4811482
Fresh303
Picked101
Done011
Total4852487
Error
0.0b
Counts
487 → 2
Alt Table
StatusErrorProgram
17.4b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
37.3b
(-.f64 1 (log.f64 (-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))))))
Compiler

Compiled 19492 to 12313 computations (36.8% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.8b
(-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))))
9.8b
(+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))
12.2b
(/.f64 x (pow.f64 y 2))
13.3b
(log.f64 (-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))))))

series121.0ms (1.2%)

Counts
4 → 36
Calls

4 calls:

61.0ms
(-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))))
30.0ms
(log.f64 (-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))))))
25.0ms
(/.f64 x (pow.f64 y 2))
5.0ms
(+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))

rewrite379.0ms (3.8%)

Algorithm
rewrite-expression-head
Rules
942×*-un-lft-identity_binary64
707×distribute-lft-out_binary64
363×div-inv_binary64
339×times-frac_binary64
162×add-sqr-sqrt_binary64
Counts
4 → 472
Calls

4 calls:

103.0ms
(-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))))
100.0ms
(log.f64 (-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))))))
42.0ms
(+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))
3.0ms
(/.f64 x (pow.f64 y 2))

simplify427.0ms (4.3%)

Algorithm
egg-herbie
Rules
580×distribute-rgt-in_binary64
558×distribute-lft-in_binary64
318×fma-def_binary64
140×times-frac_binary64
131×cancel-sign-sub-inv_binary64
Counts
508 → 461
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
056834717
1178729754
2548729754

prune681.0ms (6.9%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New4601461
Fresh000
Picked011
Done011
Total4603463
Error
0b
Counts
463 → 3
Alt Table
StatusErrorProgram
37.5b
(-.f64 1 (cbrt.f64 (pow.f64 (log.f64 (-.f64 (+.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (*.f64 y y))) (/.f64 x y)) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (*.f64 y y)))))) 3)))
17.4b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
37.3b
(-.f64 1 (log.f64 (-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))))))
Compiler

Compiled 34181 to 23097 computations (32.4% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.8b
(-.f64 (+.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (*.f64 y y))) (/.f64 x y)) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (*.f64 y y)))))
9.8b
(+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (*.f64 y y)))
12.2b
(/.f64 x (*.f64 y y))
13.3b
(log.f64 (-.f64 (+.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (*.f64 y y))) (/.f64 x y)) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (*.f64 y y))))))

series126.0ms (1.3%)

Counts
4 → 84
Calls

4 calls:

63.0ms
(-.f64 (+.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (*.f64 y y))) (/.f64 x y)) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (*.f64 y y)))))
33.0ms
(log.f64 (-.f64 (+.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (*.f64 y y))) (/.f64 x y)) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (*.f64 y y))))))
26.0ms
(/.f64 x (*.f64 y y))
3.0ms
(+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (*.f64 y y)))

rewrite218.0ms (2.2%)

Algorithm
rewrite-expression-head
Rules
465×*-un-lft-identity_binary64
377×distribute-lft-out_binary64
218×div-inv_binary64
81×frac-add_binary64
78×prod-diff_binary64
Counts
4 → 344
Calls

4 calls:

60.0ms
(log.f64 (-.f64 (+.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (*.f64 y y))) (/.f64 x y)) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (*.f64 y y))))))
59.0ms
(-.f64 (+.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (*.f64 y y))) (/.f64 x y)) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (*.f64 y y)))))
18.0ms
(+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (*.f64 y y)))
3.0ms
(/.f64 x (*.f64 y y))

simplify335.0ms (3.4%)

Algorithm
egg-herbie
Rules
534×distribute-rgt-in_binary64
509×distribute-lft-in_binary64
301×fma-def_binary64
163×times-frac_binary64
130×*-commutative_binary64
Counts
428 → 350
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
052027273
1167223878
2508223878

prune477.0ms (4.8%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New3500350
Fresh000
Picked011
Done022
Total3503353
Error
0b
Counts
353 → 3
Alt Table
StatusErrorProgram
37.5b
(-.f64 1 (cbrt.f64 (pow.f64 (log.f64 (-.f64 (+.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (*.f64 y y))) (/.f64 x y)) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (*.f64 y y)))))) 3)))
17.4b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
37.3b
(-.f64 1 (log.f64 (-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))))))
Compiler

Compiled 28335 to 16756 computations (40.9% saved)

regimes2.1s (20.7%)

Accuracy

Total 0.1b remaining (87.9%)

Threshold costs 0.1b (87.9%)

Counts
194 → 2
Compiler

Compiled 28074 to 22055 computations (21.4% saved)

bsearch7.0ms (0.1%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03063
14563
25663
36263
46563
56263

end88.0ms (0.9%)

Compiler

Compiled 175 to 129 computations (26.3% saved)

Profiling

Loading profile data...