Details

Time bar (total: 5.0s)

analyze3.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%12.5%87.5%0
12.5%0%87.5%1
Compiler

Compiled 24 to 17 computations (29.2% saved)

sample1.6s (31%)

Results
1.1s8256×body128valid
Compiler

Compiled 61 to 43 computations (29.5% saved)

simplify153.0ms (3%)

Algorithm
egg-herbie
Rules
1186×fma-def_binary64
913×fma-neg_binary64
520×distribute-rgt-in_binary64
481×div-sub_binary64
441×unsub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0916
12016
23914
37814
423314
552914
697614
7168614
8174614
9195214
10233414
11281814
12310414
13456014
14419514
15479914

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.1b
(*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))
0.1b
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
Compiler

Compiled 73 to 49 computations (32.9% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
0.0b
(*.f64 m (-.f64 1 m))
0.0b
(/.f64 (*.f64 m (-.f64 1 m)) v)
0.1b
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)

series148.0ms (2.9%)

Counts
4 → 80
Calls

4 calls:

102.0ms
(/.f64 (*.f64 m (-.f64 1 m)) v)
23.0ms
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
18.0ms
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
4.0ms
(*.f64 m (-.f64 1 m))

rewrite85.0ms (1.7%)

Algorithm
rewrite-expression-head
Rules
55×add-sqr-sqrt_binary64
49×*-un-lft-identity_binary64
40×add-cube-cbrt_binary64
39×prod-diff_binary64
19×add-exp-log_binary64
Counts
4 → 153
Calls

4 calls:

20.0ms
(/.f64 (*.f64 m (-.f64 1 m)) v)
19.0ms
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
14.0ms
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
13.0ms
(*.f64 m (-.f64 1 m))

simplify205.0ms (4.1%)

Algorithm
egg-herbie
Rules
589×fma-def_binary64
482×distribute-rgt-in_binary64
447×distribute-lft-in_binary64
328×fma-neg_binary64
240×associate-*l*_binary64
Counts
233 → 245
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02013371
14132852
216882595
345072594
449222594

prune482.0ms (9.6%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2396245
Fresh101
Picked101
Done000
Total2416247
Error
0b
Counts
247 → 6
Alt Table
StatusErrorProgram
0.1b
(*.f64 (-.f64 (/.f64 m (/.f64 v (-.f64 1 m))) 1) m)
23.6b
(cbrt.f64 (pow.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 3))
0.4b
(*.f64 (*.f64 (cbrt.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)) (cbrt.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1))) (*.f64 m (cbrt.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1))))
0.2b
(*.f64 (fma.f64 (/.f64 m (sqrt.f64 v)) (/.f64 (-.f64 1 m) (sqrt.f64 v)) -1) m)
18.7b
(/.f64 (*.f64 (-.f64 m (pow.f64 m 2)) m) v)
0.1b
(*.f64 (-.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1) m)
Compiler

Compiled 5037 to 3074 computations (39% saved)

localize14.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 1 m) m)
0.0b
(-.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1)
0.0b
(/.f64 (*.f64 (-.f64 1 m) m) v)
0.1b
(*.f64 (-.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1) m)

series62.0ms (1.2%)

Counts
4 → 84
Calls

4 calls:

24.0ms
(*.f64 (-.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1) m)
18.0ms
(/.f64 (*.f64 (-.f64 1 m) m) v)
17.0ms
(-.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1)
3.0ms
(*.f64 (-.f64 1 m) m)

rewrite43.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
41×add-sqr-sqrt_binary64
35×*-un-lft-identity_binary64
26×add-cube-cbrt_binary64
21×prod-diff_binary64
19×add-exp-log_binary64
Counts
4 → 127
Calls

4 calls:

10.0ms
(*.f64 (-.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1) m)
9.0ms
(/.f64 (*.f64 (-.f64 1 m) m) v)
9.0ms
(-.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1)
5.0ms
(*.f64 (-.f64 1 m) m)

simplify223.0ms (4.4%)

Algorithm
egg-herbie
Rules
590×associate-/l*_binary64
352×distribute-rgt-in_binary64
348×associate-*l/_binary64
338×distribute-lft-in_binary64
251×fma-def_binary64
Counts
211 → 219
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01642902
13762461
211892442
345602441
449802441
549652441

prune305.0ms (6.1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2181219
Fresh145
Picked011
Done000
Total2196225
Error
0b
Counts
225 → 6
Alt Table
StatusErrorProgram
0.1b
(*.f64 (-.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1) m)
0.1b
(*.f64 m (fma.f64 (/.f64 m v) (-.f64 1 m) -1))
23.6b
(cbrt.f64 (pow.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 3))
0.4b
(*.f64 (*.f64 (cbrt.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)) (cbrt.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1))) (*.f64 m (cbrt.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1))))
0.2b
(*.f64 (fma.f64 (/.f64 m (sqrt.f64 v)) (/.f64 (-.f64 1 m) (sqrt.f64 v)) -1) m)
18.7b
(/.f64 (*.f64 (-.f64 m (pow.f64 m 2)) m) v)
Compiler

Compiled 4281 to 2713 computations (36.6% saved)

