Details

Time bar (total: 3.5s)

analyze107.0ms (3%)

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

Compiled 31 to 25 computations (19.4% saved)

sample1.5s (43.9%)

Results
1.5s8256×body128valid
Compiler

Compiled 62 to 50 computations (19.4% saved)

preprocess78.0ms (2.2%)

Algorithm
egg-herbie
Rules
1254×fma-def_binary32
520×fma-neg_binary32
232×distribute-rgt-in_binary32
207×cancel-sign-sub-inv_binary32
177×sub-neg_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02140
15238
210534
324930
443530
559430
678726
7114626
8188626
9248726
10264026
11313226
12362426
13378526
14387926
15453926
16471126
17497026
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
(*.f32 (*.f32 3 u) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 s 1/4) 3/4)))))
Outputs
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
(*.f32 3 (*.f32 s (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 u 3/4) 1/3))))))
(*.f32 3 (*.f32 s (neg.f32 (log1p.f32 (/.f32 (neg.f32 (+.f32 u -1/4)) 3/4)))))
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (neg.f32 (/.f32 u 3/4)) 1/3))))
(*.f32 s (*.f32 (log.f32 (-.f32 4/3 (/.f32 u 3/4))) -3))
(*.f32 s (*.f32 (log1p.f32 (+.f32 1/3 (/.f32 u -3/4))) -3))
(*.f32 s (*.f32 (log1p.f32 (+.f32 1/3 (*.f32 -4/3 u))) -3))
(*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))
(*.f32 s (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) -3))
(*.f32 (*.f32 3 u) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 s 1/4) 3/4)))))
(*.f32 (*.f32 3 u) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 s 3/4) 1/3)))))
(neg.f32 (*.f32 (*.f32 3 u) (log1p.f32 (/.f32 (neg.f32 (+.f32 s -1/4)) 3/4))))
(*.f32 u (*.f32 -3 (log1p.f32 (neg.f32 (/.f32 (+.f32 s -1/4) 3/4)))))
(*.f32 (log.f32 (-.f32 4/3 (/.f32 s 3/4))) (*.f32 u -3))
(*.f32 (log1p.f32 (*.f32 -4/3 (+.f32 s -1/4))) (*.f32 u -3))
(*.f32 u (*.f32 (log.f32 (+.f32 (*.f32 -4/3 s) 4/3)) -3))
(*.f32 u (*.f32 (log.f32 (fma.f32 -4/3 s 4/3)) -3))
(*.f32 (log.f32 (fma.f32 s -4/3 4/3)) (*.f32 u -3))
Compiler

Compiled 16 to 14 computations (12.5% saved)

simplify40.0ms (1.2%)

Algorithm
egg-herbie
Rules
764×fma-def_binary32
494×fma-neg_binary32
125×cancel-sign-sub-inv_binary32
104×distribute-rgt-in_binary32
87×sub-neg_binary32
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01420
13319
26117
313915
424215
533415
644113
763513
8101313
9127313
10165913
11192113
12235813
13267413
14270913
15271013
16271013
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
Outputs
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
(*.f32 3 (*.f32 s (neg.f32 (log.f32 (-.f32 1 (/.f32 (+.f32 u -1/4) 3/4))))))
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (/.f32 (neg.f32 (+.f32 u -1/4)) 3/4))))
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (neg.f32 (/.f32 u 3/4)) 1/3))))
(*.f32 s (*.f32 (log.f32 (-.f32 4/3 (/.f32 u 3/4))) -3))
(*.f32 (log.f32 (+.f32 (/.f32 u -3/4) 4/3)) (*.f32 s -3))
(*.f32 (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)) (*.f32 s -3))
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.5b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.7b
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))
1.3b
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
Compiler

Compiled 79 to 67 computations (15.2% saved)

localize21.0ms (0.6%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(fma.f32 u -4/3 1/3)
0.4b
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))
0.4b
(log1p.f32 (fma.f32 u -4/3 1/3))

series49.0ms (1.4%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
42.0ms
s
@0
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))
1.0ms
s
@inf
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))
1.0ms
u
@0
(log1p.f32 (fma.f32 u -4/3 1/3))
1.0ms
u
@inf
(log1p.f32 (fma.f32 u -4/3 1/3))
1.0ms
u
@inf
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))

rewrite44.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
823×expm1-log1p-u_binary32
822×log1p-expm1-u_binary32
97×add-sqr-sqrt_binary32
92×add-exp-log_binary32
92×add-log-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
120225
2221625
Stop Event
node limit
Counts
3 → 54
Calls
Call 1
Inputs
(log1p.f32 (fma.f32 u -4/3 1/3))
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))
(fma.f32 u -4/3 1/3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 (fma.f32 u -4/3 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 s -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3) (pow.f32 (*.f32 s -3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 s -3) 3) (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1/3 (*.f32 u -4/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 u -4/3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 u -4/3) 1) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 u -4/3 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 u -4/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)) (cbrt.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 u -4/3 1/3)) (sqrt.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 3) 1/27) (+.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) (-.f32 1/9 (*.f32 (*.f32 u -4/3) 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 u -4/3 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u -4/3 1/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 u -4/3 1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 u -4/3 1/3)) 1))))))

simplify35.0ms (1%)

