Details

Time bar (total: 6.8s)

analyze322.0ms (4.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%0.2%99.8%0
0%0.2%99.8%1
0%0.2%99.8%2
0.1%0.1%99.8%3
0.1%0.1%99.8%4
0.1%0%99.8%5
0.1%0%99.8%6
0.1%0%99.8%7
0.1%0%99.8%8
0.2%0%99.8%9
0.2%0%99.8%10
0.2%0%99.8%11
0.2%0%99.8%12
0.2%0%99.8%13
0.2%0%99.8%14
Compiler

Compiled 20 to 15 computations (25% saved)

sample43.0ms (0.6%)

Algorithm
intervals
Results
18.0ms256×body128valid
6.0ms256×pre128true
Compiler

Compiled 33 to 25 computations (24.2% saved)

simplify27.0ms (0.4%)

Algorithm
egg-herbie
Rules
88×cancel-sign-sub-inv_binary32
79×distribute-rgt-in_binary32
67×distribute-lft-in_binary32
53×sub-neg_binary32
41×unsub-neg_binary32
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
12214
24214
37514
48214
59814
612914
717114
828414
931514
1030314
1137914
1237514
1339114
1438914
1533414

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
14.7b
Counts
2 → 1
Alt Table
StatusErrorProgram
14.7b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
Compiler

Compiled 33 to 24 computations (27.3% saved)

localize30.0ms (0.4%)

Local error

Found 2 expressions with local error:

0.3b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
14.8b
(log.f32 (-.f32 1 u0))

rewrite59.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
9.3b
Rules
18×log-prod_binary32
15×*-un-lft-identity_binary32
15×add-sqr-sqrt_binary32
pow1_binary32
add-exp-log_binary32
Counts
2 → 49
Calls

2 calls:

6.0ms
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
3.0ms
(log.f32 (-.f32 1 u0))
Compiler

Compiled 744 to 417 computations (44% saved)

series63.0ms (0.9%)

Error
0.4b
Counts
2 → 15
Calls

2 calls:

33.0ms
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
15.0ms
(log.f32 (-.f32 1 u0))
Compiler

Compiled 559 to 422 computations (24.5% saved)

simplify155.0ms (2.3%)

Algorithm
egg-herbie
Rules
715×unsub-neg_binary32
493×neg-sub0_binary32
492×neg-mul-1_binary32
320×*-commutative_binary32
291×sqr-pow_binary32
Counts
64 → 52
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01311185
13141048
211021020
326441020
437521018
545151018
649461012
749891012
848191012

prune65.0ms (0.9%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New401252
Fresh000
Picked101
Done000
Total411253
Error
0.3b
Counts
53 → 12
Alt Table
StatusErrorProgram
14.6b
(*.f32 (*.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (*.f32 alpha (neg.f32 alpha))) (cbrt.f32 (log.f32 (-.f32 1 u0))))
7.7b
(*.f32 u0 (*.f32 alpha alpha))
11.0b
(+.f32 (*.f32 (log.f32 (+.f32 1 (sqrt.f32 u0))) (*.f32 alpha (neg.f32 alpha))) (*.f32 (log.f32 (-.f32 1 (sqrt.f32 u0))) (*.f32 alpha (neg.f32 alpha))))
3.8b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 u0 (-.f32 -1 (*.f32 u0 1/2))))
16.0b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u0)))) (log.f32 (cbrt.f32 (-.f32 1 u0)))))
15.5b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1))))
15.6b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0))))))
1.9b
(*.f32 (*.f32 alpha alpha) (+.f32 u0 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4)))))
15.4b
(+.f32 (*.f32 (log.f32 (sqrt.f32 (-.f32 1 u0))) (*.f32 alpha (neg.f32 alpha))) (*.f32 (log.f32 (sqrt.f32 (-.f32 1 u0))) (*.f32 alpha (neg.f32 alpha))))
14.6b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))) (sqrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))))
14.7b
(*.f32 (*.f32 (cbrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))) (cbrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha))))) (cbrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))))
14.7b
(exp.f32 (log.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))))
Compiler

Compiled 972 to 611 computations (37.1% saved)

localize59.0ms (0.9%)

Local error

Found 4 expressions with local error:

0.1b
(+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4)))
0.3b
(*.f32 u0 1/3)
0.3b
(*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3)))
0.3b
(*.f32 (*.f32 alpha alpha) (+.f32 u0 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4)))))

