Details

Time bar (total: 8.6s)

analyze317.0ms (3.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)

sample37.0ms (0.4%)

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

Compiled 33 to 25 computations (24.2% saved)

simplify31.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

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 33 to 24 computations (27.3% saved)

localize24.0ms (0.3%)

Local error

Found 2 expressions with local error:

0.4b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
14.1b
(log.f32 (-.f32 1 u0))

rewrite73.0ms (0.9%)

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

2 calls:

9.0ms
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
4.0ms
(log.f32 (-.f32 1 u0))
Compiler

Compiled 744 to 417 computations (44% saved)

series73.0ms (0.8%)

Error
0.4b
Counts
2 → 15
Calls

2 calls:

36.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)

simplify122.0ms (1.4%)

Algorithm
egg-herbie
Rules
648×neg-sub0_binary32
640×neg-mul-1_binary32
511×unsub-neg_binary32
325×*-commutative_binary32
283×distribute-neg-out_binary32
Counts
64 → 50
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01311185
13151070
211001033
326081033
442121033
548351033
648451033

prune78.0ms (0.9%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New381250
Fresh000
Picked011
Done000
Total381351
Error
0.3b
Counts
51 → 13
Alt Table
StatusErrorProgram
15.0b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1))))
14.2b
(exp.f32 (log.f32 (neg.f32 (*.f32 (*.f32 alpha alpha) (log.f32 (-.f32 1 u0))))))
14.1b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
11.3b
(+.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))))
1.9b
(+.f32 (*.f32 (*.f32 alpha alpha) (+.f32 u0 (*.f32 1/2 (*.f32 u0 u0)))) (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4)))))
2.6b
(+.f32 (*.f32 u0 (*.f32 alpha alpha)) (*.f32 (*.f32 alpha alpha) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3)))))
14.9b
(+.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))))
4.2b
(*.f32 (*.f32 alpha alpha) (+.f32 u0 (*.f32 1/2 (*.f32 u0 u0))))
4.3b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 u0 (-.f32 -1 (*.f32 u0 1/2))))
15.4b
(+.f32 (*.f32 (*.f32 alpha (*.f32 alpha (log.f32 (cbrt.f32 (-.f32 1 u0))))) -2) (*.f32 (log.f32 (cbrt.f32 (-.f32 1 u0))) (*.f32 alpha (neg.f32 alpha))))
14.1b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 (*.f32 alpha alpha) (log.f32 (-.f32 1 u0))))) (sqrt.f32 (neg.f32 (*.f32 (*.f32 alpha alpha) (log.f32 (-.f32 1 u0))))))
14.9b
(*.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 (neg.f32 alpha) alpha) (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))))))
Compiler

Compiled 994 to 614 computations (38.2% saved)

localize55.0ms (0.6%)

Local error

Found 4 expressions with local error:

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

rewrite239.0ms (2.8%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
16×pow1_binary32 add-exp-log_binary32 add-cbrt-cube_binary32
14×add-sqr-sqrt_binary32
11×add-cube-cbrt_binary32 *-un-lft-identity_binary32
add-log-exp_binary32 associate-*r*_binary32 cancel-sign-sub-inv_binary32
pow-prod-down_binary32 prod-exp_binary32 cbrt-unprod_binary32
Counts
4 → 86
Calls

4 calls:

12.0ms
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))))))
8.0ms
(*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3)))
8.0ms
(-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3)))))
4.0ms
(*.f32 u0 1/3)
Compiler

Compiled 2799 to 1665 computations (40.5% saved)

series119.0ms (1.4%)

Error
0.3b
Counts
4 → 24
Calls

4 calls:

49.0ms
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))))))
22.0ms
(*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3)))
14.0ms
(-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3)))))
13.0ms
(*.f32 u0 1/3)
Compiler

Compiled 1068 to 794 computations (25.7% saved)

simplify120.0ms (1.4%)

Algorithm
egg-herbie
Rules
404×associate-*l*_binary32
388×exp-prod_binary32
322×associate-*r*_binary32
301×distribute-rgt-neg-out_binary32
292×distribute-lft-neg-out_binary32
Counts
110 → 90
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01962798
15522474
223702291
343412291
450272291

prune197.0ms (2.3%)

Pruning

18 alts after pruning (17 fresh and 1 done)