Algorithm
egg-herbie
Rules
572×fma-def_binary32
504×fma-neg_binary32
470×cancel-sign-sub-inv_binary32
391×sub-neg_binary32
220×unsub-neg_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0102820
1320770
21022704
33542704
Stop Event
node limit
Counts
102 → 106
Calls
Call 1
Inputs
(log.f32 4/3)
(-.f32 (log.f32 4/3) u)
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/2 (pow.f32 u 2)) u))
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/3 (pow.f32 u 3)) (+.f32 (*.f32 1/2 (pow.f32 u 2)) u)))
(-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))
(-.f32 (log.f32 -4/3) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u)))
(-.f32 (log.f32 -4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u))))
(-.f32 (log.f32 -4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 (/.f32 1 u)) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))))
(-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))
(-.f32 (log.f32 4/3) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u))))
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u)))))
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u))))))
(*.f32 -3 (*.f32 s (log.f32 4/3)))
(-.f32 (*.f32 3 (*.f32 s u)) (*.f32 3 (*.f32 s (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (*.f32 3 (*.f32 s u))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 3 (*.f32 s u)))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u)))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u)))) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (*.f32 3 (/.f32 s u))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
1/3
(-.f32 1/3 (*.f32 4/3 u))
(-.f32 1/3 (*.f32 4/3 u))
(-.f32 1/3 (*.f32 4/3 u))
(*.f32 -4/3 u)
(-.f32 1/3 (*.f32 4/3 u))
(-.f32 1/3 (*.f32 4/3 u))
(-.f32 1/3 (*.f32 4/3 u))
(*.f32 -4/3 u)
(-.f32 1/3 (*.f32 4/3 u))
(-.f32 1/3 (*.f32 4/3 u))
(-.f32 1/3 (*.f32 4/3 u))
Outputs
(log.f32 4/3)
(-.f32 (log.f32 4/3) u)
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/2 (pow.f32 u 2)) u))
(-.f32 (log.f32 4/3) (fma.f32 1/2 (*.f32 u u) u))
(-.f32 (log.f32 4/3) (fma.f32 u (*.f32 u 1/2) u))
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/3 (pow.f32 u 3)) (+.f32 (*.f32 1/2 (pow.f32 u 2)) u)))
(-.f32 (log.f32 4/3) (fma.f32 1/3 (pow.f32 u 3) (fma.f32 1/2 (*.f32 u u) u)))
(-.f32 (log.f32 4/3) (fma.f32 u (*.f32 u 1/2) (fma.f32 1/3 (pow.f32 u 3) u)))
(-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))
(-.f32 (log.f32 -4/3) (neg.f32 (log.f32 u)))
(+.f32 (log.f32 -4/3) (log.f32 u))
(-.f32 (log.f32 -4/3) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u)))
(-.f32 (log.f32 -4/3) (+.f32 (/.f32 1 u) (neg.f32 (log.f32 u))))
(+.f32 (log.f32 -4/3) (-.f32 (log.f32 u) (/.f32 1 u)))
(+.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 -1 u))
(-.f32 (log.f32 -4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u))))
(-.f32 (log.f32 -4/3) (+.f32 (+.f32 (/.f32 1 u) (neg.f32 (log.f32 u))) (/.f32 1/2 (*.f32 u u))))
(-.f32 (-.f32 (log.f32 -4/3) (-.f32 (/.f32 1/2 (*.f32 u u)) (log.f32 u))) (/.f32 1 u))
(+.f32 (log.f32 -4/3) (+.f32 (log.f32 u) (+.f32 (/.f32 -1/2 (*.f32 u u)) (/.f32 -1 u))))
(-.f32 (log.f32 -4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 (/.f32 1 u)) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))))
(-.f32 (log.f32 -4/3) (+.f32 (+.f32 (/.f32 1/2 (*.f32 u u)) (neg.f32 (log.f32 u))) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3)))))
(-.f32 (-.f32 (log.f32 -4/3) (-.f32 (/.f32 1/2 (*.f32 u u)) (log.f32 u))) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))
(+.f32 (-.f32 (+.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 -1 u)) (/.f32 1/3 (pow.f32 u 3))) (/.f32 -1/2 (*.f32 u u)))
(+.f32 (+.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 -1/2 (*.f32 u u))) (-.f32 (/.f32 -1 u) (/.f32 1/3 (pow.f32 u 3))))
(-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))
(-.f32 (log.f32 4/3) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u))))
(-.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 1 u))
(+.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 -1 u))
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u)))))
(-.f32 (-.f32 (log.f32 4/3) (/.f32 1/2 (*.f32 u u))) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u))))
(-.f32 (log.f32 4/3) (+.f32 (log.f32 (/.f32 -1 u)) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u)))))
(-.f32 (+.f32 (log.f32 4/3) (+.f32 (/.f32 -1/2 (*.f32 u u)) (/.f32 -1 u))) (log.f32 (/.f32 -1 u)))
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u))))))
(-.f32 (-.f32 (log.f32 4/3) (/.f32 1/2 (*.f32 u u))) (+.f32 (/.f32 1/3 (pow.f32 u 3)) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u)))))
(-.f32 (log.f32 4/3) (+.f32 (/.f32 1/3 (pow.f32 u 3)) (+.f32 (log.f32 (/.f32 -1 u)) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u))))))
(-.f32 (-.f32 (log.f32 4/3) (+.f32 (/.f32 1 u) (+.f32 (/.f32 1/2 (*.f32 u u)) (/.f32 1/3 (pow.f32 u 3))))) (log.f32 (/.f32 -1 u)))
(-.f32 (+.f32 (log.f32 4/3) (+.f32 (/.f32 -1/2 (*.f32 u u)) (/.f32 -1 u))) (+.f32 (/.f32 1/3 (pow.f32 u 3)) (log.f32 (/.f32 -1 u))))
(*.f32 -3 (*.f32 s (log.f32 4/3)))
(*.f32 (*.f32 -3 s) (log.f32 4/3))
(*.f32 (log.f32 4/3) (*.f32 -3 s))
(-.f32 (*.f32 3 (*.f32 s u)) (*.f32 3 (*.f32 s (log.f32 4/3))))
(*.f32 3 (-.f32 (*.f32 u s) (*.f32 (log.f32 4/3) s)))
(*.f32 3 (*.f32 s (-.f32 u (log.f32 4/3))))
(*.f32 s (*.f32 3 (-.f32 u (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (*.f32 3 (*.f32 s u))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (*.f32 (*.f32 3/2 s) (*.f32 u u)) (*.f32 3 (-.f32 (*.f32 u s) (*.f32 (log.f32 4/3) s))))
(fma.f32 3/2 (*.f32 u (*.f32 u s)) (*.f32 3 (*.f32 s (-.f32 u (log.f32 4/3)))))
(fma.f32 (*.f32 u u) (*.f32 s 3/2) (*.f32 s (*.f32 3 (-.f32 u (log.f32 4/3)))))
(-.f32 (+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 3 (*.f32 s u)))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (fma.f32 3/2 (*.f32 (*.f32 u u) s) (fma.f32 s (pow.f32 u 3) (*.f32 3 (*.f32 u s)))) (*.f32 (*.f32 -3 s) (log.f32 4/3)))
(+.f32 (fma.f32 3/2 (*.f32 u (*.f32 u s)) (*.f32 (pow.f32 u 3) s)) (*.f32 3 (*.f32 s (-.f32 u (log.f32 4/3)))))
(+.f32 (*.f32 s (*.f32 3 (-.f32 u (log.f32 4/3)))) (*.f32 (*.f32 u (*.f32 u s)) (+.f32 3/2 u)))
(*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))
(*.f32 (*.f32 -3 s) (-.f32 (log.f32 -4/3) (neg.f32 (log.f32 u))))
(*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(+.f32 (*.f32 3 (+.f32 (/.f32 s u) (*.f32 (neg.f32 (log.f32 u)) s))) (*.f32 -3 (*.f32 (log.f32 -4/3) s)))
(fma.f32 3 (/.f32 s u) (*.f32 (*.f32 3 s) (-.f32 (neg.f32 (log.f32 u)) (log.f32 -4/3))))
(fma.f32 3 (/.f32 s u) (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s)))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u)))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(+.f32 (fma.f32 3 (/.f32 s u) (fma.f32 3 (*.f32 (neg.f32 (log.f32 u)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) (*.f32 -3 (*.f32 (log.f32 -4/3) s)))
(fma.f32 3 (/.f32 s u) (+.f32 (*.f32 3/2 (/.f32 s (*.f32 u u))) (*.f32 (*.f32 3 s) (-.f32 (neg.f32 (log.f32 u)) (log.f32 -4/3)))))
(+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s)))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u)))) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(+.f32 (fma.f32 3 (/.f32 s u) (fma.f32 3 (*.f32 (neg.f32 (log.f32 u)) s) (+.f32 (*.f32 3/2 (/.f32 s (*.f32 u u))) (/.f32 s (pow.f32 u 3))))) (*.f32 -3 (*.f32 (log.f32 -4/3) s)))
(fma.f32 3 (/.f32 s u) (+.f32 (fma.f32 3/2 (/.f32 s (*.f32 u u)) (/.f32 s (pow.f32 u 3))) (*.f32 (*.f32 3 s) (-.f32 (neg.f32 (log.f32 u)) (log.f32 -4/3)))))
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s))))
(*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))
(*.f32 -3 (*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) s))
(*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (*.f32 3 (/.f32 s u))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (*.f32 3 (+.f32 (*.f32 (log.f32 (/.f32 -1 u)) s) (/.f32 s u))) (*.f32 (*.f32 -3 s) (log.f32 4/3)))
(*.f32 3 (-.f32 (fma.f32 (log.f32 (/.f32 -1 u)) s (/.f32 s u)) (*.f32 (log.f32 4/3) s)))
(fma.f32 3 (/.f32 s u) (*.f32 (*.f32 3 s) (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (fma.f32 3 (*.f32 (log.f32 (/.f32 -1 u)) s) (fma.f32 3 (/.f32 s u) (*.f32 3/2 (/.f32 s (*.f32 u u))))) (*.f32 (*.f32 -3 s) (log.f32 4/3)))
(+.f32 (fma.f32 3 (fma.f32 (log.f32 (/.f32 -1 u)) s (/.f32 s u)) (*.f32 3/2 (/.f32 s (*.f32 u u)))) (*.f32 (log.f32 4/3) (*.f32 -3 s)))
(+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 (*.f32 3 s) (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (fma.f32 3 (*.f32 (log.f32 (/.f32 -1 u)) s) (fma.f32 3 (/.f32 s u) (+.f32 (*.f32 3/2 (/.f32 s (*.f32 u u))) (/.f32 s (pow.f32 u 3))))) (*.f32 (*.f32 -3 s) (log.f32 4/3)))
(+.f32 (fma.f32 3 (fma.f32 (log.f32 (/.f32 -1 u)) s (/.f32 s u)) (fma.f32 3/2 (/.f32 s (*.f32 u u)) (/.f32 s (pow.f32 u 3)))) (*.f32 (log.f32 4/3) (*.f32 -3 s)))
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 (*.f32 3 s) (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))) (*.f32 -3 s))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))) (*.f32 -3 s))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))) (*.f32 -3 s))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))) (*.f32 -3 s))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))) (*.f32 -3 s))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))) (*.f32 -3 s))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))) (*.f32 -3 s))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))) (*.f32 -3 s))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))) (*.f32 -3 s))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))) (*.f32 -3 s))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))) (*.f32 -3 s))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))) (*.f32 -3 s))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
1/3
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(*.f32 -4/3 u)
(*.f32 u -4/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(*.f32 -4/3 u)
(*.f32 u -4/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)

prune83.0ms (2.4%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New9016106
Fresh011
Picked101
Done000
Total9117108
Error
0.1b
Counts
108 → 17
Alt Table
StatusErrorProgram
0.8b
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)
0.9b
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3) (*.f32 s -3))
1.0b
(pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 3)
1.0b
(*.f32 (*.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2)) (*.f32 s -3))
8.5b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1) (*.f32 s -3))
1.3b
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
1.4b
(*.f32 (log1p.f32 (log.f32 (exp.f32 (fma.f32 u -4/3 1/3)))) (*.f32 s -3))
8.1b
(*.f32 (expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (*.f32 s -3))
1.2b
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
1.3b
(*.f32 (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) (*.f32 s -3))
1.4b
(*.f32 (log1p.f32 (/.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 3) 1/27) (+.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) (-.f32 1/9 (*.f32 (*.f32 u -4/3) 1/3))))) (*.f32 s -3))
0.8b
(*.f32 (log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))) (*.f32 s -3))
1.1b
(*.f32 (log.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)) (*.f32 s -3))
2.9b
(exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))
1.1b
(*.f32 (log1p.f32 (-.f32 1/3 (*.f32 4/3 u))) (*.f32 s -3))
1.1b
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
1.1b
(*.f32 (log1p.f32 (pow.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) 3)) (*.f32 s -3))
Compiler

