Details

Time bar (total: 13.9s)

analyze703.0ms (5.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%1.5%98.5%0
0%1.5%98.5%1
0%1.5%98.5%2
0.8%0.8%98.5%3
0.8%0.8%98.5%4
1.2%0.4%98.5%5
1.2%0.4%98.5%6
1.4%0.2%98.5%7
1.4%0.2%98.5%8
1.4%0.1%98.5%9
1.4%0.1%98.5%10
1.5%0%98.5%11
1.5%0%98.5%12
1.5%0%98.5%13
1.5%0%98.5%14
Compiler

Compiled 21 to 17 computations (19% saved)

sample50.0ms (0.4%)

Algorithm
intervals
Results
21.0ms256×body128valid
8.0ms256×pre128true
Compiler

Compiled 35 to 29 computations (17.1% saved)

simplify23.0ms (0.2%)

Algorithm
egg-herbie
Rules
51×sub-neg_binary32
46×cancel-sign-sub-inv_binary32
29×distribute-rgt-in_binary32
25×associate-+l-_binary32
20×distribute-lft-in_binary32
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01014
12414
23714
35814
47014
58514
611214
715714
820114
921814
1023814
1127314
1228814
1329014
1424214

prune8.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
11.7b
Counts
2 → 2
Alt Table
StatusErrorProgram
12.6b
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
11.8b
(*.f32 s (neg.f32 (log.f32 (-.f32 1 (*.f32 4 u)))))
Compiler

Compiled 57 to 47 computations (17.5% saved)

localize29.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.2b
(*.f32 s (neg.f32 (log.f32 (-.f32 1 (*.f32 4 u)))))
13.4b
(log.f32 (-.f32 1 (*.f32 4 u)))

rewrite86.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
11.4b
Rules
12×associate-*r*_binary32
11×add-sqr-sqrt_binary32
*-un-lft-identity_binary32
log-prod_binary32
add-cube-cbrt_binary32
Counts
2 → 48
Calls

2 calls:

8.0ms
(*.f32 s (neg.f32 (log.f32 (-.f32 1 (*.f32 4 u)))))
2.0ms
(log.f32 (-.f32 1 (*.f32 4 u)))
Compiler

Compiled 766 to 624 computations (18.5% saved)

series64.0ms (0.5%)

Error
0.3b
Counts
2 → 15
Calls

2 calls:

32.0ms
(*.f32 s (neg.f32 (log.f32 (-.f32 1 (*.f32 4 u)))))
13.0ms
(log.f32 (-.f32 1 (*.f32 4 u)))
Compiler

Compiled 528 to 411 computations (22.2% saved)

simplify141.0ms (1%)

Algorithm
egg-herbie
Rules
691×unsub-neg_binary32
422×neg-sub0_binary32
417×neg-mul-1_binary32
379×distribute-rgt-neg-in_binary32
327×distribute-neg-in_binary32
Counts
63 → 57
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01461149
13641046
212811016
328251016
437051016
547311016
649481016
748361016

prune79.0ms (0.6%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New451257
Fresh011
Picked011
Done000
Total451459
Error
0.4b
Counts
59 → 14
Alt Table
StatusErrorProgram
4.1b
(*.f32 s (*.f32 u (+.f32 (*.f32 u 8) 4)))
12.6b
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
12.1b
(exp.f32 (log.f32 (neg.f32 (*.f32 s (log.f32 (+.f32 (*.f32 -4 u) 1))))))
11.8b
(*.f32 (sqrt.f32 s) (*.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))) (sqrt.f32 s)))
2.0b
(*.f32 s (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
11.8b
(*.f32 (*.f32 s (*.f32 (cbrt.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))) (cbrt.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))))) (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 (*.f32 4 u))))))
12.8b
(*.f32 s (neg.f32 (+.f32 (log.f32 (sqrt.f32 (+.f32 (*.f32 -4 u) 1))) (log.f32 (sqrt.f32 (+.f32 (*.f32 -4 u) 1))))))
13.2b
(*.f32 s (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (+.f32 (*.f32 -4 u) 1)))) (log.f32 (cbrt.f32 (+.f32 (*.f32 -4 u) 1))))))
2.7b
(*.f32 s (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (*.f32 64/3 (pow.f32 u 3))))
11.8b
(*.f32 (*.f32 (cbrt.f32 s) (cbrt.f32 s)) (*.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))) (cbrt.f32 s)))
11.8b
(*.f32 s (neg.f32 (log.f32 (-.f32 1 (*.f32 4 u)))))
12.7b
(*.f32 s (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u (*.f32 u 16)))) (log.f32 (-.f32 1 (*.f32 -4 u))))))
11.8b
(*.f32 (*.f32 (sqrt.f32 s) (sqrt.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))))) (*.f32 (sqrt.f32 s) (sqrt.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))))))
8.1b
(*.f32 s (*.f32 u 4))
Compiler