PrunedKeptTotal
New82890
Fresh2911
Picked101
Done011
Total8518103
Error
0.1b
Counts
103 → 18
Alt Table
StatusErrorProgram
1.9b
(*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))))))
15.0b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1))))
2.2b
(/.f32 (*.f32 (*.f32 alpha (neg.f32 alpha)) (-.f32 (*.f32 (pow.f32 u0 12) -1/64) (pow.f32 (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) 3))) (+.f32 (*.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (pow.f32 u0 4) -1/4)) (+.f32 (*.f32 (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3)))) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))))) (*.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))))))))
14.2b
(exp.f32 (log.f32 (neg.f32 (*.f32 (*.f32 alpha alpha) (log.f32 (-.f32 1 u0))))))
14.1b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
2.3b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 (*.f32 (cbrt.f32 (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4))) (cbrt.f32 (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4)))) (cbrt.f32 (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4)))))
11.3b
(+.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))))
2.2b
(*.f32 (*.f32 (*.f32 alpha (neg.f32 alpha)) (*.f32 (cbrt.f32 (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4))) (cbrt.f32 (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4))))) (cbrt.f32 (-.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3)))))))
2.0b
(*.f32 (neg.f32 alpha) (*.f32 alpha (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4))))
1.9b
(+.f32 (*.f32 (*.f32 alpha alpha) (+.f32 u0 (*.f32 1/2 (*.f32 u0 u0)))) (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4)))))
2.3b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))))))) (cbrt.f32 (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))))))) (cbrt.f32 (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))))))))
2.1b
(/.f32 (*.f32 (*.f32 alpha (neg.f32 alpha)) (+.f32 (*.f32 (pow.f32 u0 8) 1/16) (*.f32 (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))))))) (+.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))))))
2.6b
(+.f32 (*.f32 u0 (*.f32 alpha alpha)) (*.f32 (*.f32 alpha alpha) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3)))))
14.9b
(+.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))))
3.6b
(exp.f32 (log.f32 (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))))))))
15.4b
(+.f32 (*.f32 (*.f32 alpha (*.f32 alpha (log.f32 (cbrt.f32 (-.f32 1 u0))))) -2) (*.f32 (log.f32 (cbrt.f32 (-.f32 1 u0))) (*.f32 alpha (neg.f32 alpha))))
14.1b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 (*.f32 alpha alpha) (log.f32 (-.f32 1 u0))))) (sqrt.f32 (neg.f32 (*.f32 (*.f32 alpha alpha) (log.f32 (-.f32 1 u0))))))
14.9b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0))))))
Compiler

Compiled 2844 to 1932 computations (32.1% saved)

localize58.0ms (0.7%)

Local error

Found 4 expressions with local error:

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

rewrite258.0ms (3%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
19×add-exp-log_binary32 add-sqr-sqrt_binary32
18×associate-*r*_binary32
16×add-cbrt-cube_binary32
14×pow1_binary32
10×add-cube-cbrt_binary32 *-un-lft-identity_binary32
Counts
4 → 88
Calls

4 calls:

11.0ms
(*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4))))
9.0ms
(*.f32 1/3 (pow.f32 u0 3))
8.0ms
(*.f32 (*.f32 alpha alpha) (+.f32 u0 (*.f32 1/2 (*.f32 u0 u0))))
5.0ms
(+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4)))
Compiler

Compiled 2925 to 1764 computations (39.7% saved)

series171.0ms (2%)

Error
0.1b
Counts
4 → 27
Calls

4 calls:

58.0ms
(*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4))))
47.0ms
(*.f32 (*.f32 alpha alpha) (+.f32 u0 (*.f32 1/2 (*.f32 u0 u0))))
25.0ms
(+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4)))
16.0ms
(*.f32 1/3 (pow.f32 u0 3))
Compiler

Compiled 1609 to 1117 computations (30.6% saved)

simplify77.0ms (0.9%)

Algorithm
egg-herbie
Rules
630×distribute-rgt-in_binary32
613×distribute-lft-in_binary32
351×associate-*l*_binary32
324×associate-*r*_binary32
245×unswap-sqr_binary32
Counts
115 → 70
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01622249
14541936
218131905
351871905