rewrite172.0ms (2.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
16×add-cbrt-cube_binary32
16×add-exp-log_binary32
16×pow1_binary32
12×add-sqr-sqrt_binary32
10×associate-*r*_binary32
Counts
4 → 78
Calls

4 calls:

13.0ms
(*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3)))
10.0ms
(*.f32 (*.f32 alpha alpha) (+.f32 u0 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4)))))
6.0ms
(+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4)))
3.0ms
(*.f32 u0 1/3)
Compiler

Compiled 2352 to 1450 computations (38.4% saved)

series95.0ms (1.4%)

Error
0.3b
Counts
4 → 23
Calls

4 calls:

42.0ms
(*.f32 (*.f32 alpha alpha) (+.f32 u0 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4)))))
13.0ms
(*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3)))
10.0ms
(+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4)))
9.0ms
(*.f32 u0 1/3)
Compiler

Compiled 1047 to 777 computations (25.8% saved)

simplify117.0ms (1.7%)

Algorithm
egg-herbie
Rules
336×associate-*l*_binary32
264×exp-prod_binary32
262×associate-*r*_binary32
199×associate-+r+_binary32
198×sub-neg_binary32
Counts
101 → 74
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01672234
14762002
218521978
339591978
449611978
549271978

prune131.0ms (1.9%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New67774
Fresh11011
Picked101
Done000
Total691786
Error
0.0b
Counts
86 → 17
Alt Table
StatusErrorProgram
1.9b
(*.f32 alpha (*.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))) alpha))
14.6b
(*.f32 (*.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (*.f32 alpha (neg.f32 alpha))) (cbrt.f32 (log.f32 (-.f32 1 u0))))
4.9b
(*.f32 (*.f32 alpha alpha) (+.f32 u0 (log.f32 (pow.f32 (exp.f32 (*.f32 u0 u0)) (+.f32 (*.f32 1/4 (*.f32 u0 u0)) (+.f32 1/2 (*.f32 u0 1/3)))))))
2.0b
(/.f32 (*.f32 (*.f32 alpha alpha) (-.f32 (*.f32 u0 u0) (*.f32 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (-.f32 u0 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4)))))
1.9b
(+.f32 (*.f32 u0 (*.f32 alpha alpha)) (*.f32 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (*.f32 alpha alpha)))
11.0b
(+.f32 (*.f32 (log.f32 (+.f32 1 (sqrt.f32 u0))) (*.f32 alpha (neg.f32 alpha))) (*.f32 (log.f32 (-.f32 1 (sqrt.f32 u0))) (*.f32 alpha (neg.f32 alpha))))
3.8b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 u0 (-.f32 -1 (*.f32 u0 1/2))))
16.0b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u0)))) (log.f32 (cbrt.f32 (-.f32 1 u0)))))
15.5b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1))))
15.6b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0))))))
2.1b
(*.f32 (*.f32 alpha (*.f32 alpha (sqrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))))) (sqrt.f32 (+.f32 u0 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4))))))
2.3b
(*.f32 (*.f32 (*.f32 alpha alpha) (*.f32 (cbrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (cbrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))))) (cbrt.f32 (+.f32 u0 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4))))))
2.1b
(*.f32 (*.f32 alpha (sqrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (*.f32 alpha (sqrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))))
15.4b
(+.f32 (*.f32 (log.f32 (sqrt.f32 (-.f32 1 u0))) (*.f32 alpha (neg.f32 alpha))) (*.f32 (log.f32 (sqrt.f32 (-.f32 1 u0))) (*.f32 alpha (neg.f32 alpha))))
14.6b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))) (sqrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))))
14.7b
(*.f32 (*.f32 (cbrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))) (cbrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha))))) (cbrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))))
14.7b
(exp.f32 (log.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))))
Compiler

Compiled 2399 to 1603 computations (33.2% saved)

localize64.0ms (0.9%)

Local error

Found 4 expressions with local error:

0.2b
(*.f32 u0 (*.f32 alpha alpha))
0.3b
(*.f32 u0 1/3)
0.3b
(*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))
0.4b
(*.f32 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (*.f32 alpha alpha))

rewrite176.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
25×add-cbrt-cube_binary32
25×add-exp-log_binary32
25×pow1_binary32
14×add-sqr-sqrt_binary32
13×cbrt-unprod_binary32
Counts
4 → 83
Calls

4 calls:

20.0ms
(*.f32 u0 (*.f32 alpha alpha))
8.0ms
(*.f32 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (*.f32 alpha alpha))
4.0ms
(*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))
3.0ms
(*.f32 u0 1/3)
Compiler