Compiled 1093 to 874 computations (20% saved)

localize59.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.2b
(*.f32 s (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
0.2b
(+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))
0.4b
(*.f32 u (+.f32 (*.f32 u 8) 4))
0.4b
(*.f32 64/3 (pow.f32 u 3))

rewrite233.0ms (1.7%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
23×add-sqr-sqrt_binary32
18×associate-*r*_binary32
13×add-exp-log_binary32
12×associate-*r/_binary32
12×*-un-lft-identity_binary32
Counts
4 → 90
Calls

4 calls:

14.0ms
(*.f32 s (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
7.0ms
(*.f32 64/3 (pow.f32 u 3))
6.0ms
(*.f32 u (+.f32 (*.f32 u 8) 4))
5.0ms
(+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))
Compiler

Compiled 2863 to 2241 computations (21.7% saved)

series110.0ms (0.8%)

Error
0.2b
Counts
4 → 24
Calls

4 calls:

45.0ms
(*.f32 s (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
20.0ms
(*.f32 u (+.f32 (*.f32 u 8) 4))
18.0ms
(+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))
12.0ms
(*.f32 64/3 (pow.f32 u 3))
Compiler

Compiled 1047 to 810 computations (22.6% saved)

simplify148.0ms (1.1%)

Algorithm
egg-herbie
Rules
372×associate-*l*_binary32
344×associate-*r*_binary32
302×associate-+l+_binary32
291×associate-+r+_binary32
272×exp-prod_binary32
Counts
114 → 66
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02102734
16312535
225132508
346752484
449692484
549352484

prune143.0ms (1%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New57966
Fresh3912
Picked101
Done011
Total611980
Error
0.1b
Counts
80 → 19
Alt Table
StatusErrorProgram
12.6b
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
12.1b
(exp.f32 (log.f32 (neg.f32 (*.f32 s (log.f32 (+.f32 (*.f32 -4 u) 1))))))
2.3b
(*.f32 s (+.f32 (*.f32 (*.f32 (cbrt.f32 u) (cbrt.f32 u)) (*.f32 (+.f32 (*.f32 u 8) 4) (cbrt.f32 u))) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
11.8b
(*.f32 (sqrt.f32 s) (*.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))) (sqrt.f32 s)))
2.2b
(*.f32 (sqrt.f32 s) (*.f32 (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))) (sqrt.f32 s)))
11.8b
(*.f32 (*.f32 s (*.f32 (cbrt.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))) (cbrt.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))))) (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 (*.f32 4 u))))))
12.8b
(*.f32 s (neg.f32 (+.f32 (log.f32 (sqrt.f32 (+.f32 (*.f32 -4 u) 1))) (log.f32 (sqrt.f32 (+.f32 (*.f32 -4 u) 1))))))
11.8b
(*.f32 (*.f32 (cbrt.f32 s) (cbrt.f32 s)) (*.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))) (cbrt.f32 s)))
11.8b
(*.f32 s (neg.f32 (log.f32 (-.f32 1 (*.f32 4 u)))))
12.7b
(*.f32 s (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u (*.f32 u 16)))) (log.f32 (-.f32 1 (*.f32 -4 u))))))
2.0b
(+.f32 (*.f32 s (*.f32 u (+.f32 (*.f32 u 8) 4))) (*.f32 s (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
11.8b
(*.f32 (*.f32 (sqrt.f32 s) (sqrt.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))))) (*.f32 (sqrt.f32 s) (sqrt.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))))))
1.9b
(*.f32 s (+.f32 (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
13.2b
(*.f32 s (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (+.f32 (*.f32 -4 u) 1)))) (log.f32 (cbrt.f32 (+.f32 (*.f32 -4 u) 1))))))
2.3b
(*.f32 (*.f32 (cbrt.f32 s) (cbrt.f32 s)) (*.f32 (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))) (cbrt.f32 s)))
10.7b
(/.f32 (*.f32 s (*.f32 (-.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))) (+.f32 (*.f32 u (-.f32 (*.f32 64 (*.f32 u u)) 16)) (*.f32 (-.f32 (*.f32 u 8) 4) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))))))) (*.f32 (-.f32 (*.f32 u 8) 4) (-.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
19.1b
(/.f32 (*.f32 s (+.f32 (*.f32 (*.f32 u (-.f32 (*.f32 64 (*.f32 u u)) 16)) (+.f32 (*.f32 4096/9 (pow.f32 u 6)) (-.f32 (*.f32 4096 (pow.f32 u 8)) (*.f32 (pow.f32 u 4) (*.f32 (pow.f32 u 3) 4096/3))))) (*.f32 (+.f32 (*.f32 262144/27 (pow.f32 u 9)) (pow.f32 (*.f32 64 (pow.f32 u 4)) 3)) (-.f32 (*.f32 u 8) 4)))) (*.f32 (-.f32 (*.f32 u 8) 4) (+.f32 (*.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64/3 (pow.f32 u 3))) (-.f32 (*.f32 (*.f32 64 (pow.f32 u 4)) (*.f32 64 (pow.f32 u 4))) (*.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))))
10.3b
(/.f32 (*.f32 s (+.f32 (*.f32 (*.f32 u (+.f32 64 (pow.f32 (*.f32 u 8) 3))) (-.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))) (*.f32 (+.f32 (*.f32 4096/9 (pow.f32 u 6)) (*.f32 (pow.f32 u 8) -4096)) (+.f32 16 (*.f32 u (+.f32 -32 (*.f32 u 64))))))) (*.f32 (+.f32 (*.f32 (*.f32 u 8) (*.f32 u 8)) (-.f32 (*.f32 4 4) (*.f32 (*.f32 u 8) 4))) (-.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
2.0b
(+.f32 (+.f32 (*.f32 4 (*.f32 s u)) (*.f32 8 (*.f32 s (*.f32 u u)))) (*.f32 s (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
Compiler

Compiled 2368 to 1836 computations (22.5% saved)

localize65.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.1b
(+.f32 (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))))
0.2b
(*.f32 s (+.f32 (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
0.2b
(+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))
0.4b
(*.f32 64/3 (pow.f32 u 3))

rewrite267.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
19×add-sqr-sqrt_binary32
18×add-log-exp_binary32
16×associate-*r*_binary32
14×*-un-lft-identity_binary32
11×flip-+_binary32
Counts
4 → 90
Calls

4 calls:

14.0ms
(*.f32 s (+.f32 (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
12.0ms
(+.f32 (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))))
6.0ms
(*.f32 64/3 (pow.f32 u 3))
5.0ms
(+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))
Compiler

Compiled 3633 to 2778 computations (23.5% saved)

series238.0ms (1.7%)

Error
0.1b
Counts
4 → 24
Calls

4 calls:

87.0ms
(*.f32 s (+.f32 (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
52.0ms
(*.f32 64/3 (pow.f32 u 3))
40.0ms
(+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))
21.0ms
(+.f32 (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))))
Compiler

Compiled 967 to 731 computations (24.4% saved)

simplify190.0ms (1.4%)

Algorithm
egg-herbie
Rules
411×associate-+l+_binary32
354×associate-*l*_binary32
340×associate-*r*_binary32
318×cancel-sign-sub-inv_binary32
228×distribute-rgt-in_binary32
Counts
114 → 92
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02003727
16213333
226883276
351543276

prune451.0ms (3.3%)

Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New86692
Fresh31417
Picked101
Done011
Total9021111
Error
0.1b
Counts
111 → 21
Alt Table
StatusErrorProgram
2.1b
(*.f32 s (/.f32 (+.f32 (pow.f32 (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))) 3) (pow.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) 3)) (+.f32 (*.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (*.f32 u (+.f32 (*.f32 u 8) 4))) (*.f32 (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))) (+.f32 (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))) (*.f32 u (+.f32 -4 (*.f32 u -8))))))))
11.8b
(*.f32 (*.f32 (sqrt.f32 s) (sqrt.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))))) (*.f32 (sqrt.f32 s) (sqrt.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))))))
12.6b
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
14.3b
(/.f32 (*.f32 s (*.f32 (*.f32 u (*.f32 (-.f32 (*.f32 u 8) 4) (-.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))))) (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))) (*.f32 (-.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4)) (-.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
12.1b
(exp.f32 (log.f32 (neg.f32 (*.f32 s (log.f32 (+.f32 (*.f32 -4 u) 1))))))
2.3b
(*.f32 s (+.f32 (*.f32 (*.f32 (cbrt.f32 u) (cbrt.f32 u)) (*.f32 (+.f32 (*.f32 u 8) 4) (cbrt.f32 u))) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
11.8b
(*.f32 (sqrt.f32 s) (*.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))) (sqrt.f32 s)))
2.2b
(*.f32 (sqrt.f32 s) (*.f32 (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))) (sqrt.f32 s)))
11.8b
(*.f32 (*.f32 s (*.f32 (cbrt.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))) (cbrt.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))))) (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 (*.f32 4 u))))))
12.8b
(*.f32 s (neg.f32 (+.f32 (log.f32 (sqrt.f32 (+.f32 (*.f32 -4 u) 1))) (log.f32 (sqrt.f32 (+.f32 (*.f32 -4 u) 1))))))
4.1b
(/.f32 (*.f32 s (-.f32 (*.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (*.f32 u (+.f32 (*.f32 u 8) 4))) (*.f32 (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))) (-.f32 (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
13.2b
(*.f32 s (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (+.f32 (*.f32 -4 u) 1)))) (log.f32 (cbrt.f32 (+.f32 (*.f32 -4 u) 1))))))
11.8b
(*.f32 (*.f32 (cbrt.f32 s) (cbrt.f32 s)) (*.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))) (cbrt.f32 s)))
11.8b
(*.f32 s (neg.f32 (log.f32 (-.f32 1 (*.f32 4 u)))))
12.7b
(*.f32 s (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u (*.f32 u 16)))) (log.f32 (-.f32 1 (*.f32 -4 u))))))
2.0b
(+.f32 (*.f32 s (*.f32 u (+.f32 (*.f32 u 8) 4))) (*.f32 s (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
7.6b
(*.f32 s (/.f32 (+.f32 (*.f32 (-.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))) (+.f32 (*.f32 (pow.f32 u 6) 512) (*.f32 (pow.f32 u 3) 64))) (*.f32 (+.f32 (*.f32 4096/9 (pow.f32 u 6)) (*.f32 (pow.f32 u 8) -4096)) (+.f32 (*.f32 64 (pow.f32 u 4)) (*.f32 u (*.f32 (*.f32 u 4) (+.f32 4 (*.f32 u -8))))))) (*.f32 (-.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))) (+.f32 (*.f32 64 (pow.f32 u 4)) (*.f32 u (*.f32 (*.f32 u 4) (+.f32 4 (*.f32 u -8))))))))
2.3b
(*.f32 (*.f32 (cbrt.f32 s) (cbrt.f32 s)) (*.f32 (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))) (cbrt.f32 s)))
6.9b
(/.f32 (*.f32 s (+.f32 (pow.f32 (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))) 3) (pow.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) 3))) (+.f32 (*.f32 (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4)) (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4))) (-.f32 (*.f32 (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))) (*.f32 (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))))
3.1b
(*.f32 s (exp.f32 (log.f32 (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))))
2.0b
(+.f32 (+.f32 (*.f32 4 (*.f32 s u)) (*.f32 8 (*.f32 s (*.f32 u u)))) (*.f32 s (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
Compiler

Compiled 3762 to 2916 computations (22.5% saved)

localize163.0ms (1.2%)

Local error

Found 4 expressions with local error:

0.2b
(+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))
0.2b
(+.f32 (*.f32 4 (*.f32 s u)) (*.f32 8 (*.f32 s (*.f32 u u))))
0.3b
(*.f32 8 (*.f32 s (*.f32 u u)))
0.4b
(*.f32 64/3 (pow.f32 u 3))

rewrite328.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
18×add-exp-log_binary32
16×add-sqr-sqrt_binary32
15×add-cbrt-cube_binary32
13×associate-*r*_binary32
13×pow1_binary32
Counts
4 → 74
Calls

4 calls:

13.0ms
(*.f32 8 (*.f32 s (*.f32 u u)))
11.0ms
(*.f32 64/3 (pow.f32 u 3))
11.0ms
(+.f32 (*.f32 4 (*.f32 s u)) (*.f32 8 (*.f32 s (*.f32 u u))))
10.0ms
(+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))
Compiler

Compiled 2316 to 1437 computations (38% saved)

series206.0ms (1.5%)

Error
0.1b
Counts
4 → 24
Calls

4 calls:

66.0ms
(+.f32 (*.f32 4 (*.f32 s u)) (*.f32 8 (*.f32 s (*.f32 u u))))
48.0ms
(*.f32 8 (*.f32 s (*.f32 u u)))
38.0ms
(+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))
22.0ms
(*.f32 64/3 (pow.f32 u 3))
Compiler

