Details

Time bar (total: 4.1s)

analyze5.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%50%50%3
12.5%25%62.5%4
18.7%12.5%68.8%5
21.9%6.2%71.9%6
23.4%3.1%73.5%7
24.2%1.6%74.2%8
24.6%0.8%74.6%9
24.8%0.4%74.8%10
24.9%0.2%74.9%11
24.9%0.1%75%12
25%0%75%13
25%0%75%14
Compiler

Compiled 15 to 11 computations (26.7% saved)

sample1.2s (28.1%)

Results
936.0ms8256×body128valid
1.0msbody128invalid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify198.0ms (4.8%)

Algorithm
egg-herbie
Rules
1115×distribute-rgt-neg-in_binary64
788×distribute-rgt-out--_binary64
692×unsub-neg_binary64
492×fma-neg_binary64
461×distribute-neg-in_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
11820
22420
33420
45020
57320
611320
724720
845220
974220
10156020
11233820
12239220
13262820
14277620
15277420
16285120
17311020
18367320
19466520
20491020
21495220
22496320
23496020
24620820

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.0b
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))
Compiler

Compiled 42 to 30 computations (28.6% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (-.f64 1 (*.f64 x x)))
0.0b
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)
0.0b
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))
0.0b
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))

series27.0ms (0.7%)

Counts
4 → 48
Calls

4 calls:

10.0ms
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)
9.0ms
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))
5.0ms
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))
4.0ms
(sqrt.f64 (-.f64 1 (*.f64 x x)))

rewrite49.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
73×*-un-lft-identity_binary64
59×times-frac_binary64
50×add-sqr-sqrt_binary64
38×add-cube-cbrt_binary64
31×sqrt-prod_binary64
Counts
4 → 138
Calls

4 calls:

17.0ms
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))
15.0ms
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))
6.0ms
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)
2.0ms
(sqrt.f64 (-.f64 1 (*.f64 x x)))

simplify115.0ms (2.8%)

Algorithm
egg-herbie
Rules
694×fma-def_binary64
589×associate-/r*_binary64
484×fma-neg_binary64
356×cancel-sign-sub-inv_binary64
297×times-frac_binary64
Counts
186 → 244
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02673756
16533571
218353521
347973518
450633518

prune185.0ms (4.5%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New2413244
Fresh000
Picked101
Done000
Total2423245
Error
0b
Counts
245 → 3
Alt Table
StatusErrorProgram
0.2b
(log.f64 (-.f64 (/.f64 2 x) (fma.f64 x 1/2 (*.f64 1/8 (pow.f64 x 3)))))
0.0b
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))))
0.2b
(+.f64 (log1p.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))) (neg.f64 (log.f64 x)))
Compiler

Compiled 5261 to 3660 computations (30.4% saved)

localize13.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (*.f64 (cbrt.f64 x) (cbrt.f64 x)))
0.4b
(/.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))
0.5b
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
0.6b
(cbrt.f64 x)

series115.0ms (2.8%)

Counts
4 → 48
Calls

4 calls:

36.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
35.0ms
(cbrt.f64 x)
31.0ms
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (*.f64 (cbrt.f64 x) (cbrt.f64 x)))
12.0ms
(/.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))

rewrite39.0ms (1%)

Algorithm
rewrite-expression-head
Rules
136×times-frac_binary64
81×add-sqr-sqrt_binary64
73×*-un-lft-identity_binary64
64×add-cube-cbrt_binary64
58×cbrt-prod_binary64
Counts
4 → 199
Calls

4 calls:

11.0ms
(/.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))
6.0ms
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (*.f64 (cbrt.f64 x) (cbrt.f64 x)))
5.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
1.0ms
(cbrt.f64 x)

simplify188.0ms (4.6%)

Algorithm
egg-herbie
Rules
602×fma-def_binary64
494×fma-neg_binary64
294×cancel-sign-sub-inv_binary64
208×associate-/r*_binary64
206×unswap-sqr_binary64
Counts
247 → 345
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03276258
17595393
225175262
341015092
448335092
550065092

prune314.0ms (7.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New3810381
Fresh022
Picked011
Done000
Total3813384
Error
0b
Counts
384 → 3
Alt Table
StatusErrorProgram
0.2b
(log.f64 (-.f64 (/.f64 2 x) (fma.f64 x 1/2 (*.f64 1/8 (pow.f64 x 3)))))
0.0b
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))))
0.2b
(+.f64 (log1p.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))) (neg.f64 (log.f64 x)))
Compiler