Compiled 2500 to 1405 computations (43.8% saved)

series102.0ms (1.5%)

Error
0.0b
Counts
4 → 23
Calls

4 calls:

45.0ms
(*.f32 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (*.f32 alpha alpha))
20.0ms
(*.f32 u0 (*.f32 alpha alpha))
15.0ms
(*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))
7.0ms
(*.f32 u0 1/3)
Compiler

Compiled 1353 to 911 computations (32.7% saved)

simplify84.0ms (1.2%)

Algorithm
egg-herbie
Rules
484×associate-+l+_binary32
469×unswap-sqr_binary32
342×associate-*l*_binary32
297×associate-*r*_binary32
201×exp-prod_binary32
Counts
106 → 70
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01552026
14281560
216541560
327311558
451361558

prune101.0ms (1.5%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New70070
Fresh01616
Picked011
Done000
Total701787
Error
0.0b
Counts
87 → 17
Alt Table
StatusErrorProgram
1.9b
(*.f32 alpha (*.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))) alpha))
14.6b
(*.f32 (*.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (*.f32 alpha (neg.f32 alpha))) (cbrt.f32 (log.f32 (-.f32 1 u0))))
4.9b
(*.f32 (*.f32 alpha alpha) (+.f32 u0 (log.f32 (pow.f32 (exp.f32 (*.f32 u0 u0)) (+.f32 (*.f32 1/4 (*.f32 u0 u0)) (+.f32 1/2 (*.f32 u0 1/3)))))))
2.0b
(/.f32 (*.f32 (*.f32 alpha alpha) (-.f32 (*.f32 u0 u0) (*.f32 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (-.f32 u0 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4)))))
1.9b
(+.f32 (*.f32 u0 (*.f32 alpha alpha)) (*.f32 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (*.f32 alpha alpha)))
11.0b
(+.f32 (*.f32 (log.f32 (+.f32 1 (sqrt.f32 u0))) (*.f32 alpha (neg.f32 alpha))) (*.f32 (log.f32 (-.f32 1 (sqrt.f32 u0))) (*.f32 alpha (neg.f32 alpha))))
3.8b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 u0 (-.f32 -1 (*.f32 u0 1/2))))
16.0b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u0)))) (log.f32 (cbrt.f32 (-.f32 1 u0)))))
15.5b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1))))
15.6b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0))))))
2.1b
(*.f32 (*.f32 alpha (*.f32 alpha (sqrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))))) (sqrt.f32 (+.f32 u0 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4))))))
2.3b
(*.f32 (*.f32 (*.f32 alpha alpha) (*.f32 (cbrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (cbrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))))) (cbrt.f32 (+.f32 u0 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4))))))
2.1b
(*.f32 (*.f32 alpha (sqrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (*.f32 alpha (sqrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))))
15.4b
(+.f32 (*.f32 (log.f32 (sqrt.f32 (-.f32 1 u0))) (*.f32 alpha (neg.f32 alpha))) (*.f32 (log.f32 (sqrt.f32 (-.f32 1 u0))) (*.f32 alpha (neg.f32 alpha))))
14.6b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))) (sqrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))))
14.7b
(*.f32 (*.f32 (cbrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))) (cbrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha))))) (cbrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))))
14.7b
(exp.f32 (log.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))))
Compiler

Compiled 2022 to 1248 computations (38.3% saved)

localize56.0ms (0.8%)

Local error

Found 4 expressions with local error:

0.2b
(*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))
0.3b
(*.f32 alpha (*.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))) alpha))
0.3b
(*.f32 u0 1/3)
0.3b
(*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))

rewrite173.0ms (2.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
17×add-sqr-sqrt_binary32
15×add-cbrt-cube_binary32
15×add-exp-log_binary32
15×pow1_binary32
12×associate-*l*_binary32
Counts
4 → 82
Calls

4 calls:

6.0ms
(*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))
5.0ms
(*.f32 alpha (*.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))) alpha))
4.0ms
(*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))
3.0ms
(*.f32 u0 1/3)
Compiler

Compiled 2387 to 1646 computations (31% saved)

series92.0ms (1.3%)

Error
0.0b
Counts
4 → 23
Calls

4 calls:

39.0ms
(*.f32 alpha (*.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))) alpha))
14.0ms
(*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))
13.0ms
(*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))
9.0ms
(*.f32 u0 1/3)
Compiler

Compiled 1053 to 778 computations (26.1% saved)

simplify117.0ms (1.7%)