Compiled 2109 to 1682 computations (20.2% saved)

localize40.0ms (1.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))
0.4b
(*.f32 (log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))) (*.f32 s -3))
0.4b
(log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2))))
0.5b
(pow.f32 (fma.f32 u -4/3 1/3) 2)

series5.0ms (0.1%)

Counts
4 → 60
Calls

15 calls:

TimeVariablePointExpression
0.0ms
u
@0
(pow.f32 (fma.f32 u -4/3 1/3) 2)
0.0ms
u
@inf
(pow.f32 (fma.f32 u -4/3 1/3) 2)
0.0ms
u
@-inf
(pow.f32 (fma.f32 u -4/3 1/3) 2)
0.0ms
u
@0
(log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2))))
0.0ms
u
@inf
(log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2))))

rewrite56.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
552×log-prod_binary32
222×expm1-udef_binary32
222×log1p-udef_binary32
183×log-pow_binary32
139×add-sqr-sqrt_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01569
130233
2318833
Stop Event
node limit
Counts
4 → 101
Calls
Call 1
Inputs
(pow.f32 (fma.f32 u -4/3 1/3) 2)
(log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2))))
(*.f32 (log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))) (*.f32 s -3))
(*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (pow.f32 (fma.f32 u -4/3 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 u -4/3) (fma.f32 u -4/3 1/3)) (*.f32 1/3 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (fma.f32 u -4/3 1/3) (*.f32 u -4/3)) (*.f32 (fma.f32 u -4/3 1/3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2))) (cbrt.f32 (exp.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2))))) (log.f32 (cbrt.f32 (exp.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))) (log.f32 (sqrt.f32 (exp.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 u -4/3 1/3) (fma.f32 u -4/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (*.f32 (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)) (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (fma.f32 u -4/3 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 4)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 u -4/3 1/3)) (*.f32 (sqrt.f32 (fma.f32 u -4/3 1/3)) (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (fma.f32 u -4/3 1/3) (sqrt.f32 (fma.f32 u -4/3 1/3))) (sqrt.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (fma.f32 u -4/3 1/3) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2))) (cbrt.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 4)) 1) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 4)) (cbrt.f32 (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 4)))) (pow.f32 (cbrt.f32 (cbrt.f32 (fma.f32 u -4/3 1/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 4)) (cbrt.f32 (fma.f32 u -4/3 1/3))) (cbrt.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (fma.f32 u -4/3 1/3) (*.f32 u -4/3) (*.f32 (fma.f32 u -4/3 1/3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u -4/3) (fma.f32 u -4/3 1/3) (*.f32 1/3 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 2 (log.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 2 (log.f32 (fma.f32 u -4/3 1/3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)) (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)))) (log.f32 (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1))) (log.f32 (sqrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log1p.f32 (pow.f32 (fma.f32 u -4/3 1/3) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (-.f32 1 (pow.f32 (fma.f32 u -4/3 1/3) 2))) (log.f32 (-.f32 1 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 (fma.f32 u -4/3 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 s -3))) (cbrt.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 s -3))))) (log.f32 (cbrt.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 s -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 s -3)))) (log.f32 (sqrt.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 s -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 s -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3) (pow.f32 (*.f32 s -3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 s -3) 3) (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1/3 (*.f32 u -4/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 u -4/3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (fma.f32 u -4/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 u -4/3) 1) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (fma.f32 u -4/3 1/3))) (cbrt.f32 (exp.f32 (fma.f32 u -4/3 1/3))))) (log.f32 (cbrt.f32 (exp.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (fma.f32 u -4/3 1/3)))) (log.f32 (sqrt.f32 (exp.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 3) 1/27) (fma.f32 (*.f32 u -4/3) (*.f32 u -4/3) (-.f32 1/9 (*.f32 (*.f32 u -4/3) 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (*.f32 u -4/3) (*.f32 u -4/3) -1/9) (fma.f32 u -4/3 -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 u -4/3 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u -4/3 1/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 u -4/3 1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (fma.f32 u -4/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u -4/3 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -4/3 u 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (+.f32 (fma.f32 u -4/3 1/3) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 u -4/3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 u) 2) (*.f32 (cbrt.f32 u) -4/3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 u) (*.f32 (sqrt.f32 u) -4/3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u -4/3) 1 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (*.f32 u -4/3)) (cbrt.f32 (*.f32 u -4/3))) (cbrt.f32 (*.f32 u -4/3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)) (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1))) (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 u -4/3)) (sqrt.f32 (*.f32 u -4/3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)) (sqrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 u -4/3 1/3)) 1))))))

simplify40.0ms (1.2%)