localize13.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (/.f64 m v) (-.f64 1 m) -1)
0.1b
(*.f64 m (fma.f64 (/.f64 m v) (-.f64 1 m) -1))

series105.0ms (2.1%)

Counts
2 → 48
Calls

2 calls:

91.0ms
(*.f64 m (fma.f64 (/.f64 m v) (-.f64 1 m) -1))
13.0ms
(fma.f64 (/.f64 m v) (-.f64 1 m) -1)

rewrite8.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
2 → 32
Calls

2 calls:

5.0ms
(*.f64 m (fma.f64 (/.f64 m v) (-.f64 1 m) -1))
1.0ms
(fma.f64 (/.f64 m v) (-.f64 1 m) -1)

simplify148.0ms (2.9%)

Algorithm
egg-herbie
Rules
467×fma-def_binary64
364×fma-neg_binary64
340×div-sub_binary64
294×exp-prod_binary64
286×associate-*l/_binary64
Counts
80 → 75
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0651280
11371054
23851024
312231024
430401024
547531024
649501024

prune129.0ms (2.6%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New75075
Fresh044
Picked011
Done011
Total75681
Error
0b
Counts
81 → 6
Alt Table
StatusErrorProgram
0.1b
(*.f64 (-.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1) m)
0.1b
(*.f64 m (fma.f64 (/.f64 m v) (-.f64 1 m) -1))
23.6b
(cbrt.f64 (pow.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 3))
0.4b
(*.f64 (*.f64 (cbrt.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)) (cbrt.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1))) (*.f64 m (cbrt.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1))))
0.2b
(*.f64 (fma.f64 (/.f64 m (sqrt.f64 v)) (/.f64 (-.f64 1 m) (sqrt.f64 v)) -1) m)
18.7b
(/.f64 (*.f64 (-.f64 m (pow.f64 m 2)) m) v)
Compiler

Compiled 1277 to 751 computations (41.2% saved)

localize18.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (fma.f64 (/.f64 m (sqrt.f64 v)) (/.f64 (-.f64 1 m) (sqrt.f64 v)) -1) m)
0.1b
(fma.f64 (/.f64 m (sqrt.f64 v)) (/.f64 (-.f64 1 m) (sqrt.f64 v)) -1)
0.2b
(/.f64 m (sqrt.f64 v))
0.2b
(/.f64 (-.f64 1 m) (sqrt.f64 v))

series229.0ms (4.6%)

Counts
4 → 50
Calls

4 calls:

79.0ms
(*.f64 (fma.f64 (/.f64 m (sqrt.f64 v)) (/.f64 (-.f64 1 m) (sqrt.f64 v)) -1) m)
58.0ms
(fma.f64 (/.f64 m (sqrt.f64 v)) (/.f64 (-.f64 1 m) (sqrt.f64 v)) -1)
47.0ms
(/.f64 m (sqrt.f64 v))
44.0ms
(/.f64 (-.f64 1 m) (sqrt.f64 v))

rewrite38.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
65×add-sqr-sqrt_binary64
63×*-un-lft-identity_binary64
54×times-frac_binary64
42×add-cube-cbrt_binary64
33×sqrt-prod_binary64
Counts
4 → 136
Calls

4 calls:

13.0ms
(/.f64 (-.f64 1 m) (sqrt.f64 v))
5.0ms
(/.f64 m (sqrt.f64 v))
5.0ms
(*.f64 (fma.f64 (/.f64 m (sqrt.f64 v)) (/.f64 (-.f64 1 m) (sqrt.f64 v)) -1) m)
1.0ms
(fma.f64 (/.f64 m (sqrt.f64 v)) (/.f64 (-.f64 1 m) (sqrt.f64 v)) -1)

simplify241.0ms (4.8%)

Algorithm
egg-herbie
Rules
681×fma-def_binary64
277×fma-neg_binary64
265×associate-/l*_binary64
247×associate-*l*_binary64
238×times-frac_binary64
Counts
186 → 184
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01803169
13522980
29412765
326262649
446602649
549902649
649342649

prune279.0ms (5.6%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1840184
Fresh033
Picked011
Done022
Total1846190
Error
0b
Counts
190 → 6
Alt Table
StatusErrorProgram
0.1b
(*.f64 (-.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1) m)
0.1b
(*.f64 m (fma.f64 (/.f64 m v) (-.f64 1 m) -1))
23.6b
(cbrt.f64 (pow.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 3))
0.4b
(*.f64 (*.f64 (cbrt.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)) (cbrt.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1))) (*.f64 m (cbrt.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1))))
0.2b
(*.f64 (fma.f64 (/.f64 m (sqrt.f64 v)) (/.f64 (-.f64 1 m) (sqrt.f64 v)) -1) m)
18.7b
(/.f64 (*.f64 (-.f64 m (pow.f64 m 2)) m) v)
Compiler

Compiled 3789 to 1876 computations (50.5% saved)

regimes383.0ms (7.6%)

Accuracy

Total 0.1b remaining (74.2%)

Threshold costs 0.1b (74.2%)

Counts
88 → 1
Compiler

Compiled 4550 to 3125 computations (31.3% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
11816
22216
32416
42516
52316

end139.0ms (2.8%)

Compiler

Compiled 128 to 88 computations (31.3% saved)

Profiling

Loading profile data...