prune153.0ms (1.8%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New67370
Fresh41216
Picked101
Done011
Total721688
Error
0.1b
Counts
88 → 16
Alt Table
StatusErrorProgram
15.0b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1))))
2.2b
(/.f32 (*.f32 (*.f32 alpha (neg.f32 alpha)) (-.f32 (*.f32 (pow.f32 u0 12) -1/64) (pow.f32 (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) 3))) (+.f32 (*.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (pow.f32 u0 4) -1/4)) (+.f32 (*.f32 (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3)))) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))))) (*.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))))))))
14.2b
(exp.f32 (log.f32 (neg.f32 (*.f32 (*.f32 alpha alpha) (log.f32 (-.f32 1 u0))))))
14.1b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
2.3b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 (*.f32 (cbrt.f32 (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4))) (cbrt.f32 (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4)))) (cbrt.f32 (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4)))))
11.3b
(+.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))))
2.0b
(*.f32 (neg.f32 alpha) (*.f32 alpha (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4))))
2.3b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))))))) (cbrt.f32 (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))))))) (cbrt.f32 (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))))))))
2.1b
(/.f32 (*.f32 (*.f32 alpha (neg.f32 alpha)) (+.f32 (*.f32 (pow.f32 u0 8) 1/16) (*.f32 (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))))))) (+.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))))))
2.0b
(+.f32 (/.f32 (*.f32 (*.f32 alpha alpha) (-.f32 (*.f32 u0 u0) (*.f32 1/4 (pow.f32 u0 4)))) (-.f32 u0 (*.f32 1/2 (*.f32 u0 u0)))) (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4)))))
2.0b
(+.f32 (/.f32 (*.f32 (*.f32 alpha alpha) (+.f32 (pow.f32 u0 3) (*.f32 (pow.f32 u0 6) 1/8))) (+.f32 (*.f32 u0 u0) (-.f32 (*.f32 (*.f32 1/2 (*.f32 u0 u0)) (*.f32 1/2 (*.f32 u0 u0))) (*.f32 u0 (*.f32 1/2 (*.f32 u0 u0)))))) (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4)))))
14.9b
(+.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))))
1.9b
(+.f32 (+.f32 (*.f32 u0 (*.f32 alpha alpha)) (*.f32 (*.f32 alpha alpha) (*.f32 1/2 (*.f32 u0 u0)))) (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4)))))
15.4b
(+.f32 (*.f32 (*.f32 alpha (*.f32 alpha (log.f32 (cbrt.f32 (-.f32 1 u0))))) -2) (*.f32 (log.f32 (cbrt.f32 (-.f32 1 u0))) (*.f32 alpha (neg.f32 alpha))))
14.1b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 (*.f32 alpha alpha) (log.f32 (-.f32 1 u0))))) (sqrt.f32 (neg.f32 (*.f32 (*.f32 alpha alpha) (log.f32 (-.f32 1 u0))))))
14.9b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0))))))
Compiler

Compiled 2270 to 1466 computations (35.4% saved)

localize64.0ms (0.7%)

Local error

Found 4 expressions with local error:

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

rewrite271.0ms (3.1%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
40×add-exp-log_binary32
37×add-cbrt-cube_binary32
35×pow1_binary32
24×prod-exp_binary32
22×cbrt-unprod_binary32
Counts
4 → 101
Calls

4 calls:

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

Compiled 3367 to 1742 computations (48.3% saved)

series159.0ms (1.8%)

Error
0.1b
Counts
4 → 24
Calls

4 calls:

58.0ms
(*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4))))
37.0ms
(*.f32 (*.f32 alpha alpha) (*.f32 1/2 (*.f32 u0 u0)))
31.0ms
(*.f32 u0 (*.f32 alpha alpha))
15.0ms
(*.f32 1/3 (pow.f32 u0 3))
Compiler

Compiled 1702 to 1111 computations (34.7% saved)

simplify123.0ms (1.4%)

Algorithm
egg-herbie
Rules
460×exp-prod_binary32
402×associate-*l*_binary32
391×associate-*r*_binary32
326×distribute-rgt-in_binary32
325×distribute-lft-in_binary32
Counts
125 → 97
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01732092
14281752
217671632
342171606
447671606
549791606

prune145.0ms (1.7%)

Pruning

16 alts after pruning (14 fresh and 2 done)