Algorithm
egg-herbie
Rules
589×fma-def_binary32
532×fma-neg_binary32
490×cancel-sign-sub-inv_binary32
405×sub-neg_binary32
220×unsub-neg_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0111964
1344898
21068816
33646806
Stop Event
node limit
Counts
161 → 161
Calls
Call 1
Inputs
1/9
(-.f32 1/9 (*.f32 8/9 u))
(-.f32 (+.f32 1/9 (*.f32 16/9 (pow.f32 u 2))) (*.f32 8/9 u))
(-.f32 (+.f32 1/9 (*.f32 16/9 (pow.f32 u 2))) (*.f32 8/9 u))
(*.f32 16/9 (pow.f32 u 2))
(-.f32 (*.f32 16/9 (pow.f32 u 2)) (*.f32 8/9 u))
(-.f32 (+.f32 1/9 (*.f32 16/9 (pow.f32 u 2))) (*.f32 8/9 u))
(-.f32 (+.f32 1/9 (*.f32 16/9 (pow.f32 u 2))) (*.f32 8/9 u))
(*.f32 16/9 (pow.f32 u 2))
(-.f32 (*.f32 16/9 (pow.f32 u 2)) (*.f32 8/9 u))
(-.f32 (+.f32 1/9 (*.f32 16/9 (pow.f32 u 2))) (*.f32 8/9 u))
(-.f32 (+.f32 1/9 (*.f32 16/9 (pow.f32 u 2))) (*.f32 8/9 u))
(log.f32 4/3)
(-.f32 (log.f32 4/3) u)
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/2 (pow.f32 u 2)) u))
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/3 (pow.f32 u 3)) (+.f32 (*.f32 1/2 (pow.f32 u 2)) u)))
(-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))
(-.f32 (log.f32 -4/3) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u)))
(-.f32 (log.f32 -4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u))))
(-.f32 (log.f32 -4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 (/.f32 1 u)) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))))
(-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))
(-.f32 (log.f32 4/3) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u))))
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u)))))
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u))))))
(*.f32 -3 (*.f32 s (log.f32 4/3)))
(-.f32 (*.f32 3 (*.f32 s u)) (*.f32 3 (*.f32 s (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (*.f32 3 (*.f32 s u))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 3 (*.f32 s u)))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u)))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u)))) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (*.f32 3 (/.f32 s u))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
1/3
(-.f32 1/3 (*.f32 4/3 u))
(-.f32 1/3 (*.f32 4/3 u))
(-.f32 1/3 (*.f32 4/3 u))
(*.f32 -4/3 u)
(-.f32 1/3 (*.f32 4/3 u))
(-.f32 1/3 (*.f32 4/3 u))
(-.f32 1/3 (*.f32 4/3 u))
(*.f32 -4/3 u)
(-.f32 1/3 (*.f32 4/3 u))
(-.f32 1/3 (*.f32 4/3 u))
(-.f32 1/3 (*.f32 4/3 u))
Outputs
1/9
(-.f32 1/9 (*.f32 8/9 u))
(+.f32 1/9 (*.f32 -8/9 u))
(+.f32 1/9 (*.f32 u -8/9))
(fma.f32 u -8/9 1/9)
(-.f32 (+.f32 1/9 (*.f32 16/9 (pow.f32 u 2))) (*.f32 8/9 u))
(+.f32 1/9 (+.f32 (*.f32 16/9 (*.f32 u u)) (*.f32 -8/9 u)))
(+.f32 1/9 (fma.f32 16/9 (*.f32 u u) (*.f32 u -8/9)))
(fma.f32 u -8/9 (fma.f32 u (*.f32 u 16/9) 1/9))
(+.f32 1/9 (*.f32 u (fma.f32 u 16/9 -8/9)))
(-.f32 (+.f32 1/9 (*.f32 16/9 (pow.f32 u 2))) (*.f32 8/9 u))
(+.f32 1/9 (+.f32 (*.f32 16/9 (*.f32 u u)) (*.f32 -8/9 u)))
(+.f32 1/9 (fma.f32 16/9 (*.f32 u u) (*.f32 u -8/9)))
(fma.f32 u -8/9 (fma.f32 u (*.f32 u 16/9) 1/9))
(+.f32 1/9 (*.f32 u (fma.f32 u 16/9 -8/9)))
(*.f32 16/9 (pow.f32 u 2))
(*.f32 16/9 (*.f32 u u))
(*.f32 u (*.f32 u 16/9))
(-.f32 (*.f32 16/9 (pow.f32 u 2)) (*.f32 8/9 u))
(+.f32 (*.f32 16/9 (*.f32 u u)) (*.f32 -8/9 u))
(fma.f32 16/9 (*.f32 u u) (*.f32 u -8/9))
(*.f32 u (-.f32 (*.f32 u 16/9) 8/9))
(*.f32 u (fma.f32 u 16/9 -8/9))
(-.f32 (+.f32 1/9 (*.f32 16/9 (pow.f32 u 2))) (*.f32 8/9 u))
(+.f32 1/9 (+.f32 (*.f32 16/9 (*.f32 u u)) (*.f32 -8/9 u)))
(+.f32 1/9 (fma.f32 16/9 (*.f32 u u) (*.f32 u -8/9)))
(fma.f32 u -8/9 (fma.f32 u (*.f32 u 16/9) 1/9))
(+.f32 1/9 (*.f32 u (fma.f32 u 16/9 -8/9)))
(-.f32 (+.f32 1/9 (*.f32 16/9 (pow.f32 u 2))) (*.f32 8/9 u))
(+.f32 1/9 (+.f32 (*.f32 16/9 (*.f32 u u)) (*.f32 -8/9 u)))
(+.f32 1/9 (fma.f32 16/9 (*.f32 u u) (*.f32 u -8/9)))
(fma.f32 u -8/9 (fma.f32 u (*.f32 u 16/9) 1/9))
(+.f32 1/9 (*.f32 u (fma.f32 u 16/9 -8/9)))
(*.f32 16/9 (pow.f32 u 2))
(*.f32 16/9 (*.f32 u u))
(*.f32 u (*.f32 u 16/9))
(-.f32 (*.f32 16/9 (pow.f32 u 2)) (*.f32 8/9 u))
(+.f32 (*.f32 16/9 (*.f32 u u)) (*.f32 -8/9 u))
(fma.f32 16/9 (*.f32 u u) (*.f32 u -8/9))
(*.f32 u (-.f32 (*.f32 u 16/9) 8/9))
(*.f32 u (fma.f32 u 16/9 -8/9))
(-.f32 (+.f32 1/9 (*.f32 16/9 (pow.f32 u 2))) (*.f32 8/9 u))
(+.f32 1/9 (+.f32 (*.f32 16/9 (*.f32 u u)) (*.f32 -8/9 u)))
(+.f32 1/9 (fma.f32 16/9 (*.f32 u u) (*.f32 u -8/9)))
(fma.f32 u -8/9 (fma.f32 u (*.f32 u 16/9) 1/9))
(+.f32 1/9 (*.f32 u (fma.f32 u 16/9 -8/9)))
(-.f32 (+.f32 1/9 (*.f32 16/9 (pow.f32 u 2))) (*.f32 8/9 u))
(+.f32 1/9 (+.f32 (*.f32 16/9 (*.f32 u u)) (*.f32 -8/9 u)))
(+.f32 1/9 (fma.f32 16/9 (*.f32 u u) (*.f32 u -8/9)))
(fma.f32 u -8/9 (fma.f32 u (*.f32 u 16/9) 1/9))
(+.f32 1/9 (*.f32 u (fma.f32 u 16/9 -8/9)))
(log.f32 4/3)
(-.f32 (log.f32 4/3) u)
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/2 (pow.f32 u 2)) u))
(-.f32 (log.f32 4/3) (fma.f32 1/2 (*.f32 u u) u))
(-.f32 (log.f32 4/3) (fma.f32 (*.f32 u u) 1/2 u))
(-.f32 (log.f32 4/3) (fma.f32 u (*.f32 u 1/2) u))
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/3 (pow.f32 u 3)) (+.f32 (*.f32 1/2 (pow.f32 u 2)) u)))
(-.f32 (log.f32 4/3) (fma.f32 1/3 (pow.f32 u 3) (fma.f32 1/2 (*.f32 u u) u)))
(-.f32 (log.f32 4/3) (fma.f32 1/3 (pow.f32 u 3) (fma.f32 (*.f32 u u) 1/2 u)))
(-.f32 (log.f32 4/3) (fma.f32 u (*.f32 u 1/2) (fma.f32 1/3 (pow.f32 u 3) u)))
(-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))
(-.f32 (log.f32 -4/3) (neg.f32 (log.f32 u)))
(+.f32 (log.f32 -4/3) (log.f32 u))
(-.f32 (log.f32 -4/3) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u)))
(-.f32 (log.f32 -4/3) (+.f32 (/.f32 1 u) (neg.f32 (log.f32 u))))
(+.f32 (log.f32 -4/3) (-.f32 (log.f32 u) (/.f32 1 u)))
(+.f32 (log.f32 -4/3) (+.f32 (log.f32 u) (/.f32 -1 u)))
(+.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 -1 u))
(-.f32 (log.f32 -4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u))))
(-.f32 (log.f32 -4/3) (+.f32 (+.f32 (/.f32 1 u) (neg.f32 (log.f32 u))) (/.f32 1/2 (*.f32 u u))))
(-.f32 (log.f32 -4/3) (+.f32 (/.f32 1 u) (-.f32 (/.f32 (/.f32 1/2 u) u) (log.f32 u))))
(+.f32 (log.f32 -4/3) (+.f32 (log.f32 u) (+.f32 (/.f32 -1/2 (*.f32 u u)) (/.f32 -1 u))))
(+.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (+.f32 (/.f32 -1/2 (*.f32 u u)) (/.f32 -1 u)))
(-.f32 (log.f32 -4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 (/.f32 1 u)) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))))
(-.f32 (-.f32 (log.f32 -4/3) (/.f32 1/2 (*.f32 u u))) (+.f32 (neg.f32 (log.f32 u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3)))))
(-.f32 (-.f32 (log.f32 -4/3) (-.f32 (/.f32 (/.f32 1/2 u) u) (log.f32 u))) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))
(+.f32 (log.f32 -4/3) (-.f32 (+.f32 (log.f32 u) (+.f32 (/.f32 -1/2 (*.f32 u u)) (/.f32 -1 u))) (/.f32 1/3 (pow.f32 u 3))))
(+.f32 (+.f32 (log.f32 -4/3) (/.f32 -1/2 (*.f32 u u))) (+.f32 (log.f32 u) (-.f32 (/.f32 -1 u) (/.f32 1/3 (pow.f32 u 3)))))
(-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))
(-.f32 (log.f32 4/3) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u))))
(+.f32 (log.f32 4/3) (-.f32 (/.f32 -1 u) (log.f32 (/.f32 -1 u))))
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u)))))
(-.f32 (log.f32 4/3) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u)))))
(-.f32 (log.f32 4/3) (+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (/.f32 (/.f32 1/2 u) u))))
(+.f32 (log.f32 4/3) (+.f32 (-.f32 (/.f32 -1 u) (log.f32 (/.f32 -1 u))) (/.f32 -1/2 (*.f32 u u))))
(+.f32 (log.f32 4/3) (-.f32 (+.f32 (/.f32 -1/2 (*.f32 u u)) (/.f32 -1 u)) (log.f32 (/.f32 -1 u))))
(-.f32 (log.f32 4/3) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u))))))
(-.f32 (log.f32 4/3) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1/3 (pow.f32 u 3)) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u))))))
(-.f32 (log.f32 4/3) (+.f32 (/.f32 1/3 (pow.f32 u 3)) (+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (/.f32 (/.f32 1/2 u) u)))))
(+.f32 (+.f32 (log.f32 4/3) (/.f32 -1/2 (*.f32 u u))) (-.f32 (-.f32 (/.f32 -1 u) (log.f32 (/.f32 -1 u))) (/.f32 1/3 (pow.f32 u 3))))
(+.f32 (log.f32 4/3) (-.f32 (-.f32 (/.f32 -1 u) (log.f32 (/.f32 -1 u))) (+.f32 (/.f32 (/.f32 1/2 u) u) (/.f32 1/3 (pow.f32 u 3)))))
(*.f32 -3 (*.f32 s (log.f32 4/3)))
(*.f32 -3 (*.f32 (log.f32 4/3) s))
(*.f32 (log.f32 4/3) (*.f32 -3 s))
(-.f32 (*.f32 3 (*.f32 s u)) (*.f32 3 (*.f32 s (log.f32 4/3))))
(*.f32 3 (-.f32 (*.f32 u s) (*.f32 (log.f32 4/3) s)))
(*.f32 3 (*.f32 s (-.f32 u (log.f32 4/3))))
(*.f32 (*.f32 3 s) (-.f32 u (log.f32 4/3)))
(-.f32 (+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (*.f32 3 (*.f32 s u))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (*.f32 (*.f32 3/2 s) (*.f32 u u)) (*.f32 3 (-.f32 (*.f32 u s) (*.f32 (log.f32 4/3) s))))
(fma.f32 3/2 (*.f32 u (*.f32 u s)) (*.f32 3 (*.f32 s (-.f32 u (log.f32 4/3)))))
(fma.f32 (*.f32 u u) (*.f32 s 3/2) (*.f32 (*.f32 3 s) (-.f32 u (log.f32 4/3))))
(fma.f32 (*.f32 u u) (*.f32 s 3/2) (*.f32 3 (*.f32 s (-.f32 u (log.f32 4/3)))))
(-.f32 (+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 3 (*.f32 s u)))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (fma.f32 3/2 (*.f32 (*.f32 u u) s) (fma.f32 s (pow.f32 u 3) (*.f32 (*.f32 3 s) u))) (*.f32 -3 (*.f32 (log.f32 4/3) s)))
(fma.f32 3/2 (*.f32 u (*.f32 u s)) (+.f32 (*.f32 (pow.f32 u 3) s) (*.f32 3 (*.f32 s (-.f32 u (log.f32 4/3))))))
(+.f32 (*.f32 (*.f32 3 s) (-.f32 u (log.f32 4/3))) (*.f32 (*.f32 u (*.f32 u s)) (+.f32 3/2 u)))
(+.f32 (*.f32 3 (*.f32 s (-.f32 u (log.f32 4/3)))) (*.f32 (*.f32 u (*.f32 u s)) (+.f32 3/2 u)))
(*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))
(*.f32 -3 (*.f32 (-.f32 (log.f32 -4/3) (neg.f32 (log.f32 u))) s))
(*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(+.f32 (*.f32 3 (+.f32 (/.f32 s u) (*.f32 (neg.f32 (log.f32 u)) s))) (*.f32 -3 (*.f32 (log.f32 -4/3) s)))
(fma.f32 3 (/.f32 s u) (*.f32 (*.f32 3 s) (-.f32 (neg.f32 (log.f32 u)) (log.f32 -4/3))))
(fma.f32 3 (/.f32 s u) (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s)))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u)))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(+.f32 (fma.f32 3 (/.f32 s u) (fma.f32 3 (*.f32 (neg.f32 (log.f32 u)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) (*.f32 -3 (*.f32 (log.f32 -4/3) s)))
(fma.f32 3 (/.f32 s u) (+.f32 (*.f32 3/2 (/.f32 s (*.f32 u u))) (*.f32 (*.f32 3 s) (-.f32 (neg.f32 (log.f32 u)) (log.f32 -4/3)))))
(+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s)))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u)))) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(+.f32 (fma.f32 3 (/.f32 s u) (fma.f32 3 (*.f32 (neg.f32 (log.f32 u)) s) (+.f32 (*.f32 3/2 (/.f32 s (*.f32 u u))) (/.f32 s (pow.f32 u 3))))) (*.f32 -3 (*.f32 (log.f32 -4/3) s)))
(fma.f32 3 (/.f32 s u) (+.f32 (fma.f32 3/2 (/.f32 s (*.f32 u u)) (/.f32 s (pow.f32 u 3))) (*.f32 (*.f32 3 s) (-.f32 (neg.f32 (log.f32 u)) (log.f32 -4/3)))))
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s))))
(*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))
(*.f32 -3 (*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) s))
(*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (*.f32 3 (/.f32 s u))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (*.f32 3 (+.f32 (*.f32 (log.f32 (/.f32 -1 u)) s) (/.f32 s u))) (*.f32 -3 (*.f32 (log.f32 4/3) s)))
(*.f32 3 (-.f32 (fma.f32 (log.f32 (/.f32 -1 u)) s (/.f32 s u)) (*.f32 (log.f32 4/3) s)))
(fma.f32 3 (/.f32 s u) (*.f32 (*.f32 3 s) (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (fma.f32 3 (*.f32 (log.f32 (/.f32 -1 u)) s) (fma.f32 3 (/.f32 s u) (*.f32 3/2 (/.f32 s (*.f32 u u))))) (*.f32 -3 (*.f32 (log.f32 4/3) s)))
(+.f32 (fma.f32 3 (fma.f32 (log.f32 (/.f32 -1 u)) s (/.f32 s u)) (*.f32 3/2 (/.f32 s (*.f32 u u)))) (*.f32 (log.f32 4/3) (*.f32 -3 s)))
(+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 (*.f32 3 s) (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (fma.f32 3 (*.f32 (log.f32 (/.f32 -1 u)) s) (fma.f32 3 (/.f32 s u) (+.f32 (*.f32 3/2 (/.f32 s (*.f32 u u))) (/.f32 s (pow.f32 u 3))))) (*.f32 -3 (*.f32 (log.f32 4/3) s)))
(+.f32 (fma.f32 3 (fma.f32 (log.f32 (/.f32 -1 u)) s (/.f32 s u)) (fma.f32 3/2 (/.f32 s (*.f32 u u)) (/.f32 s (pow.f32 u 3)))) (*.f32 (log.f32 4/3) (*.f32 -3 s)))
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 (*.f32 3 s) (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3)))))
(+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 (*.f32 3 s) (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
1/3
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(*.f32 -4/3 u)
(*.f32 u -4/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(*.f32 -4/3 u)
(*.f32 u -4/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)
(-.f32 1/3 (*.f32 4/3 u))
(+.f32 1/3 (*.f32 u -4/3))
(fma.f32 u -4/3 1/3)

prune125.0ms (3.6%)

Pruning

18 alts after pruning (17 fresh and 1 done)

PrunedKeptTotal
New1556161
Fresh51116
Picked011
Done000
Total16018178
Error
0.1b
Counts
178 → 18
Alt Table
StatusErrorProgram
1.3b
(*.f32 (log1p.f32 (/.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 3) 1/27) (fma.f32 (*.f32 u -4/3) (*.f32 u -4/3) (-.f32 1/9 (*.f32 (*.f32 u -4/3) 1/3))))) (*.f32 s -3))
0.8b
(*.f32 (log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2)))) (*.f32 s -3))
0.8b
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)
0.9b
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3) (*.f32 s -3))
1.0b
(pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 3)
1.0b
(*.f32 (*.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2)) (*.f32 s -3))
8.5b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1) (*.f32 s -3))
1.3b
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
1.4b
(*.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 (fma.f32 u -4/3 1/3) 2))) (log.f32 (-.f32 1 (fma.f32 u -4/3 1/3)))) (*.f32 s -3))
1.1b
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))
1.4b
(*.f32 (+.f32 (log.f32 (sqrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1))) (log.f32 (sqrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)))) (*.f32 s -3))
8.1b
(*.f32 (expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (*.f32 s -3))
1.2b
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
1.1b
(*.f32 (log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (+.f32 1/9 (*.f32 u (fma.f32 u 16/9 -8/9)))))) (*.f32 s -3))
2.2b
(*.f32 (log1p.f32 (+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (fma.f32 u -4/3 1/3))) (cbrt.f32 (exp.f32 (fma.f32 u -4/3 1/3))))) (log.f32 (cbrt.f32 (exp.f32 (fma.f32 u -4/3 1/3)))))) (*.f32 s -3))
2.9b
(exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))
1.1b
(*.f32 (log1p.f32 (-.f32 1/3 (*.f32 4/3 u))) (*.f32 s -3))
1.8b
(*.f32 (+.f32 (log.f32 (*.f32 (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)) (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)))) (log.f32 (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)))) (*.f32 s -3))
Compiler