Compiled 10824 to 6081 computations (43.8% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))))
0.0b
(sqrt.f64 (-.f64 1 (*.f64 x x)))
0.2b
(+.f64 (log1p.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))) (neg.f64 (log.f64 x)))

series18.0ms (0.4%)

Counts
2 → 24
Calls

2 calls:

10.0ms
(+.f64 (log1p.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))) (neg.f64 (log.f64 x)))
7.0ms
(log1p.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))))

rewrite6.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-log-exp_binary64
sum-log_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
2 → 38
Calls

2 calls:

4.0ms
(+.f64 (log1p.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))) (neg.f64 (log.f64 x)))
0.0ms
(log1p.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))))

simplify949.0ms (23.1%)

Algorithm
egg-herbie
Rules
686×fma-neg_binary64
466×sub-neg_binary64
331×fma-def_binary64
222×unsub-neg_binary64
208×times-frac_binary64
Counts
62 → 93
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01321304
13741227
210261198
332271198
446771198
549571198
649951198
750001198
848921198

prune156.0ms (3.8%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1390139
Fresh011
Picked011
Done011
Total1393142
Error
0b
Counts
142 → 3
Alt Table
StatusErrorProgram
0.2b
(log.f64 (-.f64 (/.f64 2 x) (fma.f64 x 1/2 (*.f64 1/8 (pow.f64 x 3)))))
0.0b
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))))
0.2b
(+.f64 (log1p.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))) (neg.f64 (log.f64 x)))
Compiler

Compiled 2750 to 1837 computations (33.2% saved)

localize8.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (-.f64 (/.f64 2 x) (fma.f64 x 1/2 (*.f64 1/8 (pow.f64 x 3)))))
0.0b
(-.f64 (/.f64 2 x) (fma.f64 x 1/2 (*.f64 1/8 (pow.f64 x 3))))

series8.0ms (0.2%)

Counts
2 → 24
Calls

2 calls:

4.0ms
(-.f64 (/.f64 2 x) (fma.f64 x 1/2 (*.f64 1/8 (pow.f64 x 3))))
4.0ms
(log.f64 (-.f64 (/.f64 2 x) (fma.f64 x 1/2 (*.f64 1/8 (pow.f64 x 3)))))

rewrite27.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
55×add-sqr-sqrt_binary64
49×*-un-lft-identity_binary64
45×add-cube-cbrt_binary64
39×prod-diff_binary64
38×times-frac_binary64
Counts
2 → 91
Calls

2 calls:

6.0ms
(-.f64 (/.f64 2 x) (fma.f64 x 1/2 (*.f64 1/8 (pow.f64 x 3))))
6.0ms
(log.f64 (-.f64 (/.f64 2 x) (fma.f64 x 1/2 (*.f64 1/8 (pow.f64 x 3)))))

simplify145.0ms (3.5%)

Algorithm
egg-herbie
Rules
746×fma-def_binary64
517×associate-*l*_binary64
434×associate-*r*_binary64
398×fma-neg_binary64
225×distribute-rgt-in_binary64
Counts
115 → 149
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02043726
13983096
212152348
343532348
449812348
549942348
648562348

prune170.0ms (4.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1490149
Fresh000
Picked011
Done022
Total1493152
Error
0b
Counts
152 → 3
Alt Table
StatusErrorProgram
0.2b
(log.f64 (-.f64 (/.f64 2 x) (fma.f64 x 1/2 (*.f64 1/8 (pow.f64 x 3)))))
0.0b
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))))
0.2b
(+.f64 (log1p.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))) (neg.f64 (log.f64 x)))
Compiler

Compiled 5238 to 4064 computations (22.4% saved)

regimes130.0ms (3.2%)

Accuracy

Total 0.0b remaining (96.6%)

Threshold costs 0.0b (96.6%)

Counts
38 → 1
Compiler

Compiled 1840 to 1367 computations (25.7% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01430
12230
22830
33230
43430
53330

end64.0ms (1.6%)

Compiler

Compiled 87 to 61 computations (29.9% saved)

Profiling

Loading profile data...