PrunedKeptTotal
New96197
Fresh11314
Picked011
Done011
Total9716113
Error
0.1b
Counts
113 → 16
Alt Table
StatusErrorProgram
15.0b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1))))
2.2b
(/.f32 (*.f32 (*.f32 alpha (neg.f32 alpha)) (-.f32 (*.f32 (pow.f32 u0 12) -1/64) (pow.f32 (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) 3))) (+.f32 (*.f32 (*.f32 (pow.f32 u0 4) -1/4) (*.f32 (pow.f32 u0 4) -1/4)) (+.f32 (*.f32 (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3)))) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))))) (*.f32 (*.f32 (pow.f32 u0 4) -1/4) (+.f32 u0 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 u0 1/3))))))))
14.2b
(exp.f32 (log.f32 (neg.f32 (*.f32 (*.f32 alpha alpha) (log.f32 (-.f32 1 u0))))))
14.1b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
2.3b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 (*.f32 (cbrt.f32 (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4))) (cbrt.f32 (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4)))) (cbrt.f32 (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4)))))
11.3b
(+.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))))
2.0b
(*.f32 (neg.f32 alpha) (*.f32 alpha (+.f32 (*.f32 u0 (-.f32 -1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))) (*.f32 (pow.f32 u0 4) -1/4))))
2.3b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))))))) (cbrt.f32 (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2)))))))) (cbrt.f32 (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (+.f32 1 (*.f32 u0 (+.f32 (*.f32 1/3 u0) 1/2))))))))
2.0b
(+.f32 (/.f32 (*.f32 (*.f32 alpha alpha) (-.f32 (*.f32 u0 u0) (*.f32 1/4 (pow.f32 u0 4)))) (-.f32 u0 (*.f32 1/2 (*.f32 u0 u0)))) (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4)))))
2.0b
(+.f32 (/.f32 (*.f32 (*.f32 alpha alpha) (+.f32 (pow.f32 u0 3) (*.f32 (pow.f32 u0 6) 1/8))) (+.f32 (*.f32 u0 u0) (-.f32 (*.f32 (*.f32 1/2 (*.f32 u0 u0)) (*.f32 1/2 (*.f32 u0 u0))) (*.f32 u0 (*.f32 1/2 (*.f32 u0 u0)))))) (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4)))))
2.1b
(+.f32 (+.f32 (*.f32 (sqrt.f32 u0) (*.f32 alpha (*.f32 alpha (sqrt.f32 u0)))) (*.f32 (*.f32 alpha alpha) (*.f32 1/2 (*.f32 u0 u0)))) (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4)))))
14.9b
(+.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))))
1.9b
(+.f32 (+.f32 (*.f32 u0 (*.f32 alpha alpha)) (*.f32 (*.f32 alpha alpha) (*.f32 1/2 (*.f32 u0 u0)))) (*.f32 (*.f32 alpha alpha) (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (*.f32 1/4 (pow.f32 u0 4)))))
15.4b
(+.f32 (*.f32 (*.f32 alpha (*.f32 alpha (log.f32 (cbrt.f32 (-.f32 1 u0))))) -2) (*.f32 (log.f32 (cbrt.f32 (-.f32 1 u0))) (*.f32 alpha (neg.f32 alpha))))
14.1b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 (*.f32 alpha alpha) (log.f32 (-.f32 1 u0))))) (sqrt.f32 (neg.f32 (*.f32 (*.f32 alpha alpha) (log.f32 (-.f32 1 u0))))))
14.9b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0))))))
Compiler

Compiled 2139 to 1209 computations (43.5% saved)

regimes3.5s (41%)

Accuracy

Total 0.4b remaining (80.5%)

Threshold costs 0.4b (80.5%)

Compiler

Compiled 41695 to 28160 computations (32.5% saved)

bsearch9.0ms (0.1%)

Compiler

Compiled 5 to 4 computations (20% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
15×*-commutative_binary32
+-commutative_binary32
sub-neg_binary32
neg-mul-1_binary32 neg-sub0_binary32
distribute-rgt-neg-in_binary32 distribute-lft-neg-in_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03375
15475
26475
37775
48375
58675
68775
78675

end3.0ms (0%)

Compiler

Compiled 52 to 40 computations (23.1% saved)

sample2.1s (24.3%)

Algorithm
intervals
Results
481.0ms8000×body128valid
190.0ms8000×pre128true
Compiler

Compiled 632 to 443 computations (29.9% saved)

Profiling

Loading profile data...