Compiled 3435 to 2796 computations (18.6% saved)

localize27.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(fma.f32 u -4/3 1/3)
0.4b
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))
0.4b
(log1p.f32 (fma.f32 u -4/3 1/3))
0.5b
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)

series9.0ms (0.3%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
3.0ms
s
@0
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)
2.0ms
s
@-inf
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)
1.0ms
u
@0
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)
1.0ms
u
@inf
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)
1.0ms
u
@-inf
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)

rewrite38.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
492×log-prod_binary32
281×pow2_binary32
201×expm1-udef_binary32
201×log1p-udef_binary32
198×pow1/3_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01313
126813
2266413
Stop Event
node limit
Counts
1 → 39
Calls
Call 1
Inputs
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 s -3))) 2)) (log.f32 (cbrt.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 s -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 s -3)))) (log.f32 (sqrt.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 s -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 s (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -3 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) s))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 s -3) (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 s -3)) 2) (*.f32 (cbrt.f32 (*.f32 s -3)) (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2) (*.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (*.f32 s -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) (pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) (*.f32 (cbrt.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))) (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2) (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 1/4) (*.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 1/4) (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 s -3)) (*.f32 (sqrt.f32 (*.f32 s -3)) (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (*.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (*.f32 s -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (*.f32 (sqrt.f32 (*.f32 s -3)) (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) s) -3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 1/4) 3) (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) s)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (pow.f32 (cbrt.f32 (*.f32 s -3)) 2)) (cbrt.f32 (*.f32 s -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (sqrt.f32 (*.f32 s -3))) (sqrt.f32 (*.f32 s -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 s -3) (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2)) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 s -3) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))) (cbrt.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (sqrt.f32 (*.f32 s -3)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 s -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3) (pow.f32 (*.f32 s -3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 s -3) 3) (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 1))))))