Compiled 1385 to 1019 computations (26.4% saved)

simplify208.0ms (1.5%)

Algorithm
egg-herbie
Rules
475×cancel-sign-sub-inv_binary32
258×associate-*r*_binary32
227×associate-*l*_binary32
206×distribute-rgt-out_binary32
195×exp-prod_binary32
Counts
98 → 73
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01652110
14271854
214391623
334431599
446961599
549711599
649461599

prune224.0ms (1.6%)

Pruning

19 alts after pruning (17 fresh and 2 done)

PrunedKeptTotal
New71273
Fresh41519
Picked011
Done011
Total751994
Error
0.1b
Counts
94 → 19
Alt Table
StatusErrorProgram
12.6b
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
12.1b
(exp.f32 (log.f32 (neg.f32 (*.f32 s (log.f32 (+.f32 (*.f32 -4 u) 1))))))
2.3b
(*.f32 s (+.f32 (*.f32 (*.f32 (cbrt.f32 u) (cbrt.f32 u)) (*.f32 (+.f32 (*.f32 u 8) 4) (cbrt.f32 u))) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
11.8b
(*.f32 (sqrt.f32 s) (*.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))) (sqrt.f32 s)))
2.2b
(*.f32 (sqrt.f32 s) (*.f32 (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))) (sqrt.f32 s)))
11.8b
(*.f32 (*.f32 s (*.f32 (cbrt.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))) (cbrt.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))))) (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 (*.f32 4 u))))))
12.8b
(*.f32 s (neg.f32 (+.f32 (log.f32 (sqrt.f32 (+.f32 (*.f32 -4 u) 1))) (log.f32 (sqrt.f32 (+.f32 (*.f32 -4 u) 1))))))
11.8b
(*.f32 (*.f32 (cbrt.f32 s) (cbrt.f32 s)) (*.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))) (cbrt.f32 s)))
11.8b
(*.f32 s (neg.f32 (log.f32 (-.f32 1 (*.f32 4 u)))))
12.7b
(*.f32 s (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u (*.f32 u 16)))) (log.f32 (-.f32 1 (*.f32 -4 u))))))
2.3b
(+.f32 (*.f32 (sqrt.f32 (*.f32 (*.f32 s u) (+.f32 4 (*.f32 u 8)))) (sqrt.f32 (*.f32 (*.f32 s u) (+.f32 4 (*.f32 u 8))))) (*.f32 s (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
2.3b
(*.f32 (*.f32 (cbrt.f32 s) (cbrt.f32 s)) (*.f32 (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))) (cbrt.f32 s)))
6.9b
(/.f32 (*.f32 s (+.f32 (pow.f32 (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))) 3) (pow.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) 3))) (+.f32 (*.f32 (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4)) (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4))) (-.f32 (*.f32 (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4))) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))) (*.f32 (+.f32 (*.f32 u (*.f32 u 8)) (*.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))))
2.4b
(+.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 (*.f32 s u) (+.f32 4 (*.f32 u 8)))) (cbrt.f32 (*.f32 (*.f32 s u) (+.f32 4 (*.f32 u 8))))) (cbrt.f32 (*.f32 (*.f32 s u) (+.f32 4 (*.f32 u 8))))) (*.f32 s (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
2.0b
(+.f32 (*.f32 s (*.f32 u (+.f32 (*.f32 u 8) 4))) (*.f32 s (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
11.8b
(*.f32 (*.f32 (sqrt.f32 s) (sqrt.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))))) (*.f32 (sqrt.f32 s) (sqrt.f32 (neg.f32 (log.f32 (+.f32 (*.f32 -4 u) 1))))))
13.2b
(*.f32 s (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (+.f32 (*.f32 -4 u) 1)))) (log.f32 (cbrt.f32 (+.f32 (*.f32 -4 u) 1))))))
3.1b
(*.f32 s (exp.f32 (log.f32 (+.f32 (*.f32 u (+.f32 (*.f32 u 8) 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))))
2.0b
(+.f32 (+.f32 (*.f32 4 (*.f32 s u)) (*.f32 8 (*.f32 s (*.f32 u u)))) (*.f32 s (+.f32 (*.f32 64/3 (pow.f32 u 3)) (*.f32 64 (pow.f32 u 4)))))
Compiler

Compiled 1671 to 1145 computations (31.5% saved)

regimes5.5s (39.5%)

Accuracy

Total 0.3b remaining (77.9%)

Threshold costs 0.3b (77.9%)

Compiler

Compiled 36664 to 28759 computations (21.6% saved)

bsearch19.0ms (0.1%)

Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify13.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03063
15363
26663
37663
48263
58463
68263

end6.0ms (0%)

Compiler

Compiled 44 to 35 computations (20.5% saved)

sample4.1s (29.8%)

Algorithm
intervals
Results
1.2s8000×body128valid
356.0ms8000×pre128true
Compiler

Compiled 595 to 459 computations (22.9% saved)

Profiling

Loading profile data...