Algorithm
egg-herbie
Rules
378×cancel-sign-sub-inv_binary32
317×unswap-sqr_binary32
295×associate-*l*_binary32
281×exp-prod_binary32
264×associate-*r*_binary32
Counts
105 → 74
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01712209
14721956
217761950
332911945
449401945
550411945

prune114.0ms (1.7%)

Pruning

16 alts after pruning (14 fresh and 2 done)

PrunedKeptTotal
New72274
Fresh31215
Picked011
Done011
Total751691
Error
0.0b
Counts
91 → 16
Alt Table
StatusErrorProgram
1.9b
(*.f32 alpha (*.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))) alpha))
14.6b
(*.f32 (*.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (*.f32 alpha (neg.f32 alpha))) (cbrt.f32 (log.f32 (-.f32 1 u0))))
1.9b
(+.f32 (*.f32 u0 (*.f32 alpha alpha)) (*.f32 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (*.f32 alpha alpha)))
11.0b
(+.f32 (*.f32 (log.f32 (+.f32 1 (sqrt.f32 u0))) (*.f32 alpha (neg.f32 alpha))) (*.f32 (log.f32 (-.f32 1 (sqrt.f32 u0))) (*.f32 alpha (neg.f32 alpha))))
16.0b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u0)))) (log.f32 (cbrt.f32 (-.f32 1 u0)))))
15.5b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1))))
15.6b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0))))))
2.0b
(/.f32 (*.f32 alpha (*.f32 alpha (-.f32 (*.f32 u0 u0) (*.f32 (pow.f32 u0 4) (*.f32 (+.f32 (*.f32 1/4 (*.f32 u0 u0)) (+.f32 1/2 (*.f32 u0 1/3))) (+.f32 (*.f32 1/4 (*.f32 u0 u0)) (+.f32 1/2 (*.f32 u0 1/3)))))))) (-.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))
2.0b
(/.f32 (*.f32 alpha (*.f32 alpha (+.f32 (pow.f32 u0 3) (pow.f32 (*.f32 (*.f32 u0 u0) (+.f32 (*.f32 1/4 (*.f32 u0 u0)) (+.f32 1/2 (*.f32 u0 1/3)))) 3)))) (+.f32 (*.f32 u0 u0) (-.f32 (*.f32 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))) (*.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))))
2.3b
(*.f32 (*.f32 (*.f32 alpha alpha) (*.f32 (cbrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (cbrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))))) (cbrt.f32 (+.f32 u0 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))) (*.f32 1/4 (pow.f32 u0 4))))))
4.9b
(*.f32 (*.f32 alpha alpha) (+.f32 u0 (log.f32 (pow.f32 (exp.f32 (*.f32 u0 u0)) (+.f32 (*.f32 1/4 (*.f32 u0 u0)) (+.f32 1/2 (*.f32 u0 1/3)))))))
2.1b
(*.f32 (*.f32 alpha (sqrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (*.f32 alpha (sqrt.f32 (+.f32 u0 (*.f32 u0 (+.f32 (*.f32 1/4 (pow.f32 u0 3)) (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))))
15.4b
(+.f32 (*.f32 (log.f32 (sqrt.f32 (-.f32 1 u0))) (*.f32 alpha (neg.f32 alpha))) (*.f32 (log.f32 (sqrt.f32 (-.f32 1 u0))) (*.f32 alpha (neg.f32 alpha))))
14.6b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))) (sqrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))))
14.7b
(*.f32 (*.f32 (cbrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))) (cbrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha))))) (cbrt.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))))
14.7b
(exp.f32 (log.f32 (neg.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 alpha alpha)))))
Compiler

Compiled 1986 to 1270 computations (36.1% saved)

regimes2.6s (37.4%)

Accuracy

Total 0.4b remaining (83.4%)

Threshold costs 0.4b (83.4%)

Compiler

Compiled 36229 to 24841 computations (31.4% saved)

bsearch9.0ms (0.1%)

Compiler

Compiled 5 to 4 computations (20% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
17×*-commutative_binary32
11×+-commutative_binary32
neg-sub0_binary32
neg-mul-1_binary32
sub-neg_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03295
15195
26295
37595
48795
59495
69895
79995
89895

end3.0ms (0%)

Compiler

Compiled 63 to 47 computations (25.4% saved)

sample1.8s (26.9%)

Algorithm
intervals
Results
552.0ms8000×body128valid
171.0ms8000×pre128true
Compiler

Compiled 601 to 424 computations (29.5% saved)

Profiling

Loading profile data...