simplify27.0ms (0.8%)

Algorithm
egg-herbie
Rules
337×distribute-lft-out_binary32
311×fma-def_binary32
234×distribute-rgt-in_binary32
201×associate-*l*_binary32
196×distribute-lft-in_binary32
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
058386
1150310
2377287
31215278
42753275
Stop Event
node limit
Counts
51 → 63
Calls
Call 1
Inputs
(pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (log.f32 4/3)))) 2)
(+.f32 (*.f32 3 (*.f32 s u)) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (log.f32 4/3)))) 2))
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (log.f32 4/3)))) 2)))
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (*.f32 s u)) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (log.f32 4/3)))) 2))))
(pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))) 2)
(+.f32 (*.f32 3 (/.f32 s u)) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))) 2))
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))) 2) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))) 2) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))))
(pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) 2)
(+.f32 (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) 2) (*.f32 3 (/.f32 s u)))
(+.f32 (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) 2) (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))
(+.f32 (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) 2) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))))
Outputs
(pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (log.f32 4/3)))) 2)
(*.f32 -3 (*.f32 s (log.f32 4/3)))
(*.f32 (log.f32 4/3) (*.f32 -3 s))
(+.f32 (*.f32 3 (*.f32 s u)) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (log.f32 4/3)))) 2))
(fma.f32 3 (*.f32 s u) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (log.f32 4/3)))) 2))
(fma.f32 3 (*.f32 s u) (*.f32 -3 (*.f32 s (log.f32 4/3))))
(*.f32 s (+.f32 (*.f32 -3 (log.f32 4/3)) (*.f32 3 u)))
(*.f32 s (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))))
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (log.f32 4/3)))) 2)))
(fma.f32 3/2 (*.f32 s (*.f32 u u)) (fma.f32 3 (*.f32 s u) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (log.f32 4/3)))) 2)))
(fma.f32 3/2 (*.f32 s (*.f32 u u)) (fma.f32 3 (*.f32 s u) (*.f32 -3 (*.f32 s (log.f32 4/3)))))
(fma.f32 -3 (*.f32 s (log.f32 4/3)) (*.f32 s (+.f32 (*.f32 3 u) (*.f32 3/2 (*.f32 u u)))))
(*.f32 s (+.f32 (*.f32 -3 (log.f32 4/3)) (*.f32 u (+.f32 3 (*.f32 u 3/2)))))
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (*.f32 s u)) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (log.f32 4/3)))) 2))))
(fma.f32 3/2 (*.f32 s (*.f32 u u)) (fma.f32 s (pow.f32 u 3) (fma.f32 3 (*.f32 s u) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (log.f32 4/3)))) 2))))
(fma.f32 3/2 (*.f32 s (*.f32 u u)) (fma.f32 s (pow.f32 u 3) (fma.f32 3 (*.f32 s u) (*.f32 -3 (*.f32 s (log.f32 4/3))))))
(+.f32 (*.f32 s (+.f32 (*.f32 -3 (log.f32 4/3)) (*.f32 3 u))) (*.f32 (*.f32 s (*.f32 u u)) (+.f32 3/2 u)))
(*.f32 s (+.f32 (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))) (*.f32 (*.f32 u u) (+.f32 u 3/2))))
(*.f32 s (+.f32 (*.f32 -3 (log.f32 4/3)) (*.f32 u (+.f32 3 (*.f32 u (+.f32 u 3/2))))))
(pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))) 2)
(pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (neg.f32 (log.f32 u)))))) 2)
(*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s))
(*.f32 s (*.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u))))
(+.f32 (*.f32 3 (/.f32 s u)) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))) 2))
(fma.f32 3 (/.f32 s u) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (neg.f32 (log.f32 u)))))) 2))
(fma.f32 3 (/.f32 s u) (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s)))
(*.f32 s (+.f32 (*.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u))) (/.f32 3 u)))
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))) 2) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))
(+.f32 (fma.f32 3 (/.f32 s u) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (neg.f32 (log.f32 u)))))) 2)) (*.f32 3/2 (/.f32 s (*.f32 u u))))
(fma.f32 3 (/.f32 s u) (fma.f32 3/2 (/.f32 s (*.f32 u u)) (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s))))
(fma.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))) (*.f32 (/.f32 s u) (+.f32 (/.f32 3/2 u) 3)))
(fma.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))))
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))) 2) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))))
(+.f32 (fma.f32 3 (/.f32 s u) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (neg.f32 (log.f32 u)))))) 2)) (+.f32 (*.f32 3/2 (/.f32 s (*.f32 u u))) (/.f32 s (pow.f32 u 3))))
(+.f32 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s)) (fma.f32 3 (/.f32 s u) (fma.f32 3/2 (/.f32 s (*.f32 u u)) (/.f32 s (pow.f32 u 3)))))
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))) (*.f32 (/.f32 s u) (+.f32 (/.f32 3/2 u) 3))))
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))))
(pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) 2)
(*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s))
(*.f32 s (*.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))
(+.f32 (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) 2) (*.f32 3 (/.f32 s u)))
(+.f32 (*.f32 3 (/.f32 s u)) (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) 2))
(fma.f32 3 (/.f32 s u) (*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s)))
(fma.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (*.f32 3 (/.f32 s u)))
(*.f32 s (+.f32 (/.f32 3 u) (*.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))))))
(+.f32 (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) 2) (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))
(+.f32 (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) 2) (fma.f32 3 (/.f32 s u) (*.f32 3/2 (/.f32 s (*.f32 u u)))))
(+.f32 (*.f32 (/.f32 3/2 u) (/.f32 s u)) (fma.f32 3 (/.f32 s u) (*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s))))
(fma.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (*.f32 (/.f32 s u) (+.f32 (/.f32 3/2 u) 3)))
(fma.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))))
(+.f32 (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) 2) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))))
(+.f32 (pow.f32 (sqrt.f32 (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) 2) (fma.f32 3 (/.f32 s u) (+.f32 (*.f32 3/2 (/.f32 s (*.f32 u u))) (/.f32 s (pow.f32 u 3)))))
(+.f32 (fma.f32 3/2 (/.f32 s (*.f32 u u)) (/.f32 s (pow.f32 u 3))) (fma.f32 3 (/.f32 s u) (*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s))))
(fma.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 (/.f32 s u) (+.f32 (/.f32 3/2 u) 3))))
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))))

prune132.0ms (3.8%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New1627169
Fresh51116
Picked011
Done101
Total16819187
Error
0.0b
Counts
187 → 19
Alt Table
StatusErrorProgram
1.2b
(pow.f32 (sqrt.f32 (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))) 2)
0.8b
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)
1.0b
(pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 3)
1.0b
(*.f32 (*.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2)) (*.f32 s -3))
8.5b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1) (*.f32 s -3))
1.3b
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
1.2b
(pow.f32 (sqrt.f32 (*.f32 (log.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)) (*.f32 s -3))) 2)
1.0b
(*.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (pow.f32 (cbrt.f32 (*.f32 s -3)) 2)) (cbrt.f32 (*.f32 s -3)))
1.1b
(*.f32 (log1p.f32 (-.f32 1/3 (*.f32 4/3 u))) (*.f32 s -3))
1.0b
(*.f32 (pow.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 1/4) 3) (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 1/4))
1.4b
(*.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 (fma.f32 u -4/3 1/3) 2))) (log.f32 (-.f32 1 (fma.f32 u -4/3 1/3)))) (*.f32 s -3))
8.1b
(*.f32 (expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (*.f32 s -3))
1.2b
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
1.0b
(*.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) (pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2))
1.1b
(*.f32 (log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (+.f32 1/9 (*.f32 u (fma.f32 u 16/9 -8/9)))))) (*.f32 s -3))
1.0b
(*.f32 (pow.f32 (cbrt.f32 (*.f32 s -3)) 2) (*.f32 (cbrt.f32 (*.f32 s -3)) (log1p.f32 (fma.f32 u -4/3 1/3))))
2.2b
(*.f32 (log1p.f32 (+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (fma.f32 u -4/3 1/3))) (cbrt.f32 (exp.f32 (fma.f32 u -4/3 1/3))))) (log.f32 (cbrt.f32 (exp.f32 (fma.f32 u -4/3 1/3)))))) (*.f32 s -3))
2.9b
(exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))
0.7b
(*.f32 s (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))
Compiler

Compiled 3645 to 2971 computations (18.5% saved)

localize20.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))
0.3b
(*.f32 s (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))
0.3b
(fma.f32 u -4/3 1/3)
0.4b
(log1p.f32 (fma.f32 u -4/3 1/3))

series3.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
u
@inf
(*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))
0.0ms
u
@inf
(*.f32 s (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))
0.0ms
u
@-inf
(*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))
0.0ms
s
@0
(*.f32 s (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))
0.0ms
u
@0
(*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))

rewrite39.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
821×expm1-log1p-u_binary32
820×log1p-expm1-u_binary32
97×add-sqr-sqrt_binary32
92×add-exp-log_binary32
92×add-log-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
120223
2221123
Stop Event
node limit
Counts
2 → 28
Calls
Call 1
Inputs
(*.f32 s (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))
(*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3) s))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 s 3) (pow.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))) 3) (pow.f32 s 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2) 9))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1))))))

simplify37.0ms (1.1%)

Algorithm
egg-herbie
Rules
694×fma-def_binary32
348×fma-neg_binary32
258×cancel-sign-sub-inv_binary32
250×associate-*l*_binary32
241×unsub-neg_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0105799
1337739
21010672
32967656
Stop Event
node limit
Counts
64 → 76
Calls
Call 1
Inputs
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 -3 (*.f32 s (log.f32 4/3)))
(-.f32 (*.f32 3 (*.f32 s u)) (*.f32 3 (*.f32 s (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (*.f32 3 (*.f32 s u))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 3 (*.f32 s u)))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u)))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u)))) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (*.f32 3 (/.f32 s u))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(*.f32 -3 (log.f32 4/3))
(-.f32 (*.f32 3 u) (*.f32 3 (log.f32 4/3)))
(-.f32 (+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u)) (*.f32 3 (log.f32 4/3)))
(-.f32 (+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u))) (*.f32 3 (log.f32 4/3)))
(*.f32 -3 (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u))))
(-.f32 (+.f32 (*.f32 3 (log.f32 (/.f32 1 u))) (*.f32 3 (/.f32 1 u))) (*.f32 3 (log.f32 -4/3)))
(-.f32 (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (log.f32 (/.f32 1 u))) (*.f32 3 (/.f32 1 u)))) (*.f32 3 (log.f32 -4/3)))
(-.f32 (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (log.f32 (/.f32 1 u))) (+.f32 (/.f32 1 (pow.f32 u 3)) (*.f32 3 (/.f32 1 u))))) (*.f32 3 (log.f32 -4/3)))
(*.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))))
(-.f32 (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 3 (log.f32 (/.f32 -1 u)))) (*.f32 3 (log.f32 4/3)))
(-.f32 (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 3 (log.f32 (/.f32 -1 u))))) (*.f32 3 (log.f32 4/3)))
(-.f32 (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 3 (log.f32 (/.f32 -1 u)))))) (*.f32 3 (log.f32 4/3)))
Outputs
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 -3 (*.f32 s (log.f32 (-.f32 4/3 (*.f32 4/3 u)))))
(*.f32 (*.f32 -3 s) (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 -3 (*.f32 s (log.f32 4/3)))
(*.f32 (log.f32 4/3) (*.f32 -3 s))
(-.f32 (*.f32 3 (*.f32 s u)) (*.f32 3 (*.f32 s (log.f32 4/3))))
(*.f32 3 (-.f32 (*.f32 s u) (*.f32 s (log.f32 4/3))))
(*.f32 3 (*.f32 s (-.f32 u (log.f32 4/3))))
(*.f32 (-.f32 u (log.f32 4/3)) (*.f32 s 3))
(*.f32 s (*.f32 3 (-.f32 u (log.f32 4/3))))
(-.f32 (+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (*.f32 3 (*.f32 s u))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (*.f32 3/2 (*.f32 s (*.f32 u u))) (*.f32 3 (-.f32 (*.f32 s u) (*.f32 s (log.f32 4/3)))))
(fma.f32 3/2 (*.f32 s (*.f32 u u)) (*.f32 3 (*.f32 s (-.f32 u (log.f32 4/3)))))
(fma.f32 -3 (*.f32 s (log.f32 4/3)) (*.f32 s (*.f32 u (+.f32 3 (*.f32 u 3/2)))))
(*.f32 s (fma.f32 -3 (log.f32 4/3) (*.f32 u (+.f32 (*.f32 u 3/2) 3))))
(-.f32 (+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 3 (*.f32 s u)))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (fma.f32 3/2 (*.f32 s (*.f32 u u)) (fma.f32 s (pow.f32 u 3) (*.f32 3 (*.f32 s u)))) (*.f32 -3 (*.f32 s (log.f32 4/3))))
(+.f32 (fma.f32 3/2 (*.f32 s (*.f32 u u)) (*.f32 s (pow.f32 u 3))) (*.f32 3 (*.f32 s (-.f32 u (log.f32 4/3)))))
(+.f32 (*.f32 (-.f32 u (log.f32 4/3)) (*.f32 s 3)) (*.f32 s (*.f32 (*.f32 u u) (+.f32 u 3/2))))
(*.f32 s (fma.f32 -3 (log.f32 4/3) (*.f32 u (+.f32 (*.f32 u (+.f32 u 3/2)) 3))))
(*.f32 -3 (*.f32 s (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u)))))
(*.f32 (*.f32 -3 s) (-.f32 (log.f32 -4/3) (neg.f32 (log.f32 u))))
(*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))))
(*.f32 s (*.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u))))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(+.f32 (*.f32 3 (+.f32 (/.f32 s u) (*.f32 s (neg.f32 (log.f32 u))))) (*.f32 -3 (*.f32 s (log.f32 -4/3))))
(fma.f32 3 (/.f32 s u) (*.f32 (*.f32 s 3) (-.f32 (neg.f32 (log.f32 u)) (log.f32 -4/3))))
(fma.f32 3 (/.f32 s u) (*.f32 s (*.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)))))
(*.f32 s (+.f32 (/.f32 3 u) (*.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)))))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u)))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(-.f32 (fma.f32 3 (/.f32 s u) (fma.f32 3 (*.f32 s (neg.f32 (log.f32 u))) (*.f32 3/2 (/.f32 s (*.f32 u u))))) (*.f32 (*.f32 3 s) (log.f32 -4/3)))
(fma.f32 3 (/.f32 s u) (+.f32 (*.f32 3/2 (/.f32 s (*.f32 u u))) (*.f32 (*.f32 s 3) (-.f32 (neg.f32 (log.f32 u)) (log.f32 -4/3)))))
(+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 s (*.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)))))
(+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u)))))
(-.f32 (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 1 u)))) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) (*.f32 3 (*.f32 s (log.f32 -4/3))))
(+.f32 (fma.f32 3 (/.f32 s u) (fma.f32 3 (*.f32 s (neg.f32 (log.f32 u))) (+.f32 (*.f32 3/2 (/.f32 s (*.f32 u u))) (/.f32 s (pow.f32 u 3))))) (*.f32 -3 (*.f32 s (log.f32 -4/3))))
(fma.f32 3 (/.f32 s u) (+.f32 (fma.f32 3/2 (/.f32 s (*.f32 u u)) (/.f32 s (pow.f32 u 3))) (*.f32 (*.f32 s 3) (-.f32 (neg.f32 (log.f32 u)) (log.f32 -4/3)))))
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 s (*.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u))))))
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))))))
(*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))
(*.f32 (*.f32 -3 s) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))))
(*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (*.f32 3 (/.f32 s u))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (*.f32 3 (+.f32 (*.f32 s (log.f32 (/.f32 -1 u))) (/.f32 s u))) (*.f32 -3 (*.f32 s (log.f32 4/3))))
(*.f32 3 (-.f32 (fma.f32 s (log.f32 (/.f32 -1 u)) (/.f32 s u)) (*.f32 s (log.f32 4/3))))
(*.f32 s (fma.f32 3 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (/.f32 3 u)))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (fma.f32 3 (*.f32 s (log.f32 (/.f32 -1 u))) (fma.f32 3 (/.f32 s u) (*.f32 3/2 (/.f32 s (*.f32 u u))))) (*.f32 -3 (*.f32 s (log.f32 4/3))))
(+.f32 (fma.f32 3 (fma.f32 s (log.f32 (/.f32 -1 u)) (/.f32 s u)) (*.f32 3/2 (/.f32 s (*.f32 u u)))) (*.f32 -3 (*.f32 s (log.f32 4/3))))
(+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))))))
(fma.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)) (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))))))
(-.f32 (+.f32 (*.f32 3 (*.f32 s (log.f32 (/.f32 -1 u)))) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (/.f32 s (pow.f32 u 3)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) (*.f32 3 (*.f32 s (log.f32 4/3))))
(+.f32 (fma.f32 3 (*.f32 s (log.f32 (/.f32 -1 u))) (fma.f32 3 (/.f32 s u) (+.f32 (*.f32 3/2 (/.f32 s (*.f32 u u))) (/.f32 s (pow.f32 u 3))))) (*.f32 -3 (*.f32 s (log.f32 4/3))))
(+.f32 (fma.f32 3 (fma.f32 s (log.f32 (/.f32 -1 u)) (/.f32 s u)) (fma.f32 3/2 (/.f32 s (*.f32 u u)) (/.f32 s (pow.f32 u 3)))) (*.f32 -3 (*.f32 s (log.f32 4/3))))
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))) (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))))
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)) (*.f32 -3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))))
(*.f32 -3 (log.f32 4/3))
(-.f32 (*.f32 3 u) (*.f32 3 (log.f32 4/3)))
(*.f32 3 (-.f32 u (log.f32 4/3)))
(-.f32 (+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u)) (*.f32 3 (log.f32 4/3)))
(+.f32 (*.f32 3/2 (*.f32 u u)) (*.f32 3 (-.f32 u (log.f32 4/3))))
(fma.f32 3/2 (*.f32 u u) (*.f32 3 (-.f32 u (log.f32 4/3))))
(fma.f32 -3 (log.f32 4/3) (*.f32 u (+.f32 3 (*.f32 u 3/2))))
(fma.f32 -3 (log.f32 4/3) (*.f32 u (+.f32 (*.f32 u 3/2) 3)))
(-.f32 (+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u))) (*.f32 3 (log.f32 4/3)))
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (*.f32 u u)) (*.f32 3 (-.f32 u (log.f32 4/3)))))
(+.f32 (*.f32 (*.f32 u u) (+.f32 u 3/2)) (*.f32 3 (-.f32 u (log.f32 4/3))))
(fma.f32 (*.f32 u u) (+.f32 u 3/2) (*.f32 3 (-.f32 u (log.f32 4/3))))
(fma.f32 -3 (log.f32 4/3) (*.f32 u (+.f32 (*.f32 u (+.f32 u 3/2)) 3)))
(*.f32 -3 (-.f32 (log.f32 -4/3) (log.f32 (/.f32 1 u))))
(*.f32 -3 (-.f32 (log.f32 -4/3) (neg.f32 (log.f32 u))))
(*.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)))
(-.f32 (+.f32 (*.f32 3 (log.f32 (/.f32 1 u))) (*.f32 3 (/.f32 1 u))) (*.f32 3 (log.f32 -4/3)))
(+.f32 (fma.f32 3 (neg.f32 (log.f32 u)) (/.f32 3 u)) (*.f32 -3 (log.f32 -4/3)))
(*.f32 3 (-.f32 (+.f32 (/.f32 1 u) (neg.f32 (log.f32 u))) (log.f32 -4/3)))
(+.f32 (/.f32 3 u) (*.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u))))
(-.f32 (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (log.f32 (/.f32 1 u))) (*.f32 3 (/.f32 1 u)))) (*.f32 3 (log.f32 -4/3)))
(+.f32 (/.f32 3/2 (*.f32 u u)) (+.f32 (fma.f32 3 (neg.f32 (log.f32 u)) (/.f32 3 u)) (*.f32 -3 (log.f32 -4/3))))
(+.f32 (/.f32 3/2 (*.f32 u u)) (*.f32 3 (-.f32 (+.f32 (/.f32 1 u) (neg.f32 (log.f32 u))) (log.f32 -4/3))))
(fma.f32 3 (-.f32 (-.f32 (/.f32 1 u) (log.f32 u)) (log.f32 -4/3)) (/.f32 3/2 (*.f32 u u)))
(-.f32 (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (log.f32 (/.f32 1 u))) (+.f32 (/.f32 1 (pow.f32 u 3)) (*.f32 3 (/.f32 1 u))))) (*.f32 3 (log.f32 -4/3)))
(+.f32 (/.f32 3/2 (*.f32 u u)) (-.f32 (fma.f32 3 (neg.f32 (log.f32 u)) (+.f32 (/.f32 3 u) (/.f32 1 (pow.f32 u 3)))) (*.f32 3 (log.f32 -4/3))))
(+.f32 (+.f32 (fma.f32 3 (neg.f32 (log.f32 u)) (/.f32 3 u)) (/.f32 1 (pow.f32 u 3))) (-.f32 (/.f32 3/2 (*.f32 u u)) (*.f32 3 (log.f32 -4/3))))
(+.f32 (/.f32 1 (pow.f32 u 3)) (fma.f32 3 (-.f32 (-.f32 (/.f32 1 u) (log.f32 u)) (log.f32 -4/3)) (/.f32 3/2 (*.f32 u u))))
(*.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))))
(-.f32 (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 3 (log.f32 (/.f32 -1 u)))) (*.f32 3 (log.f32 4/3)))
(+.f32 (+.f32 (/.f32 3 u) (*.f32 3 (log.f32 (/.f32 -1 u)))) (*.f32 -3 (log.f32 4/3)))
(+.f32 (/.f32 3 u) (*.f32 3 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3))))
(fma.f32 3 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (/.f32 3 u))
(-.f32 (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 3 (log.f32 (/.f32 -1 u))))) (*.f32 3 (log.f32 4/3)))
(+.f32 (/.f32 3/2 (*.f32 u u)) (+.f32 (+.f32 (/.f32 3 u) (*.f32 3 (log.f32 (/.f32 -1 u)))) (*.f32 -3 (log.f32 4/3))))
(+.f32 (/.f32 3/2 (*.f32 u u)) (+.f32 (/.f32 3 u) (*.f32 3 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3)))))
(+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 3 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (/.f32 3 u)))
(-.f32 (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 3 (log.f32 (/.f32 -1 u)))))) (*.f32 3 (log.f32 4/3)))
(+.f32 (/.f32 3/2 (*.f32 u u)) (-.f32 (+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (/.f32 3 u) (*.f32 3 (log.f32 (/.f32 -1 u))))) (*.f32 (log.f32 4/3) 3)))
(+.f32 (/.f32 3/2 (*.f32 u u)) (+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (/.f32 3 u) (*.f32 3 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3))))))
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 3 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (/.f32 3 u))))
(+.f32 (/.f32 3/2 (*.f32 u u)) (+.f32 (/.f32 1 (pow.f32 u 3)) (fma.f32 3 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (/.f32 3 u))))

prune91.0ms (2.6%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New1365141
Fresh61117
Picked101
Done011
Total14317160
Error
0.0b
Counts
160 → 17
Alt Table
StatusErrorProgram
0.8b
(*.f32 s (sqrt.f32 (*.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2) 9)))
1.0b
(*.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) (pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2))
1.0b
(*.f32 s (pow.f32 (cbrt.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))) 3))
1.0b
(*.f32 (pow.f32 (cbrt.f32 (*.f32 s -3)) 2) (*.f32 (cbrt.f32 (*.f32 s -3)) (log1p.f32 (fma.f32 u -4/3 1/3))))
1.2b
(pow.f32 (sqrt.f32 (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 -3 s))) 2)
0.8b
(pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 2)
8.5b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1) (*.f32 s -3))
1.3b
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
1.1b
(*.f32 (log1p.f32 (*.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (cbrt.f32 (+.f32 1/9 (*.f32 u (fma.f32 u 16/9 -8/9)))))) (*.f32 s -3))
1.0b
(*.f32 s (*.f32 -3 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3)))
2.9b
(exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))))
1.0b
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
1.0b
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))
1.0b
(pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 s -3))) 3)
1.0b
(*.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (pow.f32 (cbrt.f32 (*.f32 s -3)) 2)) (cbrt.f32 (*.f32 s -3)))
1.4b
(*.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 (fma.f32 u -4/3 1/3) 2))) (log.f32 (-.f32 1 (fma.f32 u -4/3 1/3)))) (*.f32 s -3))
8.1b
(*.f32 (expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (*.f32 s -3))
Compiler

Compiled 2384 to 1896 computations (20.5% saved)

regimes589.0ms (16.9%)

Accuracy

Total 0.6b remaining (94.4%)

Threshold costs 0.6b (94.4%)

Counts
98 → 1
Compiler

Compiled 1401 to 1161 computations (17.1% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
11213
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) s) -3)
Outputs
(*.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) s) -3)

end218.0ms (6.2%)

Stop Event
fuel
Compiler

Compiled 294 to 249 computations (15.3% saved)

Profiling

Loading profile data...