Details

Time bar (total: 3.8s)

analyze6.0ms (0.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.6%0.4%0%0%0%0
0%0%99.6%0.4%0%0%0%1
0%0%99.6%0.4%0%0%0%2
0%0%49.8%0.4%0%49.8%0%3
50%24.9%24.9%0.4%0%49.8%0%4
75%37.4%12.5%0.4%0%49.8%0%5
87.5%43.6%6.2%0.4%0%49.8%0%6
93.8%46.7%3.1%0.4%0%49.8%0%7
96.9%48.2%1.6%0.4%0%49.8%0%8
98.4%49%0.8%0.4%0%49.8%0%9
99.2%49.4%0.4%0.4%0%49.8%0%10
99.6%49.4%0.2%0.4%0%50%0%11
99.8%49.5%0.1%0.4%0%50%0%12
Compiler

Compiled 4 to 3 computations (25% saved)

sample1.9s (48.6%)

Results
1.8s8256×body256valid
Bogosity

preprocess18.0ms (0.5%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(atanh.f32 x)
Outputs
(atanh.f32 x)
Compiler

Compiled 12 to 10 computations (16.7% saved)

simplify55.0ms (1.4%)

Algorithm
egg-herbie
Rules
1350×rational_best-simplify-53
1286×rational_best-simplify-49
1128×rational_best-simplify-65
906×rational_best-simplify-57
496×rational_best-simplify-75
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01229
11729
22929
35329
412229
534829
6147229
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(*.f32 1/2 (log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x))))
Outputs
(*.f32 1/2 (log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x))))

eval0.0ms (0%)

Compiler

Compiled 11 to 9 computations (18.2% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(*.f32 1/2 (log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x))))
Compiler

Compiled 11 to 9 computations (18.2% saved)

localize35.0ms (0.9%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
0.0b
(/.f32 (*.f32 2 x) (-.f32 1 x))
Compiler

Compiled 36 to 27 computations (25% saved)

series2.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
0.0ms
x
@-inf
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
0.0ms
x
@inf
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
0.0ms
x
@inf
(/.f32 (*.f32 2 x) (-.f32 1 x))
0.0ms
x
@0
(/.f32 (*.f32 2 x) (-.f32 1 x))

rewrite86.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
1196×rational_best-simplify-51
914×rational_best-simplify-64
906×rational_best-simplify-57
894×rational_best-simplify-60
830×rational_best-simplify-50
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01042
16542
213442
340342
4198642
Stop Event
node limit
Counts
2 → 130
Calls
Call 1
Inputs
(/.f32 (*.f32 2 x) (-.f32 1 x))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 2 (/.f32 x (-.f32 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 x (-.f32 1 x)) (/.f32 x (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (+.f32 x x) (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (/.f32 x (-.f32 1 x)) 2) (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (+.f32 x x) (*.f32 (+.f32 x -1) -4)) (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2) (/.f32 (/.f32 x (-.f32 1 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)) (/.f32 (+.f32 x x) (*.f32 (+.f32 x -1) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 x (-.f32 1 x)) -1) (neg.f32 (+.f32 1 (/.f32 x (+.f32 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 x (-.f32 1 x)) (+.f32 -1 (/.f32 x (+.f32 x -1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 x (-.f32 1 x))) (/.f32 x (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (/.f32 x (-.f32 1 x)) 2)) (neg.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (+.f32 x x) (*.f32 (+.f32 x -1) -4))) (neg.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) (-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (*.f32 x -4) (+.f32 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (+.f32 x x) (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 x (-.f32 1 x)) (/.f32 x (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (*.f32 2 (/.f32 x (-.f32 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (+.f32 x x) (+.f32 x -1)) (/.f32 (*.f32 x 4) (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 x (+.f32 x -1)) (-.f32 (/.f32 x (-.f32 1 x)) (/.f32 (*.f32 x -4) (+.f32 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2) (/.f32 (/.f32 x (+.f32 x -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2) (+.f32 (/.f32 (/.f32 x (+.f32 x -1)) 2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)) (/.f32 (*.f32 x -2) (*.f32 (+.f32 x -1) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)) (+.f32 (/.f32 (*.f32 x -2) (*.f32 (+.f32 x -1) -4)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (/.f32 x (+.f32 x -1)) 2) (-.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2) (/.f32 (*.f32 x -4) (+.f32 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 x -2) (*.f32 (+.f32 x -1) -4)) (-.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)) (/.f32 (*.f32 x -4) (+.f32 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 x (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (*.f32 x 4) (/.f32 2 (*.f32 (+.f32 x -1) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 x (/.f32 -2 (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 x (*.f32 4 (/.f32 1/2 (-.f32 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 x x) (/.f32 1 (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 x x) (*.f32 4 (/.f32 2 (*.f32 (+.f32 x -1) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 2 (/.f32 x (-.f32 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 x) (*.f32 x (/.f32 (/.f32 2 (+.f32 x -1)) (+.f32 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 4) (/.f32 1/2 (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 4) (*.f32 1/2 (/.f32 1 (-.f32 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 4) (*.f32 (/.f32 1 (-.f32 1 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 4) (*.f32 2 (/.f32 2 (*.f32 (+.f32 x -1) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 4) (-.f32 (/.f32 1 (-.f32 1 x)) (/.f32 1/2 (-.f32 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 x) (/.f32 2 (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 x) (*.f32 -2 (/.f32 1 (-.f32 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 x) (/.f32 4 (+.f32 x (+.f32 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x -2) (/.f32 1 (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x -2) (/.f32 -1 (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x -2) (*.f32 -2 (/.f32 1/2 (-.f32 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x -2) (/.f32 2 (+.f32 x (+.f32 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 x -1) (/.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 x -1) (/.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (+.f32 x (+.f32 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (*.f32 x (/.f32 1/2 (-.f32 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (*.f32 (+.f32 x x) (/.f32 2 (*.f32 (+.f32 x -1) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 x (-.f32 1 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 8) (/.f32 2 (*.f32 (+.f32 x -1) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 8) (*.f32 (/.f32 1/2 (-.f32 1 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 8) (*.f32 1/2 (/.f32 1/2 (-.f32 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 8) (-.f32 (/.f32 1/2 (-.f32 1 x)) (/.f32 2 (*.f32 (+.f32 x -1) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (/.f32 (+.f32 x x) (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (/.f32 (*.f32 x -4) (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (-.f32 (*.f32 (/.f32 x (+.f32 x -1)) -8) (/.f32 (*.f32 x -4) (+.f32 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (-.f32 1 x)) (+.f32 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (-.f32 1 x)) (-.f32 (*.f32 x 4) (+.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (-.f32 1 x)) (*.f32 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (-.f32 1 x)) (-.f32 (*.f32 x 8) (*.f32 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (*.f32 x 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (-.f32 (*.f32 x 16) (*.f32 x 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 x x) (+.f32 x -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x -4) (/.f32 1/2 (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x -4) (/.f32 1 (+.f32 x (+.f32 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x -4) (/.f32 -1 (-.f32 (*.f32 x -2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (/.f32 x (+.f32 x -1)) -8) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 16) (/.f32 1 (*.f32 (+.f32 x -1) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 16) (*.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 16) (*.f32 1/2 (/.f32 2 (*.f32 (+.f32 x -1) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 16) (-.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (/.f32 1 (*.f32 (+.f32 x -1) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 x (+.f32 x -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x (/.f32 (/.f32 2 (+.f32 x -1)) (+.f32 x -1))) (-.f32 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x (/.f32 (/.f32 2 (+.f32 x -1)) (+.f32 x -1))) (/.f32 1 (/.f32 1 (-.f32 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x (/.f32 (/.f32 4 (+.f32 x -1)) (+.f32 x -1))) (/.f32 1 (/.f32 -2 (+.f32 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1/2 (/.f32 (*.f32 x 4) (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1/2 (/.f32 (*.f32 x 8) (+.f32 x (+.f32 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -2 (/.f32 x (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 8 (*.f32 x (/.f32 2 (*.f32 (+.f32 x -1) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -4 (/.f32 x (+.f32 x (+.f32 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (/.f32 x (+.f32 x -1)) -8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (*.f32 x 8) (/.f32 1 (-.f32 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (+.f32 x -1)) (*.f32 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (+.f32 x -1)) (*.f32 (/.f32 (+.f32 x x) (+.f32 x -1)) (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (+.f32 x -1)) (*.f32 (*.f32 x -4) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 (+.f32 x -1) -8)) (*.f32 x 16))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (/.f32 1 (-.f32 1 x))) (*.f32 x (/.f32 (/.f32 2 (+.f32 x -1)) (+.f32 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (/.f32 -2 (+.f32 x -1))) (*.f32 x (/.f32 (/.f32 4 (+.f32 x -1)) (+.f32 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (*.f32 x 4) (+.f32 x -1)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (*.f32 x 8)) (/.f32 1/4 (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (*.f32 x 8)) (/.f32 1/2 (+.f32 x (+.f32 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 4 (+.f32 x -1)) (*.f32 (neg.f32 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 2 (+.f32 x -1)) (neg.f32 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 2 (+.f32 x -1)) (*.f32 (*.f32 x -2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1 (-.f32 1 x)) (+.f32 x -1)) (*.f32 (*.f32 x -2) (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) (+.f32 x -1)) (+.f32 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1/2 (-.f32 1 x)) (+.f32 x -1)) (*.f32 (*.f32 x -4) (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (+.f32 x -1)) (*.f32 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (+.f32 x -1)) (*.f32 (/.f32 (*.f32 x 4) (+.f32 x -1)) (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (+.f32 x -1)) (*.f32 (neg.f32 (*.f32 x 8)) (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (*.f32 x (-.f32 1 x))) (/.f32 (/.f32 1 (-.f32 1 x)) (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x (*.f32 (+.f32 x -1) -4)) (/.f32 (/.f32 1/2 (-.f32 1 x)) (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 1 x) (*.f32 x 8)) (/.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1 (-.f32 1 x)) (-.f32 1 x)) (*.f32 2 (*.f32 x (-.f32 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1/2 (-.f32 1 x)) (-.f32 1 x)) (*.f32 x (*.f32 (+.f32 x -1) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (-.f32 1 x)) (*.f32 (-.f32 1 x) (*.f32 x 8)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (+.f32 x x) (+.f32 x -1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 2) (/.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 2) (/.f32 (neg.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 2 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (*.f32 2 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 1)))))

simplify327.0ms (8.6%)

Algorithm
egg-herbie
Rules
1250×rational_best-simplify-1
928×rational_best-simplify-108
766×rational_best-simplify-82
522×rational_best-simplify-53
470×rational_best-simplify-49
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03213932
18393860
223613688
378453688
Stop Event
node limit
Counts
154 → 201
Calls
Call 1
Inputs
(*.f32 2 x)
(+.f32 (*.f32 2 (pow.f32 x 2)) (*.f32 2 x))
(+.f32 (*.f32 2 (pow.f32 x 2)) (+.f32 (*.f32 2 (pow.f32 x 3)) (*.f32 2 x)))
(+.f32 (*.f32 2 (pow.f32 x 2)) (+.f32 (*.f32 2 (pow.f32 x 3)) (+.f32 (*.f32 2 x) (*.f32 2 (pow.f32 x 4)))))
-2
(neg.f32 (+.f32 2 (*.f32 2 (/.f32 1 x))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2 (/.f32 1 (pow.f32 x 2))))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 (pow.f32 x 3)))))))
-2
(neg.f32 (+.f32 2 (*.f32 2 (/.f32 1 x))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2 (/.f32 1 (pow.f32 x 2))))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 (pow.f32 x 3)))))))
(*.f32 2 x)
(+.f32 (*.f32 2 x) (*.f32 2/3 (pow.f32 x 3)))
(+.f32 (*.f32 2 x) (+.f32 (*.f32 2/3 (pow.f32 x 3)) (*.f32 2/5 (pow.f32 x 5))))
(+.f32 (*.f32 2/7 (pow.f32 x 7)) (+.f32 (*.f32 2 x) (+.f32 (*.f32 2/3 (pow.f32 x 3)) (*.f32 2/5 (pow.f32 x 5)))))
(log.f32 -1)
(+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x)))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x))))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2/5 (/.f32 1 (pow.f32 x 5))))))
(log.f32 -1)
(+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x)))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x))))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2/5 (/.f32 1 (pow.f32 x 5))))))
(+.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 0)
(+.f32 0 (*.f32 2 (/.f32 x (-.f32 1 x))))
(+.f32 (/.f32 x (-.f32 1 x)) (/.f32 x (-.f32 1 x)))
(+.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (+.f32 x x) (+.f32 x -1)))
(+.f32 (/.f32 (/.f32 x (-.f32 1 x)) 2) (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2))
(+.f32 (/.f32 (+.f32 x x) (*.f32 (+.f32 x -1) -4)) (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)))
(+.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2) (/.f32 (/.f32 x (-.f32 1 x)) 2))
(+.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)) (/.f32 (+.f32 x x) (*.f32 (+.f32 x -1) -4)))
(+.f32 (-.f32 (/.f32 x (-.f32 1 x)) -1) (neg.f32 (+.f32 1 (/.f32 x (+.f32 x -1)))))
(+.f32 (-.f32 (/.f32 x (-.f32 1 x)) (+.f32 -1 (/.f32 x (+.f32 x -1)))) -1)
(+.f32 (-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 x (-.f32 1 x))) (/.f32 x (+.f32 x -1)))
(+.f32 (-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (/.f32 x (-.f32 1 x)) 2)) (neg.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2)))
(+.f32 (-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (+.f32 x x) (*.f32 (+.f32 x -1) -4))) (neg.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4))))
(-.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 0)
(-.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) (-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (*.f32 x -4) (+.f32 x -1))))
(-.f32 0 (/.f32 (+.f32 x x) (+.f32 x -1)))
(-.f32 (/.f32 x (-.f32 1 x)) (/.f32 x (+.f32 x -1)))
(-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (*.f32 2 (/.f32 x (-.f32 1 x))))
(-.f32 (/.f32 (+.f32 x x) (+.f32 x -1)) (/.f32 (*.f32 x 4) (+.f32 x -1)))
(-.f32 (/.f32 x (+.f32 x -1)) (-.f32 (/.f32 x (-.f32 1 x)) (/.f32 (*.f32 x -4) (+.f32 x -1))))
(-.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2) (/.f32 (/.f32 x (+.f32 x -1)) 2))
(-.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2) (+.f32 (/.f32 (/.f32 x (+.f32 x -1)) 2) 0))
(-.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)) (/.f32 (*.f32 x -2) (*.f32 (+.f32 x -1) -4)))
(-.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)) (+.f32 (/.f32 (*.f32 x -2) (*.f32 (+.f32 x -1) -4)) 0))
(-.f32 (/.f32 (/.f32 x (+.f32 x -1)) 2) (-.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2) (/.f32 (*.f32 x -4) (+.f32 x -1))))
(-.f32 (/.f32 (*.f32 x -2) (*.f32 (+.f32 x -1) -4)) (-.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)) (/.f32 (*.f32 x -4) (+.f32 x -1))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(*.f32 2 (*.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 1/2))
(*.f32 2 (*.f32 (*.f32 x 4) (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(*.f32 x (*.f32 4 (/.f32 1/2 (-.f32 1 x))))
(*.f32 (+.f32 x x) (/.f32 1 (-.f32 1 x)))
(*.f32 (+.f32 x x) (*.f32 4 (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 1 (*.f32 2 (/.f32 x (-.f32 1 x))))
(*.f32 (-.f32 1 x) (*.f32 x (/.f32 (/.f32 2 (+.f32 x -1)) (+.f32 x -1))))
(*.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 1)
(*.f32 (*.f32 x 4) (/.f32 1/2 (-.f32 1 x)))
(*.f32 (*.f32 x 4) (*.f32 1/2 (/.f32 1 (-.f32 1 x))))
(*.f32 (*.f32 x 4) (*.f32 (/.f32 1 (-.f32 1 x)) 1/2))
(*.f32 (*.f32 x 4) (*.f32 2 (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 (*.f32 x 4) (-.f32 (/.f32 1 (-.f32 1 x)) (/.f32 1/2 (-.f32 1 x))))
(*.f32 (neg.f32 x) (/.f32 2 (+.f32 x -1)))
(*.f32 (neg.f32 x) (*.f32 -2 (/.f32 1 (-.f32 1 x))))
(*.f32 (neg.f32 x) (/.f32 4 (+.f32 x (+.f32 -2 x))))
(*.f32 (*.f32 x -2) (/.f32 1 (+.f32 x -1)))
(*.f32 (*.f32 x -2) (/.f32 -1 (-.f32 1 x)))
(*.f32 (*.f32 x -2) (*.f32 -2 (/.f32 1/2 (-.f32 1 x))))
(*.f32 (*.f32 x -2) (/.f32 2 (+.f32 x (+.f32 -2 x))))
(*.f32 (+.f32 x -1) (/.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) (+.f32 x -1)))
(*.f32 (+.f32 x -1) (/.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (+.f32 x (+.f32 -2 x))))
(*.f32 4 (*.f32 x (/.f32 1/2 (-.f32 1 x))))
(*.f32 4 (*.f32 (+.f32 x x) (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 (/.f32 x (-.f32 1 x)) 2)
(*.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) 1/2)
(*.f32 (*.f32 x 8) (/.f32 2 (*.f32 (+.f32 x -1) -8)))
(*.f32 (*.f32 x 8) (*.f32 (/.f32 1/2 (-.f32 1 x)) 1/2))
(*.f32 (*.f32 x 8) (*.f32 1/2 (/.f32 1/2 (-.f32 1 x))))
(*.f32 (*.f32 x 8) (-.f32 (/.f32 1/2 (-.f32 1 x)) (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 -1 (/.f32 (+.f32 x x) (+.f32 x -1)))
(*.f32 1/2 (/.f32 (*.f32 x -4) (+.f32 x -1)))
(*.f32 1/2 (-.f32 (*.f32 (/.f32 x (+.f32 x -1)) -8) (/.f32 (*.f32 x -4) (+.f32 x -1))))
(*.f32 (/.f32 1 (-.f32 1 x)) (+.f32 x x))
(*.f32 (/.f32 1 (-.f32 1 x)) (-.f32 (*.f32 x 4) (+.f32 x x)))
(*.f32 (/.f32 1/2 (-.f32 1 x)) (*.f32 x 4))
(*.f32 (/.f32 1/2 (-.f32 1 x)) (-.f32 (*.f32 x 8) (*.f32 x 4)))
(*.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (*.f32 x 8))
(*.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (-.f32 (*.f32 x 16) (*.f32 x 8)))
(*.f32 (/.f32 (+.f32 x x) (+.f32 x -1)) -1)
(*.f32 (*.f32 x -4) (/.f32 1/2 (+.f32 x -1)))
(*.f32 (*.f32 x -4) (/.f32 1 (+.f32 x (+.f32 -2 x))))
(*.f32 (*.f32 x -4) (/.f32 -1 (-.f32 (*.f32 x -2) -2)))
(*.f32 (*.f32 (/.f32 x (+.f32 x -1)) -8) 1/4)
(*.f32 (*.f32 x 16) (/.f32 1 (*.f32 (+.f32 x -1) -8)))
(*.f32 (*.f32 x 16) (*.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) 1/2))
(*.f32 (*.f32 x 16) (*.f32 1/2 (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 (*.f32 x 16) (-.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (/.f32 1 (*.f32 (+.f32 x -1) -8))))
(*.f32 (/.f32 x (+.f32 x -1)) -2)
(*.f32 (*.f32 x (/.f32 (/.f32 2 (+.f32 x -1)) (+.f32 x -1))) (-.f32 1 x))
(*.f32 (*.f32 x (/.f32 (/.f32 2 (+.f32 x -1)) (+.f32 x -1))) (/.f32 1 (/.f32 1 (-.f32 1 x))))
(*.f32 (*.f32 x (/.f32 (/.f32 4 (+.f32 x -1)) (+.f32 x -1))) (/.f32 1 (/.f32 -2 (+.f32 x -1))))
(*.f32 -1/2 (/.f32 (*.f32 x 4) (+.f32 x -1)))
(*.f32 -1/2 (/.f32 (*.f32 x 8) (+.f32 x (+.f32 -2 x))))
(*.f32 -2 (/.f32 x (+.f32 x -1)))
(*.f32 8 (*.f32 x (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 -4 (/.f32 x (+.f32 x (+.f32 -2 x))))
(*.f32 1/4 (*.f32 (/.f32 x (+.f32 x -1)) -8))
(*.f32 1/4 (*.f32 (*.f32 x 8) (/.f32 1 (-.f32 1 x))))
(*.f32 (/.f32 1 (+.f32 x -1)) (*.f32 x -2))
(*.f32 (/.f32 1 (+.f32 x -1)) (*.f32 (/.f32 (+.f32 x x) (+.f32 x -1)) (-.f32 1 x)))
(*.f32 (/.f32 1 (+.f32 x -1)) (*.f32 (*.f32 x -4) 1/2))
(*.f32 (/.f32 1 (*.f32 (+.f32 x -1) -8)) (*.f32 x 16))
(*.f32 (/.f32 1 (/.f32 1 (-.f32 1 x))) (*.f32 x (/.f32 (/.f32 2 (+.f32 x -1)) (+.f32 x -1))))
(*.f32 (/.f32 1 (/.f32 -2 (+.f32 x -1))) (*.f32 x (/.f32 (/.f32 4 (+.f32 x -1)) (+.f32 x -1))))
(*.f32 (/.f32 (*.f32 x 4) (+.f32 x -1)) -1/2)
(*.f32 (neg.f32 (*.f32 x 8)) (/.f32 1/4 (+.f32 x -1)))
(*.f32 (neg.f32 (*.f32 x 8)) (/.f32 1/2 (+.f32 x (+.f32 -2 x))))
(*.f32 (/.f32 4 (+.f32 x -1)) (*.f32 (neg.f32 x) 1/2))
(*.f32 (/.f32 2 (+.f32 x -1)) (neg.f32 x))
(*.f32 (/.f32 2 (+.f32 x -1)) (*.f32 (*.f32 x -2) 1/2))
(*.f32 (/.f32 (/.f32 1 (-.f32 1 x)) (+.f32 x -1)) (*.f32 (*.f32 x -2) (-.f32 1 x)))
(*.f32 (/.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) (+.f32 x -1)) (+.f32 x -1))
(*.f32 (/.f32 (/.f32 1/2 (-.f32 1 x)) (+.f32 x -1)) (*.f32 (*.f32 x -4) (-.f32 1 x)))
(*.f32 (/.f32 1/2 (+.f32 x -1)) (*.f32 x -4))
(*.f32 (/.f32 1/2 (+.f32 x -1)) (*.f32 (/.f32 (*.f32 x 4) (+.f32 x -1)) (-.f32 1 x)))
(*.f32 (/.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (+.f32 x -1)) (*.f32 (neg.f32 (*.f32 x 8)) (-.f32 1 x)))
(*.f32 (*.f32 2 (*.f32 x (-.f32 1 x))) (/.f32 (/.f32 1 (-.f32 1 x)) (-.f32 1 x)))
(*.f32 (*.f32 x (*.f32 (+.f32 x -1) -4)) (/.f32 (/.f32 1/2 (-.f32 1 x)) (-.f32 1 x)))
(*.f32 (*.f32 (-.f32 1 x) (*.f32 x 8)) (/.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (-.f32 1 x)))
(*.f32 (/.f32 (/.f32 1 (-.f32 1 x)) (-.f32 1 x)) (*.f32 2 (*.f32 x (-.f32 1 x))))
(*.f32 (/.f32 (/.f32 1/2 (-.f32 1 x)) (-.f32 1 x)) (*.f32 x (*.f32 (+.f32 x -1) -4)))
(*.f32 (/.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (-.f32 1 x)) (*.f32 (-.f32 1 x) (*.f32 x 8)))
(pow.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 1)
(neg.f32 (/.f32 (+.f32 x x) (+.f32 x -1)))
(+.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 0)
(+.f32 0 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))))
(+.f32 (/.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 2) (/.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 2))
(-.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 0)
(-.f32 (/.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 2) (/.f32 (neg.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))) 2))
(*.f32 2 (*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 1/2))
(*.f32 1 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))))
(*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 1)
(*.f32 (*.f32 2 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))) 1/2)
(*.f32 1/2 (*.f32 2 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))))
(*.f32 (*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 4) 1/4)
(*.f32 1/4 (*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 4))
(/.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 1)
(/.f32 (*.f32 2 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))) 2)
(/.f32 (*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 4) 4)
(/.f32 (*.f32 (*.f32 2 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))) 4) 8)
(pow.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 1)
Outputs
(*.f32 2 x)
(+.f32 (*.f32 2 (pow.f32 x 2)) (*.f32 2 x))
(+.f32 (*.f32 2 x) (*.f32 2 (pow.f32 x 2)))
(*.f32 2 (+.f32 x (pow.f32 x 2)))
(+.f32 (*.f32 2 (pow.f32 x 2)) (+.f32 (*.f32 2 (pow.f32 x 3)) (*.f32 2 x)))
(+.f32 (*.f32 2 (pow.f32 x 2)) (+.f32 (*.f32 2 x) (*.f32 2 (pow.f32 x 3))))
(+.f32 (*.f32 2 (pow.f32 x 3)) (*.f32 2 (+.f32 x (pow.f32 x 2))))
(+.f32 (*.f32 2 x) (*.f32 2 (+.f32 (pow.f32 x 2) (pow.f32 x 3))))
(+.f32 (*.f32 2 (pow.f32 x 2)) (+.f32 (*.f32 2 (pow.f32 x 3)) (+.f32 (*.f32 2 x) (*.f32 2 (pow.f32 x 4)))))
(+.f32 (*.f32 2 (+.f32 x (pow.f32 x 4))) (*.f32 2 (+.f32 (pow.f32 x 3) (pow.f32 x 2))))
(+.f32 (*.f32 2 (+.f32 x (pow.f32 x 4))) (*.f32 2 (+.f32 (pow.f32 x 2) (pow.f32 x 3))))
-2
(neg.f32 (+.f32 2 (*.f32 2 (/.f32 1 x))))
(+.f32 -2 (neg.f32 (*.f32 2 (/.f32 1 x))))
(-.f32 -2 (/.f32 2 x))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2 (/.f32 1 (pow.f32 x 2))))))
(+.f32 -2 (neg.f32 (*.f32 2 (+.f32 (/.f32 1 x) (/.f32 1 (pow.f32 x 2))))))
(+.f32 -2 (-.f32 (neg.f32 (/.f32 2 (pow.f32 x 2))) (/.f32 2 x)))
(+.f32 -2 (-.f32 (neg.f32 (/.f32 2 x)) (/.f32 2 (pow.f32 x 2))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 (pow.f32 x 3)))))))
(+.f32 -2 (neg.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2 (+.f32 (/.f32 1 (pow.f32 x 2)) (/.f32 1 (pow.f32 x 3)))))))
(+.f32 -2 (-.f32 (neg.f32 (+.f32 (/.f32 2 (pow.f32 x 2)) (/.f32 2 (pow.f32 x 3)))) (/.f32 2 x)))
(+.f32 -2 (-.f32 (-.f32 (neg.f32 (/.f32 2 (pow.f32 x 2))) (/.f32 2 (pow.f32 x 3))) (/.f32 2 x)))
-2
(neg.f32 (+.f32 2 (*.f32 2 (/.f32 1 x))))
(+.f32 -2 (neg.f32 (*.f32 2 (/.f32 1 x))))
(-.f32 -2 (/.f32 2 x))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2 (/.f32 1 (pow.f32 x 2))))))
(+.f32 -2 (neg.f32 (*.f32 2 (+.f32 (/.f32 1 x) (/.f32 1 (pow.f32 x 2))))))
(+.f32 -2 (-.f32 (neg.f32 (/.f32 2 (pow.f32 x 2))) (/.f32 2 x)))
(+.f32 -2 (-.f32 (neg.f32 (/.f32 2 x)) (/.f32 2 (pow.f32 x 2))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 (pow.f32 x 3)))))))
(+.f32 -2 (neg.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2 (+.f32 (/.f32 1 (pow.f32 x 2)) (/.f32 1 (pow.f32 x 3)))))))
(+.f32 -2 (-.f32 (neg.f32 (+.f32 (/.f32 2 (pow.f32 x 2)) (/.f32 2 (pow.f32 x 3)))) (/.f32 2 x)))
(+.f32 -2 (-.f32 (-.f32 (neg.f32 (/.f32 2 (pow.f32 x 2))) (/.f32 2 (pow.f32 x 3))) (/.f32 2 x)))
(*.f32 2 x)
(+.f32 (*.f32 2 x) (*.f32 2/3 (pow.f32 x 3)))
(+.f32 (*.f32 2 x) (*.f32 (pow.f32 x 3) 2/3))
(+.f32 (*.f32 2 x) (+.f32 (*.f32 2/3 (pow.f32 x 3)) (*.f32 2/5 (pow.f32 x 5))))
(+.f32 (*.f32 2 x) (+.f32 (*.f32 (pow.f32 x 3) 2/3) (*.f32 2/5 (pow.f32 x 5))))
(+.f32 (*.f32 (pow.f32 x 3) 2/3) (+.f32 (*.f32 2/5 (pow.f32 x 5)) (*.f32 2 x)))
(+.f32 (*.f32 (pow.f32 x 3) 2/3) (+.f32 (*.f32 2 x) (*.f32 2/5 (pow.f32 x 5))))
(+.f32 (*.f32 2/7 (pow.f32 x 7)) (+.f32 (*.f32 2 x) (+.f32 (*.f32 2/3 (pow.f32 x 3)) (*.f32 2/5 (pow.f32 x 5)))))
(+.f32 (+.f32 (*.f32 (pow.f32 x 3) 2/3) (*.f32 2/5 (pow.f32 x 5))) (+.f32 (*.f32 2 x) (*.f32 2/7 (pow.f32 x 7))))
(+.f32 (+.f32 (*.f32 2 x) (*.f32 (pow.f32 x 3) 2/3)) (+.f32 (*.f32 2/5 (pow.f32 x 5)) (*.f32 2/7 (pow.f32 x 7))))
(+.f32 (+.f32 (*.f32 (pow.f32 x 3) 2/3) (+.f32 (*.f32 2 x) (*.f32 2/5 (pow.f32 x 5)))) (*.f32 2/7 (pow.f32 x 7)))
(log.f32 -1)
(+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x)))
(+.f32 (*.f32 2 (/.f32 1 x)) (log.f32 -1))
(+.f32 (/.f32 2 x) (log.f32 -1))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x))))
(+.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (log.f32 -1)) (*.f32 1 (/.f32 2/3 (pow.f32 x 3))))
(+.f32 (log.f32 -1) (+.f32 (/.f32 2 x) (/.f32 2/3 (pow.f32 x 3))))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2/5 (/.f32 1 (pow.f32 x 5))))))
(+.f32 (*.f32 1 (/.f32 2/3 (pow.f32 x 3))) (+.f32 (log.f32 -1) (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2/5 (/.f32 1 (pow.f32 x 5))))))
(+.f32 (log.f32 -1) (+.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2/5 (/.f32 1 (pow.f32 x 5)))) (*.f32 1 (/.f32 2/3 (pow.f32 x 3)))))
(+.f32 (log.f32 -1) (+.f32 (/.f32 2/3 (pow.f32 x 3)) (+.f32 (/.f32 2 x) (/.f32 2/5 (pow.f32 x 5)))))
(log.f32 -1)
(+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x)))
(+.f32 (*.f32 2 (/.f32 1 x)) (log.f32 -1))
(+.f32 (/.f32 2 x) (log.f32 -1))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x))))
(+.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (log.f32 -1)) (*.f32 1 (/.f32 2/3 (pow.f32 x 3))))
(+.f32 (log.f32 -1) (+.f32 (/.f32 2 x) (/.f32 2/3 (pow.f32 x 3))))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2/5 (/.f32 1 (pow.f32 x 5))))))
(+.f32 (*.f32 1 (/.f32 2/3 (pow.f32 x 3))) (+.f32 (log.f32 -1) (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2/5 (/.f32 1 (pow.f32 x 5))))))
(+.f32 (log.f32 -1) (+.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2/5 (/.f32 1 (pow.f32 x 5)))) (*.f32 1 (/.f32 2/3 (pow.f32 x 3)))))
(+.f32 (log.f32 -1) (+.f32 (/.f32 2/3 (pow.f32 x 3)) (+.f32 (/.f32 2 x) (/.f32 2/5 (pow.f32 x 5)))))
(+.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 0)
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(+.f32 0 (*.f32 2 (/.f32 x (-.f32 1 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(+.f32 (/.f32 x (-.f32 1 x)) (/.f32 x (-.f32 1 x)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(+.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (+.f32 x x) (+.f32 x -1)))
(/.f32 (+.f32 (*.f32 x -4) (+.f32 x x)) (+.f32 x -1))
(/.f32 (+.f32 x (+.f32 x (*.f32 x -4))) (+.f32 x -1))
(+.f32 (/.f32 (/.f32 x (-.f32 1 x)) 2) (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2))
(/.f32 (+.f32 (/.f32 x (-.f32 1 x)) (*.f32 3 (/.f32 x (-.f32 1 x)))) 2)
(/.f32 (+.f32 (/.f32 x (-.f32 1 x)) (*.f32 x (/.f32 3 (-.f32 1 x)))) 2)
(+.f32 (/.f32 (+.f32 x x) (*.f32 (+.f32 x -1) -4)) (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(+.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2) (/.f32 (/.f32 x (-.f32 1 x)) 2))
(/.f32 (+.f32 (/.f32 x (-.f32 1 x)) (*.f32 3 (/.f32 x (-.f32 1 x)))) 2)
(/.f32 (+.f32 (/.f32 x (-.f32 1 x)) (*.f32 x (/.f32 3 (-.f32 1 x)))) 2)
(+.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)) (/.f32 (+.f32 x x) (*.f32 (+.f32 x -1) -4)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(+.f32 (-.f32 (/.f32 x (-.f32 1 x)) -1) (neg.f32 (+.f32 1 (/.f32 x (+.f32 x -1)))))
(-.f32 (/.f32 x (-.f32 1 x)) (+.f32 -1 (+.f32 1 (/.f32 x (+.f32 x -1)))))
(-.f32 (/.f32 x (-.f32 1 x)) (+.f32 (/.f32 x (+.f32 x -1)) 0))
(+.f32 1 (+.f32 -1 (/.f32 (*.f32 2 x) (-.f32 1 x))))
(+.f32 (-.f32 (/.f32 x (-.f32 1 x)) (+.f32 -1 (/.f32 x (+.f32 x -1)))) -1)
(-.f32 (/.f32 x (-.f32 1 x)) (+.f32 -1 (+.f32 1 (/.f32 x (+.f32 x -1)))))
(-.f32 (/.f32 x (-.f32 1 x)) (+.f32 (/.f32 x (+.f32 x -1)) 0))
(+.f32 1 (+.f32 -1 (/.f32 (*.f32 2 x) (-.f32 1 x))))
(+.f32 (-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 x (-.f32 1 x))) (/.f32 x (+.f32 x -1)))
(+.f32 (/.f32 x (+.f32 x -1)) (-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 x (-.f32 1 x))))
(+.f32 (-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (/.f32 x (-.f32 1 x)) 2)) (neg.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2)))
(-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (+.f32 (/.f32 x (-.f32 1 x)) (*.f32 3 (/.f32 x (-.f32 1 x)))) 2))
(-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (+.f32 (/.f32 x (-.f32 1 x)) (*.f32 x (/.f32 3 (-.f32 1 x)))) 2))
(+.f32 (-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (+.f32 x x) (*.f32 (+.f32 x -1) -4))) (neg.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(-.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 0)
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(-.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) (-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (*.f32 x -4) (+.f32 x -1))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(-.f32 0 (/.f32 (+.f32 x x) (+.f32 x -1)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(-.f32 (/.f32 x (-.f32 1 x)) (/.f32 x (+.f32 x -1)))
(-.f32 (/.f32 x (-.f32 1 x)) (+.f32 -1 (+.f32 1 (/.f32 x (+.f32 x -1)))))
(-.f32 (/.f32 x (-.f32 1 x)) (+.f32 (/.f32 x (+.f32 x -1)) 0))
(+.f32 1 (+.f32 -1 (/.f32 (*.f32 2 x) (-.f32 1 x))))
(-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (*.f32 2 (/.f32 x (-.f32 1 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(-.f32 (/.f32 (+.f32 x x) (+.f32 x -1)) (/.f32 (*.f32 x 4) (+.f32 x -1)))
(/.f32 (-.f32 (+.f32 x x) (*.f32 x 4)) (+.f32 x -1))
(-.f32 (/.f32 x (+.f32 x -1)) (-.f32 (/.f32 x (-.f32 1 x)) (/.f32 (*.f32 x -4) (+.f32 x -1))))
(-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (-.f32 (/.f32 x (-.f32 1 x)) (/.f32 x (+.f32 x -1))))
(-.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2) (/.f32 (/.f32 x (+.f32 x -1)) 2))
(/.f32 (-.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) (/.f32 x (+.f32 x -1))) 2)
(/.f32 (-.f32 (*.f32 x (/.f32 3 (-.f32 1 x))) (/.f32 x (+.f32 x -1))) 2)
(-.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2) (+.f32 (/.f32 (/.f32 x (+.f32 x -1)) 2) 0))
(/.f32 (-.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) (/.f32 x (+.f32 x -1))) 2)
(/.f32 (-.f32 (*.f32 x (/.f32 3 (-.f32 1 x))) (/.f32 x (+.f32 x -1))) 2)
(-.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)) (/.f32 (*.f32 x -2) (*.f32 (+.f32 x -1) -4)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(-.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)) (+.f32 (/.f32 (*.f32 x -2) (*.f32 (+.f32 x -1) -4)) 0))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(-.f32 (/.f32 (/.f32 x (+.f32 x -1)) 2) (-.f32 (/.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) 2) (/.f32 (*.f32 x -4) (+.f32 x -1))))
(-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (-.f32 (*.f32 3 (/.f32 x (-.f32 1 x))) (/.f32 x (+.f32 x -1))) 2))
(-.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (/.f32 (-.f32 (*.f32 x (/.f32 3 (-.f32 1 x))) (/.f32 x (+.f32 x -1))) 2))
(-.f32 (/.f32 (*.f32 x -2) (*.f32 (+.f32 x -1) -4)) (-.f32 (/.f32 (*.f32 x 6) (*.f32 (+.f32 x -1) -4)) (/.f32 (*.f32 x -4) (+.f32 x -1))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 2 (*.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 1/2))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 2 (*.f32 (*.f32 x 4) (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 x (*.f32 4 (/.f32 1/2 (-.f32 1 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (+.f32 x x) (/.f32 1 (-.f32 1 x)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (+.f32 x x) (*.f32 4 (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 1 (*.f32 2 (/.f32 x (-.f32 1 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (-.f32 1 x) (*.f32 x (/.f32 (/.f32 2 (+.f32 x -1)) (+.f32 x -1))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 1)
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x 4) (/.f32 1/2 (-.f32 1 x)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x 4) (*.f32 1/2 (/.f32 1 (-.f32 1 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x 4) (*.f32 (/.f32 1 (-.f32 1 x)) 1/2))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x 4) (*.f32 2 (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x 4) (-.f32 (/.f32 1 (-.f32 1 x)) (/.f32 1/2 (-.f32 1 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (neg.f32 x) (/.f32 2 (+.f32 x -1)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (neg.f32 x) (*.f32 -2 (/.f32 1 (-.f32 1 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (neg.f32 x) (/.f32 4 (+.f32 x (+.f32 -2 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x -2) (/.f32 1 (+.f32 x -1)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x -2) (/.f32 -1 (-.f32 1 x)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x -2) (*.f32 -2 (/.f32 1/2 (-.f32 1 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x -2) (/.f32 2 (+.f32 x (+.f32 -2 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (+.f32 x -1) (/.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) (+.f32 x -1)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (+.f32 x -1) (/.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) (+.f32 x (+.f32 -2 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 4 (*.f32 x (/.f32 1/2 (-.f32 1 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 4 (*.f32 (+.f32 x x) (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 x (-.f32 1 x)) 2)
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 (*.f32 x -4) (+.f32 x -1)) 1/2)
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x 8) (/.f32 2 (*.f32 (+.f32 x -1) -8)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x 8) (*.f32 (/.f32 1/2 (-.f32 1 x)) 1/2))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x 8) (*.f32 1/2 (/.f32 1/2 (-.f32 1 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x 8) (-.f32 (/.f32 1/2 (-.f32 1 x)) (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 (*.f32 x 8) (-.f32 (/.f32 1/2 (-.f32 1 x)) (/.f32 -1/4 (+.f32 x -1))))
(*.f32 x (*.f32 8 (-.f32 (/.f32 1/2 (-.f32 1 x)) (/.f32 -1/4 (+.f32 x -1)))))
(*.f32 -1 (/.f32 (+.f32 x x) (+.f32 x -1)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 1/2 (/.f32 (*.f32 x -4) (+.f32 x -1)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 1/2 (-.f32 (*.f32 (/.f32 x (+.f32 x -1)) -8) (/.f32 (*.f32 x -4) (+.f32 x -1))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 1 (-.f32 1 x)) (+.f32 x x))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 1 (-.f32 1 x)) (-.f32 (*.f32 x 4) (+.f32 x x)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 1/2 (-.f32 1 x)) (*.f32 x 4))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 1/2 (-.f32 1 x)) (-.f32 (*.f32 x 8) (*.f32 x 4)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (*.f32 x 8))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (-.f32 (*.f32 x 16) (*.f32 x 8)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 (+.f32 x x) (+.f32 x -1)) -1)
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x -4) (/.f32 1/2 (+.f32 x -1)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x -4) (/.f32 1 (+.f32 x (+.f32 -2 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x -4) (/.f32 -1 (-.f32 (*.f32 x -2) -2)))
(*.f32 -1 (/.f32 (*.f32 x -4) (-.f32 (*.f32 x -2) -2)))
(neg.f32 (/.f32 (*.f32 x -4) (-.f32 (*.f32 x -2) -2)))
(*.f32 (*.f32 (/.f32 x (+.f32 x -1)) -8) 1/4)
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x 16) (/.f32 1 (*.f32 (+.f32 x -1) -8)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x 16) (*.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) 1/2))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x 16) (*.f32 1/2 (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x 16) (-.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (/.f32 1 (*.f32 (+.f32 x -1) -8))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 x (+.f32 x -1)) -2)
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x (/.f32 (/.f32 2 (+.f32 x -1)) (+.f32 x -1))) (-.f32 1 x))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x (/.f32 (/.f32 2 (+.f32 x -1)) (+.f32 x -1))) (/.f32 1 (/.f32 1 (-.f32 1 x))))
(*.f32 (*.f32 x (/.f32 2 (*.f32 (+.f32 x -1) (+.f32 x -1)))) (/.f32 1 (/.f32 1 (-.f32 1 x))))
(*.f32 (/.f32 2 (*.f32 (-.f32 1 x) (-.f32 1 x))) (*.f32 2 (/.f32 x (/.f32 2 (-.f32 1 x)))))
(/.f32 (*.f32 2 x) (*.f32 (*.f32 (-.f32 1 x) (-.f32 1 x)) (/.f32 1 (-.f32 1 x))))
(*.f32 (/.f32 2 (*.f32 (-.f32 1 x) (-.f32 1 x))) (/.f32 x (/.f32 1 (-.f32 1 x))))
(*.f32 (*.f32 x (/.f32 (/.f32 4 (+.f32 x -1)) (+.f32 x -1))) (/.f32 1 (/.f32 -2 (+.f32 x -1))))
(*.f32 (*.f32 x (/.f32 2 (*.f32 (+.f32 x -1) (+.f32 x -1)))) (/.f32 1 (/.f32 1 (-.f32 1 x))))
(*.f32 (/.f32 2 (*.f32 (-.f32 1 x) (-.f32 1 x))) (*.f32 2 (/.f32 x (/.f32 2 (-.f32 1 x)))))
(/.f32 (*.f32 2 x) (*.f32 (*.f32 (-.f32 1 x) (-.f32 1 x)) (/.f32 1 (-.f32 1 x))))
(*.f32 (/.f32 2 (*.f32 (-.f32 1 x) (-.f32 1 x))) (/.f32 x (/.f32 1 (-.f32 1 x))))
(*.f32 -1/2 (/.f32 (*.f32 x 4) (+.f32 x -1)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 -1/2 (/.f32 (*.f32 x 8) (+.f32 x (+.f32 -2 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 -2 (/.f32 x (+.f32 x -1)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 8 (*.f32 x (/.f32 2 (*.f32 (+.f32 x -1) -8))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 -4 (/.f32 x (+.f32 x (+.f32 -2 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 1/4 (*.f32 (/.f32 x (+.f32 x -1)) -8))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 1/4 (*.f32 (*.f32 x 8) (/.f32 1 (-.f32 1 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 1 (+.f32 x -1)) (*.f32 x -2))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 1 (+.f32 x -1)) (*.f32 (/.f32 (+.f32 x x) (+.f32 x -1)) (-.f32 1 x)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 1 (+.f32 x -1)) (*.f32 (*.f32 x -4) 1/2))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 1 (*.f32 (+.f32 x -1) -8)) (*.f32 x 16))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 1 (/.f32 1 (-.f32 1 x))) (*.f32 x (/.f32 (/.f32 2 (+.f32 x -1)) (+.f32 x -1))))
(*.f32 (*.f32 x (/.f32 2 (*.f32 (+.f32 x -1) (+.f32 x -1)))) (/.f32 1 (/.f32 1 (-.f32 1 x))))
(*.f32 (/.f32 2 (*.f32 (-.f32 1 x) (-.f32 1 x))) (*.f32 2 (/.f32 x (/.f32 2 (-.f32 1 x)))))
(/.f32 (*.f32 2 x) (*.f32 (*.f32 (-.f32 1 x) (-.f32 1 x)) (/.f32 1 (-.f32 1 x))))
(*.f32 (/.f32 2 (*.f32 (-.f32 1 x) (-.f32 1 x))) (/.f32 x (/.f32 1 (-.f32 1 x))))
(*.f32 (/.f32 1 (/.f32 -2 (+.f32 x -1))) (*.f32 x (/.f32 (/.f32 4 (+.f32 x -1)) (+.f32 x -1))))
(*.f32 (*.f32 x (/.f32 2 (*.f32 (+.f32 x -1) (+.f32 x -1)))) (/.f32 1 (/.f32 1 (-.f32 1 x))))
(*.f32 (/.f32 2 (*.f32 (-.f32 1 x) (-.f32 1 x))) (*.f32 2 (/.f32 x (/.f32 2 (-.f32 1 x)))))
(/.f32 (*.f32 2 x) (*.f32 (*.f32 (-.f32 1 x) (-.f32 1 x)) (/.f32 1 (-.f32 1 x))))
(*.f32 (/.f32 2 (*.f32 (-.f32 1 x) (-.f32 1 x))) (/.f32 x (/.f32 1 (-.f32 1 x))))
(*.f32 (/.f32 (*.f32 x 4) (+.f32 x -1)) -1/2)
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (neg.f32 (*.f32 x 8)) (/.f32 1/4 (+.f32 x -1)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (neg.f32 (*.f32 x 8)) (/.f32 1/2 (+.f32 x (+.f32 -2 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 4 (+.f32 x -1)) (*.f32 (neg.f32 x) 1/2))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 2 (+.f32 x -1)) (neg.f32 x))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 2 (+.f32 x -1)) (*.f32 (*.f32 x -2) 1/2))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 (/.f32 1 (-.f32 1 x)) (+.f32 x -1)) (*.f32 (*.f32 x -2) (-.f32 1 x)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) (+.f32 x -1)) (+.f32 x -1))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 (/.f32 1/2 (-.f32 1 x)) (+.f32 x -1)) (*.f32 (*.f32 x -4) (-.f32 1 x)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 1/2 (+.f32 x -1)) (*.f32 x -4))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 1/2 (+.f32 x -1)) (*.f32 (/.f32 (*.f32 x 4) (+.f32 x -1)) (-.f32 1 x)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (+.f32 x -1)) (*.f32 (neg.f32 (*.f32 x 8)) (-.f32 1 x)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 2 (*.f32 x (-.f32 1 x))) (/.f32 (/.f32 1 (-.f32 1 x)) (-.f32 1 x)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 x (*.f32 (+.f32 x -1) -4)) (/.f32 (/.f32 1/2 (-.f32 1 x)) (-.f32 1 x)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (*.f32 (-.f32 1 x) (*.f32 x 8)) (/.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (-.f32 1 x)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 (/.f32 1 (-.f32 1 x)) (-.f32 1 x)) (*.f32 2 (*.f32 x (-.f32 1 x))))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 (/.f32 1/2 (-.f32 1 x)) (-.f32 1 x)) (*.f32 x (*.f32 (+.f32 x -1) -4)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(*.f32 (/.f32 (/.f32 2 (*.f32 (+.f32 x -1) -8)) (-.f32 1 x)) (*.f32 (-.f32 1 x) (*.f32 x 8)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(pow.f32 (*.f32 2 (/.f32 x (-.f32 1 x))) 1)
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(neg.f32 (/.f32 (+.f32 x x) (+.f32 x -1)))
(*.f32 2 (/.f32 x (-.f32 1 x)))
(/.f32 (*.f32 2 x) (-.f32 1 x))
(+.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 0)
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(+.f32 0 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))))
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(+.f32 (/.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 2) (/.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 2))
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(-.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 0)
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(-.f32 (/.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 2) (/.f32 (neg.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))) 2))
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(*.f32 2 (*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 1/2))
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(*.f32 1 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))))
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 1)
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(*.f32 (*.f32 2 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))) 1/2)
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(*.f32 1/2 (*.f32 2 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))))
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(*.f32 (*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 4) 1/4)
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(*.f32 1/4 (*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 4))
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(/.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 1)
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(/.f32 (*.f32 2 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))) 2)
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(/.f32 (*.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 4) 4)
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(/.f32 (*.f32 (*.f32 2 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))) 4) 8)
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
(pow.f32 (log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x)))) 1)
(log1p.f32 (*.f32 2 (/.f32 x (-.f32 1 x))))
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))

eval112.0ms (2.9%)

Compiler

Compiled 3299 to 2674 computations (18.9% saved)

prune33.0ms (0.9%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1974201
Fresh000
Picked011
Done000
Total1975202
Error
0.0b
Counts
202 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(*.f32 1/2 (+.f32 (*.f32 2 x) (*.f32 (pow.f32 x 3) 2/3)))
0.0b
(*.f32 1/2 (log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x))))
0.1b
(*.f32 1/2 (log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1)))))
1.8b
(*.f32 1/2 (log1p.f32 (*.f32 2 x)))
32.0b
(*.f32 1/2 (log1p.f32 -2))
Compiler

Compiled 46 to 39 computations (15.2% saved)

localize12.0ms (0.3%)

Compiler

Compiled 9 to 9 computations (0% saved)

localize22.0ms (0.6%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(log1p.f32 (*.f32 2 x))
Compiler

Compiled 17 to 13 computations (23.5% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(log1p.f32 (*.f32 2 x))
0.0ms
x
@0
(log1p.f32 (*.f32 2 x))
0.0ms
x
@-inf
(log1p.f32 (*.f32 2 x))

rewrite73.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1326×rational_best-simplify-51
1144×rational_best-simplify-83
980×rational_best-simplify-57
682×rational_best-simplify-64
674×rational_best-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
14511
28111
317611
448711
5186411
Stop Event
node limit
Counts
1 → 44
Calls
Call 1
Inputs
(log1p.f32 (*.f32 2 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log1p.f32 (+.f32 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log1p.f32 (+.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) (*.f32 (log1p.f32 (+.f32 x x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (log1p.f32 (+.f32 x x)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4) (/.f32 (log1p.f32 (+.f32 x x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (log1p.f32 (+.f32 x x)) -2)) (/.f32 (log1p.f32 (+.f32 x x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))) (neg.f32 (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))) (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log1p.f32 (+.f32 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (neg.f32 (log1p.f32 (+.f32 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) (/.f32 (log1p.f32 (+.f32 x x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) -3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (-.f32 0 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4) (/.f32 (neg.f32 (log1p.f32 (+.f32 x x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4) (/.f32 (/.f32 (log1p.f32 (+.f32 x x)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (log1p.f32 (+.f32 x x)) -2)) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))) (-.f32 (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4)) (/.f32 (log1p.f32 (+.f32 x x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (*.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 1/2) 4)) (-.f32 (/.f32 (/.f32 (log1p.f32 (+.f32 x x)) -2) 4) (/.f32 (log1p.f32 (+.f32 x x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 8)) (-.f32 (/.f32 (neg.f32 (log1p.f32 (+.f32 x x))) 8) (/.f32 (log1p.f32 (+.f32 x x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (log1p.f32 (+.f32 x x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (+.f32 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log1p.f32 (+.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 2 (log1p.f32 (+.f32 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (log1p.f32 (+.f32 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (*.f32 (log1p.f32 (+.f32 x x)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log1p.f32 (+.f32 x x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (log1p.f32 (+.f32 x x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -2 (/.f32 (log1p.f32 (+.f32 x x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/8 (*.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 4 (*.f32 (log1p.f32 (+.f32 x x)) 4)) 1/16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log1p.f32 (+.f32 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (log1p.f32 (+.f32 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log1p.f32 (+.f32 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 4 (*.f32 (log1p.f32 (+.f32 x x)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log1p.f32 (+.f32 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (neg.f32 (log1p.f32 (+.f32 x x))))))))

simplify454.0ms (11.9%)

Algorithm
egg-herbie
Rules
1184×rational_best-simplify-56
1140×rational_best-simplify-1
1120×rational_best-simplify-3
1030×rational_best-simplify-97
776×rational_best-simplify-98
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01421088
13121072
28301000
332501000
46174972
Stop Event
node limit
Counts
56 → 95
Calls
Call 1
Inputs
(*.f32 2 x)
(+.f32 (*.f32 -2 (pow.f32 x 2)) (*.f32 2 x))
(+.f32 (*.f32 -2 (pow.f32 x 2)) (+.f32 (*.f32 8/3 (pow.f32 x 3)) (*.f32 2 x)))
(+.f32 (*.f32 -2 (pow.f32 x 2)) (+.f32 (*.f32 8/3 (pow.f32 x 3)) (+.f32 (*.f32 2 x) (*.f32 -4 (pow.f32 x 4)))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 2) (*.f32 1/2 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2))) (*.f32 1/8 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/24 (/.f32 1 (pow.f32 x 3))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)))) (*.f32 1/8 (/.f32 1 (pow.f32 x 2))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/2 (/.f32 1 x)) (log.f32 -2)))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))) (*.f32 1/8 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/24 (/.f32 1 (pow.f32 x 3))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)))) (*.f32 1/8 (/.f32 1 (pow.f32 x 2))))
(+.f32 (log1p.f32 (+.f32 x x)) 0)
(+.f32 0 (log1p.f32 (+.f32 x x)))
(+.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) (*.f32 (log1p.f32 (+.f32 x x)) 1/2))
(+.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) -2)))
(+.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4))
(+.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (log1p.f32 (+.f32 x x)) -2)))
(+.f32 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4) (/.f32 (log1p.f32 (+.f32 x x)) 4))
(+.f32 (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (log1p.f32 (+.f32 x x)) -2)) (/.f32 (log1p.f32 (+.f32 x x)) 4))
(+.f32 (-.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))) (neg.f32 (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))))
(+.f32 (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))) (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))))
(-.f32 (log1p.f32 (+.f32 x x)) 0)
(-.f32 0 (neg.f32 (log1p.f32 (+.f32 x x))))
(-.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) (/.f32 (log1p.f32 (+.f32 x x)) -2))
(-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) -3) 4))
(-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (-.f32 0 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4)))
(-.f32 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4)))
(-.f32 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4) (/.f32 (neg.f32 (log1p.f32 (+.f32 x x))) 4))
(-.f32 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4) (/.f32 (/.f32 (log1p.f32 (+.f32 x x)) -2) 2))
(-.f32 (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (log1p.f32 (+.f32 x x)) -2)) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4)))
(-.f32 (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))) (-.f32 (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4)) (/.f32 (log1p.f32 (+.f32 x x)) 4)))
(-.f32 (+.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (*.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 1/2) 4)) (-.f32 (/.f32 (/.f32 (log1p.f32 (+.f32 x x)) -2) 4) (/.f32 (log1p.f32 (+.f32 x x)) 4)))
(-.f32 (+.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 8)) (-.f32 (/.f32 (neg.f32 (log1p.f32 (+.f32 x x))) 8) (/.f32 (log1p.f32 (+.f32 x x)) 4)))
(*.f32 2 (*.f32 (log1p.f32 (+.f32 x x)) 1/2))
(*.f32 (log1p.f32 (+.f32 x x)) 1)
(*.f32 1 (log1p.f32 (+.f32 x x)))
(*.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 1/2)
(*.f32 1/2 (*.f32 2 (log1p.f32 (+.f32 x x))))
(*.f32 (neg.f32 (log1p.f32 (+.f32 x x))) -1)
(*.f32 4 (*.f32 (log1p.f32 (+.f32 x x)) 1/4))
(*.f32 (*.f32 (log1p.f32 (+.f32 x x)) 4) 1/4)
(*.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) 2)
(*.f32 1/4 (*.f32 (log1p.f32 (+.f32 x x)) 4))
(*.f32 (*.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 4) 1/8)
(*.f32 -2 (/.f32 (log1p.f32 (+.f32 x x)) -2))
(*.f32 1/8 (*.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 4))
(*.f32 (*.f32 4 (*.f32 (log1p.f32 (+.f32 x x)) 4)) 1/16)
(/.f32 (log1p.f32 (+.f32 x x)) 1)
(/.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 2)
(/.f32 (neg.f32 (log1p.f32 (+.f32 x x))) -1)
(/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 4) 4)
(/.f32 (*.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 4) 8)
(/.f32 (*.f32 4 (*.f32 (log1p.f32 (+.f32 x x)) 4)) 16)
(pow.f32 (log1p.f32 (+.f32 x x)) 1)
(neg.f32 (neg.f32 (log1p.f32 (+.f32 x x))))
Outputs
(*.f32 2 x)
(+.f32 (*.f32 -2 (pow.f32 x 2)) (*.f32 2 x))
(+.f32 (*.f32 2 x) (*.f32 -2 (pow.f32 x 2)))
(-.f32 (*.f32 2 x) (/.f32 (pow.f32 x 2) 1/2))
(+.f32 (*.f32 -2 (pow.f32 x 2)) (+.f32 (*.f32 8/3 (pow.f32 x 3)) (*.f32 2 x)))
(+.f32 (*.f32 2 x) (+.f32 (*.f32 8/3 (pow.f32 x 3)) (*.f32 -2 (pow.f32 x 2))))
(+.f32 (*.f32 -2 (pow.f32 x 2)) (+.f32 (*.f32 2 x) (*.f32 8/3 (pow.f32 x 3))))
(+.f32 (*.f32 2 x) (+.f32 (*.f32 -2 (pow.f32 x 2)) (*.f32 8/3 (pow.f32 x 3))))
(+.f32 (*.f32 -2 (pow.f32 x 2)) (+.f32 (*.f32 8/3 (pow.f32 x 3)) (+.f32 (*.f32 2 x) (*.f32 -4 (pow.f32 x 4)))))
(+.f32 (+.f32 (*.f32 8/3 (pow.f32 x 3)) (*.f32 -4 (pow.f32 x 4))) (-.f32 (*.f32 2 x) (/.f32 (pow.f32 x 2) 1/2)))
(+.f32 (*.f32 2 x) (+.f32 (*.f32 -4 (pow.f32 x 4)) (+.f32 (*.f32 -2 (pow.f32 x 2)) (*.f32 8/3 (pow.f32 x 3)))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(-.f32 (log.f32 2) (log.f32 (/.f32 1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 2) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (log.f32 2) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (*.f32 1 (/.f32 1/2 x))))
(+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (*.f32 1 (/.f32 1/2 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 2) (/.f32 1/2 x)))
(-.f32 (log.f32 2) (+.f32 (neg.f32 (/.f32 1/2 x)) (log.f32 (/.f32 1 x))))
(+.f32 (/.f32 1/2 x) (-.f32 (log.f32 2) (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2))) (*.f32 1/8 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (log.f32 2) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (*.f32 1 (/.f32 1/2 x)))) (*.f32 1 (/.f32 1/8 (pow.f32 x 2))))
(-.f32 (+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (*.f32 1 (/.f32 1/2 x)))) (*.f32 1 (/.f32 1/8 (pow.f32 x 2))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 2) (/.f32 1/2 x))) (/.f32 1/8 (pow.f32 x 2)))
(-.f32 (-.f32 (log.f32 2) (+.f32 (neg.f32 (/.f32 1/2 x)) (log.f32 (/.f32 1 x)))) (/.f32 1/8 (pow.f32 x 2)))
(-.f32 (+.f32 (/.f32 1/2 x) (-.f32 (log.f32 2) (log.f32 (/.f32 1 x)))) (/.f32 1/8 (pow.f32 x 2)))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/24 (/.f32 1 (pow.f32 x 3))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)))) (*.f32 1/8 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 1 (/.f32 1/2 x)) (+.f32 (log.f32 2) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (*.f32 1 (/.f32 1/24 (pow.f32 x 3)))))) (*.f32 1 (/.f32 1/8 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 1 (/.f32 1/2 x)) (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 2) (*.f32 1 (/.f32 1/24 (pow.f32 x 3)))))) (*.f32 1 (/.f32 1/8 (pow.f32 x 2))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (+.f32 (log.f32 2) (/.f32 1/2 x)) (/.f32 1/24 (pow.f32 x 3)))) (/.f32 1/8 (pow.f32 x 2)))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 2) (+.f32 (/.f32 1/2 x) (/.f32 1/24 (pow.f32 x 3))))) (/.f32 1/8 (pow.f32 x 2)))
(-.f32 (+.f32 (-.f32 (log.f32 2) (log.f32 (/.f32 1 x))) (+.f32 (/.f32 1/2 x) (/.f32 1/24 (pow.f32 x 3)))) (/.f32 1/8 (pow.f32 x 2)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/2 (/.f32 1 x)) (log.f32 -2)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1 (/.f32 1/2 x)) (log.f32 -2)))
(+.f32 (log.f32 -2) (+.f32 (*.f32 1 (/.f32 1/2 x)) (neg.f32 (log.f32 (/.f32 -1 x)))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 1/2 x) (log.f32 -2)))
(+.f32 (log.f32 -2) (-.f32 (/.f32 1/2 x) (log.f32 (/.f32 -1 x))))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))) (*.f32 1/8 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 1 (/.f32 1/2 x)) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))) (*.f32 1 (/.f32 1/8 (pow.f32 x 2))))
(-.f32 (+.f32 (log.f32 -2) (+.f32 (*.f32 1 (/.f32 1/2 x)) (neg.f32 (log.f32 (/.f32 -1 x))))) (*.f32 1 (/.f32 1/8 (pow.f32 x 2))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 1/2 x) (log.f32 -2))) (/.f32 1/8 (pow.f32 x 2)))
(-.f32 (+.f32 (log.f32 -2) (-.f32 (/.f32 1/2 x) (log.f32 (/.f32 -1 x)))) (/.f32 1/8 (pow.f32 x 2)))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/24 (/.f32 1 (pow.f32 x 3))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)))) (*.f32 1/8 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1 (/.f32 1/24 (pow.f32 x 3))) (*.f32 1 (/.f32 1/2 x)))) (*.f32 1 (/.f32 1/8 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 1 (/.f32 1/2 x)) (+.f32 (*.f32 1 (/.f32 1/24 (pow.f32 x 3))) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2)))) (*.f32 1 (/.f32 1/8 (pow.f32 x 2))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (+.f32 (/.f32 1/2 x) (log.f32 -2)) (/.f32 1/24 (pow.f32 x 3)))) (/.f32 1/8 (pow.f32 x 2)))
(-.f32 (+.f32 (/.f32 1/2 x) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 1/24 (pow.f32 x 3)) (log.f32 -2)))) (/.f32 1/8 (pow.f32 x 2)))
(-.f32 (+.f32 (+.f32 (/.f32 1/2 x) (log.f32 -2)) (-.f32 (/.f32 1/24 (pow.f32 x 3)) (log.f32 (/.f32 -1 x)))) (/.f32 1/8 (pow.f32 x 2)))
(+.f32 (log1p.f32 (+.f32 x x)) 0)
(log1p.f32 (+.f32 x x))
(+.f32 0 (log1p.f32 (+.f32 x x)))
(log1p.f32 (+.f32 x x))
(+.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) (*.f32 (log1p.f32 (+.f32 x x)) 1/2))
(log1p.f32 (+.f32 x x))
(+.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) -2)))
(log1p.f32 (+.f32 x x))
(+.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4))
(log1p.f32 (+.f32 x x))
(+.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (log1p.f32 (+.f32 x x)) -2)))
(log1p.f32 (+.f32 x x))
(+.f32 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4) (/.f32 (log1p.f32 (+.f32 x x)) 4))
(log1p.f32 (+.f32 x x))
(+.f32 (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (log1p.f32 (+.f32 x x)) -2)) (/.f32 (log1p.f32 (+.f32 x x)) 4))
(log1p.f32 (+.f32 x x))
(+.f32 (-.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))) (neg.f32 (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))))
(log1p.f32 (+.f32 x x))
(+.f32 (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))) (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))))
(log1p.f32 (+.f32 x x))
(-.f32 (log1p.f32 (+.f32 x x)) 0)
(log1p.f32 (+.f32 x x))
(-.f32 0 (neg.f32 (log1p.f32 (+.f32 x x))))
(log1p.f32 (+.f32 x x))
(-.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) (/.f32 (log1p.f32 (+.f32 x x)) -2))
(log1p.f32 (+.f32 x x))
(-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) -3) 4))
(log1p.f32 (+.f32 x x))
(-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (-.f32 0 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4)))
(log1p.f32 (+.f32 x x))
(-.f32 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4)))
(log1p.f32 (+.f32 x x))
(-.f32 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4) (/.f32 (neg.f32 (log1p.f32 (+.f32 x x))) 4))
(log1p.f32 (+.f32 x x))
(-.f32 (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 4) (/.f32 (/.f32 (log1p.f32 (+.f32 x x)) -2) 2))
(log1p.f32 (+.f32 x x))
(-.f32 (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (log1p.f32 (+.f32 x x)) -2)) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4)))
(log1p.f32 (+.f32 x x))
(-.f32 (-.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4))) (-.f32 (neg.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4)) (/.f32 (log1p.f32 (+.f32 x x)) 4)))
(log1p.f32 (+.f32 x x))
(-.f32 (+.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (*.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 1/2) 4)) (-.f32 (/.f32 (/.f32 (log1p.f32 (+.f32 x x)) -2) 4) (/.f32 (log1p.f32 (+.f32 x x)) 4)))
(log1p.f32 (+.f32 x x))
(-.f32 (+.f32 (/.f32 (log1p.f32 (+.f32 x x)) 4) (/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 3) 8)) (-.f32 (/.f32 (neg.f32 (log1p.f32 (+.f32 x x))) 8) (/.f32 (log1p.f32 (+.f32 x x)) 4)))
(log1p.f32 (+.f32 x x))
(*.f32 2 (*.f32 (log1p.f32 (+.f32 x x)) 1/2))
(log1p.f32 (+.f32 x x))
(*.f32 (log1p.f32 (+.f32 x x)) 1)
(log1p.f32 (+.f32 x x))
(*.f32 1 (log1p.f32 (+.f32 x x)))
(log1p.f32 (+.f32 x x))
(*.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 1/2)
(log1p.f32 (+.f32 x x))
(*.f32 1/2 (*.f32 2 (log1p.f32 (+.f32 x x))))
(log1p.f32 (+.f32 x x))
(*.f32 (neg.f32 (log1p.f32 (+.f32 x x))) -1)
(log1p.f32 (+.f32 x x))
(*.f32 4 (*.f32 (log1p.f32 (+.f32 x x)) 1/4))
(log1p.f32 (+.f32 x x))
(*.f32 (*.f32 (log1p.f32 (+.f32 x x)) 4) 1/4)
(log1p.f32 (+.f32 x x))
(*.f32 (*.f32 (log1p.f32 (+.f32 x x)) 1/2) 2)
(log1p.f32 (+.f32 x x))
(*.f32 1/4 (*.f32 (log1p.f32 (+.f32 x x)) 4))
(log1p.f32 (+.f32 x x))
(*.f32 (*.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 4) 1/8)
(log1p.f32 (+.f32 x x))
(*.f32 -2 (/.f32 (log1p.f32 (+.f32 x x)) -2))
(log1p.f32 (+.f32 x x))
(*.f32 1/8 (*.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 4))
(log1p.f32 (+.f32 x x))
(*.f32 (*.f32 4 (*.f32 (log1p.f32 (+.f32 x x)) 4)) 1/16)
(log1p.f32 (+.f32 x x))
(/.f32 (log1p.f32 (+.f32 x x)) 1)
(log1p.f32 (+.f32 x x))
(/.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 2)
(log1p.f32 (+.f32 x x))
(/.f32 (neg.f32 (log1p.f32 (+.f32 x x))) -1)
(log1p.f32 (+.f32 x x))
(/.f32 (*.f32 (log1p.f32 (+.f32 x x)) 4) 4)
(log1p.f32 (+.f32 x x))
(/.f32 (*.f32 (*.f32 2 (log1p.f32 (+.f32 x x))) 4) 8)
(log1p.f32 (+.f32 x x))
(/.f32 (*.f32 4 (*.f32 (log1p.f32 (+.f32 x x)) 4)) 16)
(log1p.f32 (+.f32 x x))
(pow.f32 (log1p.f32 (+.f32 x x)) 1)
(log1p.f32 (+.f32 x x))
(neg.f32 (neg.f32 (log1p.f32 (+.f32 x x))))
(log1p.f32 (+.f32 x x))

localize39.0ms (1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
0.0b
(*.f32 x (/.f32 -2 (+.f32 x -1)))
0.1b
(/.f32 -2 (+.f32 x -1))
Compiler

Compiled 38 to 29 computations (23.7% saved)

series2.0ms (0%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(/.f32 -2 (+.f32 x -1))
0.0ms
x
@0
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
0.0ms
x
@0
(/.f32 -2 (+.f32 x -1))
0.0ms
x
@inf
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
0.0ms
x
@-inf
(*.f32 x (/.f32 -2 (+.f32 x -1)))

rewrite77.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
1054×rational_best-simplify-51
996×rational_best-simplify-57
948×rational_best-simplify-64
842×rational_best-4
842×rational_best-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01055
17155
215555
345555
4213455
Stop Event
node limit
Counts
3 → 66
Calls
Call 1
Inputs
(/.f32 -2 (+.f32 x -1))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 -2 (+.f32 x -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 -2 (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 -1 (+.f32 x -1)) (/.f32 -1 (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 -2 (+.f32 x -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 -1 (+.f32 x -1)) (/.f32 -1 (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (neg.f32 (/.f32 -1 (-.f32 1 x))) (/.f32 -1 (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -2 (/.f32 -1 (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -2 (+.f32 x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 -2 (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -4 (/.f32 1/2 (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -4 (+.f32 x -1)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -8 (/.f32 1/2 (+.f32 -2 (+.f32 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (/.f32 -4 (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -1 (-.f32 1 x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (+.f32 x -1)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (+.f32 -2 (+.f32 x x))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -8 (+.f32 x -1)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -16 (/.f32 1/2 (*.f32 (+.f32 x -1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (/.f32 -8 (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (*.f32 (+.f32 x -1) 4)) -16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 -2 (+.f32 x -1)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 -2 (/.f32 x (+.f32 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 x (-.f32 1 x)) (/.f32 x (-.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 x (-.f32 1 x)) (/.f32 x (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 x x) (-.f32 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 x 4) (-.f32 1 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -2 (/.f32 x (-.f32 1 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 x 4) (+.f32 2 (*.f32 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 x (-.f32 1 x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 x (/.f32 -8 (+.f32 x -1))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -2 x) (+.f32 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 x -4) (+.f32 -2 (+.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 x (+.f32 2 (*.f32 -2 x))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x x) 4) (*.f32 (+.f32 x -1) -4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (*.f32 x 4)) (+.f32 -2 (+.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 x (/.f32 -16 (+.f32 x -1))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (*.f32 x 4) (/.f32 -8 (+.f32 x -1))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 -2 x) 1/2) (+.f32 -2 (+.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 x (/.f32 -2 (-.f32 1 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -2 (+.f32 x -1)) (neg.f32 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -2 (+.f32 x -1)) (*.f32 -2 x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -2 (+.f32 x -1)) (neg.f32 (*.f32 x 4))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -2 (+.f32 x x)) (+.f32 -2 (+.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -4 (*.f32 x 4)) (*.f32 (+.f32 2 (*.f32 -2 x)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 4 (*.f32 (+.f32 x x) 4)) (*.f32 (*.f32 (+.f32 x -1) -4) 4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (*.f32 -2 (/.f32 x (-.f32 1 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2) (/.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2) (/.f32 (neg.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 1)))))

simplify104.0ms (2.7%)

Algorithm
egg-herbie
Rules
1032×rational_best-simplify-48
994×rational_best-simplify-52
854×rational_best-simplify-3
808×rational_best-simplify-51
584×rational_best-simplify-108
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01982622
15122466
213662260
344572244
Stop Event
node limit
Counts
102 → 146
Calls
Call 1
Inputs
2
(+.f32 (*.f32 2 x) 2)
(+.f32 (*.f32 2 (pow.f32 x 2)) (+.f32 (*.f32 2 x) 2))
(+.f32 (*.f32 2 (pow.f32 x 3)) (+.f32 (*.f32 2 (pow.f32 x 2)) (+.f32 (*.f32 2 x) 2)))
(/.f32 -2 x)
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 x))))
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 3))) (*.f32 2 (/.f32 1 (pow.f32 x 2))))))
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 3))) (*.f32 2 (/.f32 1 (pow.f32 x 2)))))))
(/.f32 -2 x)
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 x))))
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 3))) (*.f32 2 (/.f32 1 (pow.f32 x 2))))))
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 3))) (*.f32 2 (/.f32 1 (pow.f32 x 2)))))))
(*.f32 2 x)
(+.f32 (*.f32 2 (pow.f32 x 2)) (*.f32 2 x))
(+.f32 (*.f32 2 (pow.f32 x 2)) (+.f32 (*.f32 2 (pow.f32 x 3)) (*.f32 2 x)))
(+.f32 (*.f32 2 (pow.f32 x 2)) (+.f32 (*.f32 2 (pow.f32 x 3)) (+.f32 (*.f32 2 x) (*.f32 2 (pow.f32 x 4)))))
-2
(neg.f32 (+.f32 2 (*.f32 2 (/.f32 1 x))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2 (/.f32 1 (pow.f32 x 2))))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 (pow.f32 x 3)))))))
-2
(neg.f32 (+.f32 2 (*.f32 2 (/.f32 1 x))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2 (/.f32 1 (pow.f32 x 2))))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 (pow.f32 x 3)))))))
(*.f32 2 x)
(+.f32 (*.f32 2 x) (*.f32 2/3 (pow.f32 x 3)))
(+.f32 (*.f32 2 x) (+.f32 (*.f32 2/3 (pow.f32 x 3)) (*.f32 2/5 (pow.f32 x 5))))
(+.f32 (*.f32 2/7 (pow.f32 x 7)) (+.f32 (*.f32 2 x) (+.f32 (*.f32 2/3 (pow.f32 x 3)) (*.f32 2/5 (pow.f32 x 5)))))
(log.f32 -1)
(+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x)))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x))))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2/5 (/.f32 1 (pow.f32 x 5))))))
(log.f32 -1)
(+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x)))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x))))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2/5 (/.f32 1 (pow.f32 x 5))))))
(+.f32 (/.f32 -2 (+.f32 x -1)) 0)
(+.f32 0 (/.f32 -2 (+.f32 x -1)))
(+.f32 (/.f32 -1 (+.f32 x -1)) (/.f32 -1 (+.f32 x -1)))
(-.f32 (/.f32 -2 (+.f32 x -1)) 0)
(-.f32 (/.f32 -1 (+.f32 x -1)) (/.f32 -1 (-.f32 1 x)))
(-.f32 (neg.f32 (/.f32 -1 (-.f32 1 x))) (/.f32 -1 (-.f32 1 x)))
(*.f32 -2 (/.f32 -1 (-.f32 1 x)))
(*.f32 (/.f32 -2 (+.f32 x -1)) 1)
(*.f32 1 (/.f32 -2 (+.f32 x -1)))
(*.f32 -4 (/.f32 1/2 (+.f32 x -1)))
(*.f32 (/.f32 -4 (+.f32 x -1)) 1/2)
(*.f32 -8 (/.f32 1/2 (+.f32 -2 (+.f32 x x))))
(*.f32 1/2 (/.f32 -4 (+.f32 x -1)))
(*.f32 (/.f32 -1 (-.f32 1 x)) -2)
(*.f32 (/.f32 1/2 (+.f32 x -1)) -4)
(*.f32 (/.f32 1/2 (+.f32 -2 (+.f32 x x))) -8)
(*.f32 (/.f32 -8 (+.f32 x -1)) 1/4)
(*.f32 -16 (/.f32 1/2 (*.f32 (+.f32 x -1) 4)))
(*.f32 1/4 (/.f32 -8 (+.f32 x -1)))
(*.f32 (/.f32 1/2 (*.f32 (+.f32 x -1) 4)) -16)
(pow.f32 (/.f32 -2 (+.f32 x -1)) 1)
(+.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))) 0)
(+.f32 0 (*.f32 -2 (/.f32 x (+.f32 x -1))))
(+.f32 (/.f32 x (-.f32 1 x)) (/.f32 x (-.f32 1 x)))
(-.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))) 0)
(-.f32 (/.f32 x (-.f32 1 x)) (/.f32 x (+.f32 x -1)))
(/.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))) 1)
(/.f32 (+.f32 x x) (-.f32 1 x))
(/.f32 (/.f32 (*.f32 x 4) (-.f32 1 x)) 2)
(/.f32 (*.f32 -2 (/.f32 x (-.f32 1 x))) -1)
(/.f32 (*.f32 x 4) (+.f32 2 (*.f32 -2 x)))
(/.f32 (/.f32 x (-.f32 1 x)) 1/2)
(/.f32 (*.f32 x (/.f32 -8 (+.f32 x -1))) 4)
(/.f32 (*.f32 -2 x) (+.f32 x -1))
(/.f32 (*.f32 x -4) (+.f32 -2 (+.f32 x x)))
(/.f32 (/.f32 x (+.f32 2 (*.f32 -2 x))) 1/4)
(/.f32 (*.f32 (+.f32 x x) 4) (*.f32 (+.f32 x -1) -4))
(/.f32 (neg.f32 (*.f32 x 4)) (+.f32 -2 (+.f32 x x)))
(/.f32 (*.f32 x (/.f32 -16 (+.f32 x -1))) 8)
(/.f32 (*.f32 (*.f32 x 4) (/.f32 -8 (+.f32 x -1))) 16)
(/.f32 (/.f32 (*.f32 -2 x) 1/2) (+.f32 -2 (+.f32 x x)))
(/.f32 (*.f32 x (/.f32 -2 (-.f32 1 x))) -1)
(/.f32 (*.f32 (/.f32 -2 (+.f32 x -1)) (neg.f32 x)) -1)
(/.f32 (*.f32 (/.f32 -2 (+.f32 x -1)) (*.f32 -2 x)) -2)
(/.f32 (*.f32 (/.f32 -2 (+.f32 x -1)) (neg.f32 (*.f32 x 4))) -4)
(/.f32 (*.f32 -2 (+.f32 x x)) (+.f32 -2 (+.f32 x x)))
(/.f32 (*.f32 -4 (*.f32 x 4)) (*.f32 (+.f32 2 (*.f32 -2 x)) -4))
(/.f32 (*.f32 4 (*.f32 (+.f32 x x) 4)) (*.f32 (*.f32 (+.f32 x -1) -4) 4))
(pow.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))) 1)
(neg.f32 (*.f32 -2 (/.f32 x (-.f32 1 x))))
(+.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 0)
(+.f32 0 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))))
(+.f32 (/.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2) (/.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2))
(-.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 0)
(-.f32 (/.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2) (/.f32 (neg.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))))) 2))
(*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 1)
(*.f32 1 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))))
(*.f32 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2) 1/2)
(*.f32 1/2 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2))
(*.f32 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 4) 1/4)
(*.f32 1/4 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 4))
(/.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 1)
(/.f32 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2) 2)
(/.f32 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 4)) 8)
(pow.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 1)
Outputs
2
(+.f32 (*.f32 2 x) 2)
(+.f32 2 (*.f32 2 x))
(+.f32 2 (+.f32 x x))
(+.f32 (*.f32 2 (pow.f32 x 2)) (+.f32 (*.f32 2 x) 2))
(+.f32 (+.f32 2 (*.f32 2 x)) (*.f32 2 (pow.f32 x 2)))
(+.f32 2 (*.f32 2 (+.f32 x (pow.f32 x 2))))
(+.f32 (*.f32 2 (pow.f32 x 3)) (+.f32 (*.f32 2 (pow.f32 x 2)) (+.f32 (*.f32 2 x) 2)))
(+.f32 (+.f32 2 (*.f32 2 x)) (+.f32 (*.f32 2 (pow.f32 x 2)) (*.f32 2 (pow.f32 x 3))))
(+.f32 (+.f32 2 (*.f32 2 x)) (*.f32 2 (+.f32 (pow.f32 x 2) (pow.f32 x 3))))
(+.f32 2 (+.f32 (*.f32 2 (pow.f32 x 2)) (*.f32 2 (+.f32 x (pow.f32 x 3)))))
(/.f32 -2 x)
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 x))))
(neg.f32 (*.f32 2 (+.f32 (/.f32 1 (pow.f32 x 2)) (/.f32 1 x))))
(-.f32 (neg.f32 (/.f32 2 x)) (/.f32 2 (pow.f32 x 2)))
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 3))) (*.f32 2 (/.f32 1 (pow.f32 x 2))))))
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 1 (/.f32 2 (pow.f32 x 3))))))
(neg.f32 (+.f32 (*.f32 1 (/.f32 2 x)) (*.f32 2 (+.f32 (/.f32 1 (pow.f32 x 2)) (/.f32 1 (pow.f32 x 3))))))
(-.f32 (-.f32 (neg.f32 (/.f32 2 (pow.f32 x 3))) (/.f32 2 (pow.f32 x 2))) (/.f32 2 x))
(-.f32 (-.f32 (neg.f32 (/.f32 2 x)) (/.f32 2 (pow.f32 x 2))) (/.f32 2 (pow.f32 x 3)))
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 3))) (*.f32 2 (/.f32 1 (pow.f32 x 2)))))))
(neg.f32 (+.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 1 (/.f32 2 (pow.f32 x 3))))) (*.f32 2 (/.f32 1 (pow.f32 x 4)))))
(neg.f32 (+.f32 (*.f32 2 (+.f32 (/.f32 1 (pow.f32 x 2)) (/.f32 1 (pow.f32 x 3)))) (*.f32 2 (+.f32 (/.f32 1 x) (/.f32 1 (pow.f32 x 4))))))
(neg.f32 (+.f32 (/.f32 2 (pow.f32 x 2)) (+.f32 (+.f32 (/.f32 2 x) (/.f32 2 (pow.f32 x 3))) (/.f32 2 (pow.f32 x 4)))))
(-.f32 (neg.f32 (/.f32 2 (pow.f32 x 2))) (+.f32 (/.f32 2 (pow.f32 x 3)) (+.f32 (/.f32 2 x) (/.f32 2 (pow.f32 x 4)))))
(/.f32 -2 x)
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 x))))
(neg.f32 (*.f32 2 (+.f32 (/.f32 1 (pow.f32 x 2)) (/.f32 1 x))))
(-.f32 (neg.f32 (/.f32 2 x)) (/.f32 2 (pow.f32 x 2)))
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 3))) (*.f32 2 (/.f32 1 (pow.f32 x 2))))))
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 1 (/.f32 2 (pow.f32 x 3))))))
(neg.f32 (+.f32 (*.f32 1 (/.f32 2 x)) (*.f32 2 (+.f32 (/.f32 1 (pow.f32 x 2)) (/.f32 1 (pow.f32 x 3))))))
(-.f32 (-.f32 (neg.f32 (/.f32 2 (pow.f32 x 3))) (/.f32 2 (pow.f32 x 2))) (/.f32 2 x))
(-.f32 (-.f32 (neg.f32 (/.f32 2 x)) (/.f32 2 (pow.f32 x 2))) (/.f32 2 (pow.f32 x 3)))
(neg.f32 (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 3))) (*.f32 2 (/.f32 1 (pow.f32 x 2)))))))
(neg.f32 (+.f32 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 1 (/.f32 2 (pow.f32 x 3))))) (*.f32 2 (/.f32 1 (pow.f32 x 4)))))
(neg.f32 (+.f32 (*.f32 2 (+.f32 (/.f32 1 (pow.f32 x 2)) (/.f32 1 (pow.f32 x 3)))) (*.f32 2 (+.f32 (/.f32 1 x) (/.f32 1 (pow.f32 x 4))))))
(neg.f32 (+.f32 (/.f32 2 (pow.f32 x 2)) (+.f32 (+.f32 (/.f32 2 x) (/.f32 2 (pow.f32 x 3))) (/.f32 2 (pow.f32 x 4)))))
(-.f32 (neg.f32 (/.f32 2 (pow.f32 x 2))) (+.f32 (/.f32 2 (pow.f32 x 3)) (+.f32 (/.f32 2 x) (/.f32 2 (pow.f32 x 4)))))
(*.f32 2 x)
(+.f32 x x)
(+.f32 (*.f32 2 (pow.f32 x 2)) (*.f32 2 x))
(+.f32 (*.f32 2 x) (*.f32 2 (pow.f32 x 2)))
(*.f32 2 (+.f32 x (pow.f32 x 2)))
(+.f32 (*.f32 2 (pow.f32 x 2)) (+.f32 (*.f32 2 (pow.f32 x 3)) (*.f32 2 x)))
(+.f32 (*.f32 2 x) (+.f32 (*.f32 2 (pow.f32 x 3)) (*.f32 2 (pow.f32 x 2))))
(+.f32 (*.f32 2 x) (*.f32 2 (+.f32 (pow.f32 x 2) (pow.f32 x 3))))
(+.f32 (*.f32 2 (pow.f32 x 2)) (*.f32 2 (+.f32 x (pow.f32 x 3))))
(+.f32 (*.f32 2 (pow.f32 x 2)) (+.f32 (*.f32 2 (pow.f32 x 3)) (+.f32 (*.f32 2 x) (*.f32 2 (pow.f32 x 4)))))
(+.f32 (*.f32 2 (+.f32 x (pow.f32 x 4))) (*.f32 2 (+.f32 (pow.f32 x 2) (pow.f32 x 3))))
(+.f32 (*.f32 2 (+.f32 x (pow.f32 x 3))) (*.f32 2 (+.f32 (pow.f32 x 2) (pow.f32 x 4))))
-2
(neg.f32 (+.f32 2 (*.f32 2 (/.f32 1 x))))
(+.f32 -2 (neg.f32 (*.f32 1 (/.f32 2 x))))
(-.f32 -2 (/.f32 2 x))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2 (/.f32 1 (pow.f32 x 2))))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 x)))))
(+.f32 -2 (neg.f32 (*.f32 2 (+.f32 (/.f32 1 (pow.f32 x 2)) (/.f32 1 x)))))
(+.f32 -2 (-.f32 (neg.f32 (/.f32 2 x)) (/.f32 2 (pow.f32 x 2))))
(-.f32 -2 (+.f32 (/.f32 2 (pow.f32 x 2)) (/.f32 2 x)))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 (pow.f32 x 3)))))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 1 (/.f32 2 (pow.f32 x 3)))))))
(+.f32 -2 (neg.f32 (+.f32 (*.f32 1 (/.f32 2 x)) (*.f32 2 (+.f32 (/.f32 1 (pow.f32 x 2)) (/.f32 1 (pow.f32 x 3)))))))
(+.f32 -2 (-.f32 (-.f32 (neg.f32 (/.f32 2 (pow.f32 x 3))) (/.f32 2 (pow.f32 x 2))) (/.f32 2 x)))
(-.f32 -2 (+.f32 (/.f32 2 (pow.f32 x 2)) (+.f32 (/.f32 2 x) (/.f32 2 (pow.f32 x 3)))))
-2
(neg.f32 (+.f32 2 (*.f32 2 (/.f32 1 x))))
(+.f32 -2 (neg.f32 (*.f32 1 (/.f32 2 x))))
(-.f32 -2 (/.f32 2 x))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2 (/.f32 1 (pow.f32 x 2))))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 x)))))
(+.f32 -2 (neg.f32 (*.f32 2 (+.f32 (/.f32 1 (pow.f32 x 2)) (/.f32 1 x)))))
(+.f32 -2 (-.f32 (neg.f32 (/.f32 2 x)) (/.f32 2 (pow.f32 x 2))))
(-.f32 -2 (+.f32 (/.f32 2 (pow.f32 x 2)) (/.f32 2 x)))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 2 (/.f32 1 (pow.f32 x 3)))))))
(neg.f32 (+.f32 2 (+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (*.f32 2 (/.f32 1 (pow.f32 x 2))) (*.f32 1 (/.f32 2 (pow.f32 x 3)))))))
(+.f32 -2 (neg.f32 (+.f32 (*.f32 1 (/.f32 2 x)) (*.f32 2 (+.f32 (/.f32 1 (pow.f32 x 2)) (/.f32 1 (pow.f32 x 3)))))))
(+.f32 -2 (-.f32 (-.f32 (neg.f32 (/.f32 2 (pow.f32 x 3))) (/.f32 2 (pow.f32 x 2))) (/.f32 2 x)))
(-.f32 -2 (+.f32 (/.f32 2 (pow.f32 x 2)) (+.f32 (/.f32 2 x) (/.f32 2 (pow.f32 x 3)))))
(*.f32 2 x)
(+.f32 x x)
(+.f32 (*.f32 2 x) (*.f32 2/3 (pow.f32 x 3)))
(+.f32 (*.f32 2 x) (*.f32 (pow.f32 x 3) 2/3))
(+.f32 (*.f32 (pow.f32 x 3) 2/3) (+.f32 x x))
(+.f32 (*.f32 2 x) (+.f32 (*.f32 2/3 (pow.f32 x 3)) (*.f32 2/5 (pow.f32 x 5))))
(+.f32 (*.f32 2 x) (+.f32 (*.f32 (pow.f32 x 3) 2/3) (*.f32 2/5 (pow.f32 x 5))))
(+.f32 (*.f32 (pow.f32 x 3) 2/3) (+.f32 (*.f32 2 x) (*.f32 2/5 (pow.f32 x 5))))
(+.f32 (*.f32 (pow.f32 x 3) 2/3) (+.f32 (*.f32 2/5 (pow.f32 x 5)) (+.f32 x x)))
(+.f32 (*.f32 2/7 (pow.f32 x 7)) (+.f32 (*.f32 2 x) (+.f32 (*.f32 2/3 (pow.f32 x 3)) (*.f32 2/5 (pow.f32 x 5)))))
(+.f32 (+.f32 (*.f32 (pow.f32 x 3) 2/3) (*.f32 2/5 (pow.f32 x 5))) (+.f32 (*.f32 2 x) (*.f32 2/7 (pow.f32 x 7))))
(+.f32 (+.f32 (*.f32 2 x) (*.f32 (pow.f32 x 3) 2/3)) (+.f32 (*.f32 2/5 (pow.f32 x 5)) (*.f32 2/7 (pow.f32 x 7))))
(+.f32 (+.f32 (*.f32 (pow.f32 x 3) 2/3) (+.f32 x x)) (+.f32 (*.f32 2/5 (pow.f32 x 5)) (*.f32 2/7 (pow.f32 x 7))))
(log.f32 -1)
(+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x)))
(+.f32 (*.f32 2 (/.f32 1 x)) (log.f32 -1))
(+.f32 (*.f32 1 (/.f32 2 x)) (log.f32 -1))
(+.f32 (/.f32 2 x) (log.f32 -1))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x))))
(+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (log.f32 -1) (*.f32 1 (/.f32 2/3 (pow.f32 x 3)))))
(+.f32 (*.f32 1 (/.f32 2 x)) (+.f32 (log.f32 -1) (*.f32 1 (/.f32 2/3 (pow.f32 x 3)))))
(+.f32 (log.f32 -1) (+.f32 (/.f32 2 x) (/.f32 2/3 (pow.f32 x 3))))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2/5 (/.f32 1 (pow.f32 x 5))))))
(+.f32 (*.f32 1 (/.f32 2/3 (pow.f32 x 3))) (+.f32 (log.f32 -1) (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 1 (/.f32 2/5 (pow.f32 x 5))))))
(+.f32 (+.f32 (*.f32 1 (/.f32 2 x)) (log.f32 -1)) (+.f32 (*.f32 1 (/.f32 2/5 (pow.f32 x 5))) (*.f32 1 (/.f32 2/3 (pow.f32 x 3)))))
(+.f32 (/.f32 2 x) (+.f32 (/.f32 2/5 (pow.f32 x 5)) (+.f32 (log.f32 -1) (/.f32 2/3 (pow.f32 x 3)))))
(log.f32 -1)
(+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x)))
(+.f32 (*.f32 2 (/.f32 1 x)) (log.f32 -1))
(+.f32 (*.f32 1 (/.f32 2 x)) (log.f32 -1))
(+.f32 (/.f32 2 x) (log.f32 -1))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (*.f32 2 (/.f32 1 x))))
(+.f32 (*.f32 2 (/.f32 1 x)) (+.f32 (log.f32 -1) (*.f32 1 (/.f32 2/3 (pow.f32 x 3)))))
(+.f32 (*.f32 1 (/.f32 2 x)) (+.f32 (log.f32 -1) (*.f32 1 (/.f32 2/3 (pow.f32 x 3)))))
(+.f32 (log.f32 -1) (+.f32 (/.f32 2 x) (/.f32 2/3 (pow.f32 x 3))))
(+.f32 (*.f32 2/3 (/.f32 1 (pow.f32 x 3))) (+.f32 (log.f32 -1) (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 2/5 (/.f32 1 (pow.f32 x 5))))))
(+.f32 (*.f32 1 (/.f32 2/3 (pow.f32 x 3))) (+.f32 (log.f32 -1) (+.f32 (*.f32 2 (/.f32 1 x)) (*.f32 1 (/.f32 2/5 (pow.f32 x 5))))))
(+.f32 (+.f32 (*.f32 1 (/.f32 2 x)) (log.f32 -1)) (+.f32 (*.f32 1 (/.f32 2/5 (pow.f32 x 5))) (*.f32 1 (/.f32 2/3 (pow.f32 x 3)))))
(+.f32 (/.f32 2 x) (+.f32 (/.f32 2/5 (pow.f32 x 5)) (+.f32 (log.f32 -1) (/.f32 2/3 (pow.f32 x 3)))))
(+.f32 (/.f32 -2 (+.f32 x -1)) 0)
(/.f32 -2 (+.f32 x -1))
(+.f32 0 (/.f32 -2 (+.f32 x -1)))
(/.f32 -2 (+.f32 x -1))
(+.f32 (/.f32 -1 (+.f32 x -1)) (/.f32 -1 (+.f32 x -1)))
(/.f32 -2 (+.f32 x -1))
(-.f32 (/.f32 -2 (+.f32 x -1)) 0)
(/.f32 -2 (+.f32 x -1))
(-.f32 (/.f32 -1 (+.f32 x -1)) (/.f32 -1 (-.f32 1 x)))
(-.f32 (neg.f32 (/.f32 -1 (-.f32 1 x))) (/.f32 -1 (-.f32 1 x)))
(*.f32 2 (/.f32 1 (-.f32 1 x)))
(/.f32 2 (-.f32 1 x))
(*.f32 -2 (/.f32 -1 (-.f32 1 x)))
(-.f32 (neg.f32 (/.f32 -1 (-.f32 1 x))) (/.f32 -1 (-.f32 1 x)))
(*.f32 2 (/.f32 1 (-.f32 1 x)))
(/.f32 2 (-.f32 1 x))
(*.f32 (/.f32 -2 (+.f32 x -1)) 1)
(/.f32 -2 (+.f32 x -1))
(*.f32 1 (/.f32 -2 (+.f32 x -1)))
(/.f32 -2 (+.f32 x -1))
(*.f32 -4 (/.f32 1/2 (+.f32 x -1)))
(/.f32 -2 (+.f32 x -1))
(*.f32 (/.f32 -4 (+.f32 x -1)) 1/2)
(/.f32 -2 (+.f32 x -1))
(*.f32 -8 (/.f32 1/2 (+.f32 -2 (+.f32 x x))))
(/.f32 -2 (+.f32 x -1))
(*.f32 1/2 (/.f32 -4 (+.f32 x -1)))
(/.f32 -2 (+.f32 x -1))
(*.f32 (/.f32 -1 (-.f32 1 x)) -2)
(-.f32 (neg.f32 (/.f32 -1 (-.f32 1 x))) (/.f32 -1 (-.f32 1 x)))
(*.f32 2 (/.f32 1 (-.f32 1 x)))
(/.f32 2 (-.f32 1 x))
(*.f32 (/.f32 1/2 (+.f32 x -1)) -4)
(/.f32 -2 (+.f32 x -1))
(*.f32 (/.f32 1/2 (+.f32 -2 (+.f32 x x))) -8)
(/.f32 -2 (+.f32 x -1))
(*.f32 (/.f32 -8 (+.f32 x -1)) 1/4)
(/.f32 -2 (+.f32 x -1))
(*.f32 -16 (/.f32 1/2 (*.f32 (+.f32 x -1) 4)))
(/.f32 -2 (+.f32 x -1))
(*.f32 1/4 (/.f32 -8 (+.f32 x -1)))
(/.f32 -2 (+.f32 x -1))
(*.f32 (/.f32 1/2 (*.f32 (+.f32 x -1) 4)) -16)
(/.f32 -2 (+.f32 x -1))
(pow.f32 (/.f32 -2 (+.f32 x -1)) 1)
(/.f32 -2 (+.f32 x -1))
(+.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))) 0)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(+.f32 0 (*.f32 -2 (/.f32 x (+.f32 x -1))))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(+.f32 (/.f32 x (-.f32 1 x)) (/.f32 x (-.f32 1 x)))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(-.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))) 0)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(-.f32 (/.f32 x (-.f32 1 x)) (/.f32 x (+.f32 x -1)))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))) 1)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (+.f32 x x) (-.f32 1 x))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (/.f32 (*.f32 x 4) (-.f32 1 x)) 2)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 -2 (/.f32 x (-.f32 1 x))) -1)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 x 4) (+.f32 2 (*.f32 -2 x)))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (/.f32 x (-.f32 1 x)) 1/2)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 x (/.f32 -8 (+.f32 x -1))) 4)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 -2 x) (+.f32 x -1))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 x -4) (+.f32 -2 (+.f32 x x)))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (/.f32 x (+.f32 2 (*.f32 -2 x))) 1/4)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 (+.f32 x x) 4) (*.f32 (+.f32 x -1) -4))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (neg.f32 (*.f32 x 4)) (+.f32 -2 (+.f32 x x)))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 x (/.f32 -16 (+.f32 x -1))) 8)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 (*.f32 x 4) (/.f32 -8 (+.f32 x -1))) 16)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (/.f32 (*.f32 -2 x) 1/2) (+.f32 -2 (+.f32 x x)))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 x (/.f32 -2 (-.f32 1 x))) -1)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 (/.f32 -2 (+.f32 x -1)) (neg.f32 x)) -1)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 (/.f32 -2 (+.f32 x -1)) (*.f32 -2 x)) -2)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 (/.f32 -2 (+.f32 x -1)) (neg.f32 (*.f32 x 4))) -4)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 -2 (+.f32 x x)) (+.f32 -2 (+.f32 x x)))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 -4 (*.f32 x 4)) (*.f32 (+.f32 2 (*.f32 -2 x)) -4))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(/.f32 (*.f32 4 (*.f32 (+.f32 x x) 4)) (*.f32 (*.f32 (+.f32 x -1) -4) 4))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(pow.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))) 1)
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(neg.f32 (*.f32 -2 (/.f32 x (-.f32 1 x))))
(*.f32 x (/.f32 -2 (+.f32 x -1)))
(+.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 0)
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(+.f32 0 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))))
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(+.f32 (/.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2) (/.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2))
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(-.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 0)
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(-.f32 (/.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2) (/.f32 (neg.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1))))) 2))
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 1)
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(*.f32 1 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))))
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(*.f32 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2) 1/2)
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(*.f32 1/2 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2))
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(*.f32 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 4) 1/4)
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(*.f32 1/4 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 4))
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(/.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 1)
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(/.f32 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 2) 2)
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(/.f32 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 4) 4)
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(/.f32 (*.f32 2 (*.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 4)) 8)
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))
(pow.f32 (log1p.f32 (*.f32 -2 (/.f32 x (+.f32 x -1)))) 1)
(log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1))))

localize38.0ms (1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f32 (pow.f32 x 3) 2/3)
Compiler

Compiled 37 to 29 computations (21.6% saved)

series2.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@inf
(*.f32 (pow.f32 x 3) 2/3)
1.0ms
x
@0
(*.f32 (pow.f32 x 3) 2/3)
0.0ms
x
@-inf
(*.f32 (pow.f32 x 3) 2/3)

rewrite159.0ms (4.2%)

Algorithm
batch-egg-rewrite
Rules
1110×rational_best-simplify-83
1094×rational_best-simplify-51
806×rational_best-simplify-57
650×rational_best-simplify-63
614×rational_best-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14513
28113
317813
448513
5178313
6795913
Stop Event
node limit
Counts
1 → 33
Calls
Call 1
Inputs
(*.f32 (pow.f32 x 3) 2/3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (pow.f32 x 3) 2/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (pow.f32 x 3) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (pow.f32 x 3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) -2/3) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (*.f32 (pow.f32 x 3) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4)) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))) (neg.f32 (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))) (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (pow.f32 x 3) 2/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (pow.f32 x 3) 2/3) (+.f32 (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4) (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (*.f32 (pow.f32 x 3) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (pow.f32 x 3) 1/2) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (pow.f32 x 3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) -2/3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (-.f32 (/.f32 (neg.f32 (pow.f32 x 3)) 4) (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (pow.f32 x 3) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4)) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))) (-.f32 (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8) (*.f32 (pow.f32 x 3) 1/2)) (-.f32 0 (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (pow.f32 x 3) 4)) (-.f32 (/.f32 (*.f32 (pow.f32 x 3) -2/3) 8) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8) (/.f32 (*.f32 3 (pow.f32 x 3)) 8)) (-.f32 (/.f32 (neg.f32 (pow.f32 x 3)) 8) (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (pow.f32 x 3) 2/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (pow.f32 x 3) 4/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (pow.f32 x 3) -2/3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (pow.f32 x 3) 8/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2/3 (pow.f32 (+.f32 x x) 3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (*.f32 (pow.f32 x 3) 8/3) 4) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 (pow.f32 x 3) 8/3) (pow.f32 (+.f32 x x) 3)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 (*.f32 (pow.f32 x 3) 8/3) 4) (*.f32 (*.f32 (pow.f32 x 3) 8/3) 4)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 x 3) 2/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (*.f32 (pow.f32 x 3) -2/3))))))

simplify66.0ms (1.7%)

Algorithm
egg-herbie
Rules
1346×rational_best-simplify-57
1246×rational_best-simplify-47
762×rational_best-simplify-67
696×rational_best-simplify-75
642×rational_best-simplify-65
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
095741
1203741
2516741
31823711
Stop Event
node limit
Counts
45 → 36
Calls
Call 1
Inputs
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(+.f32 (*.f32 (pow.f32 x 3) 2/3) 0)
(+.f32 0 (*.f32 (pow.f32 x 3) 2/3))
(+.f32 (*.f32 (pow.f32 x 3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))
(+.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2))
(+.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) -2/3) -2))
(+.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (*.f32 (pow.f32 x 3) 1/2))
(+.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4)))
(+.f32 (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4)) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))
(+.f32 (-.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))) (neg.f32 (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))))
(+.f32 (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))) (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))))
(-.f32 (*.f32 (pow.f32 x 3) 2/3) 0)
(-.f32 (*.f32 (pow.f32 x 3) 2/3) (+.f32 (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4) (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2)))
(-.f32 0 (*.f32 (pow.f32 x 3) -2/3))
(-.f32 (*.f32 (pow.f32 x 3) 1/2) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)))
(-.f32 (*.f32 (pow.f32 x 3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) -2/3) 4))
(-.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4))
(-.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (-.f32 (/.f32 (neg.f32 (pow.f32 x 3)) 4) (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8)))
(-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (pow.f32 x 3) -2))
(-.f32 (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4)) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)))
(-.f32 (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))) (-.f32 (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)))
(-.f32 (+.f32 (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8) (*.f32 (pow.f32 x 3) 1/2)) (-.f32 0 (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8)))
(-.f32 (+.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (pow.f32 x 3) 4)) (-.f32 (/.f32 (*.f32 (pow.f32 x 3) -2/3) 8) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)))
(-.f32 (+.f32 (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8) (/.f32 (*.f32 3 (pow.f32 x 3)) 8)) (-.f32 (/.f32 (neg.f32 (pow.f32 x 3)) 8) (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8)))
(/.f32 (*.f32 (pow.f32 x 3) 2/3) 1)
(/.f32 (*.f32 (pow.f32 x 3) 4/3) 2)
(/.f32 (*.f32 (pow.f32 x 3) -2/3) -1)
(/.f32 (*.f32 (pow.f32 x 3) 8/3) 4)
(/.f32 (*.f32 2/3 (pow.f32 (+.f32 x x) 3)) 8)
(/.f32 (*.f32 (*.f32 (pow.f32 x 3) 8/3) 4) 16)
(/.f32 (+.f32 (*.f32 (pow.f32 x 3) 8/3) (pow.f32 (+.f32 x x) 3)) 16)
(/.f32 (+.f32 (*.f32 (*.f32 (pow.f32 x 3) 8/3) 4) (*.f32 (*.f32 (pow.f32 x 3) 8/3) 4)) 32)
(pow.f32 (*.f32 (pow.f32 x 3) 2/3) 1)
(neg.f32 (*.f32 (pow.f32 x 3) -2/3))
Outputs
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(*.f32 2/3 (pow.f32 x 3))
(+.f32 (*.f32 (pow.f32 x 3) 2/3) 0)
(*.f32 2/3 (pow.f32 x 3))
(+.f32 0 (*.f32 (pow.f32 x 3) 2/3))
(*.f32 2/3 (pow.f32 x 3))
(+.f32 (*.f32 (pow.f32 x 3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))
(+.f32 (*.f32 (pow.f32 x 3) 1/2) (*.f32 (*.f32 (pow.f32 x 3) 8/3) 1/16))
(*.f32 1/2 (+.f32 (*.f32 (pow.f32 x 3) 1/3) (pow.f32 x 3)))
(+.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2))
(*.f32 2/3 (pow.f32 x 3))
(+.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) -2/3) -2))
(*.f32 2/3 (pow.f32 x 3))
(+.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (*.f32 (pow.f32 x 3) 1/2))
(+.f32 (*.f32 (pow.f32 x 3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))
(+.f32 (*.f32 (pow.f32 x 3) 1/2) (*.f32 (*.f32 (pow.f32 x 3) 8/3) 1/16))
(*.f32 1/2 (+.f32 (*.f32 (pow.f32 x 3) 1/3) (pow.f32 x 3)))
(+.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4)))
(*.f32 2/3 (pow.f32 x 3))
(+.f32 (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4)) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))
(*.f32 2/3 (pow.f32 x 3))
(+.f32 (-.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))) (neg.f32 (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))))
(*.f32 2/3 (pow.f32 x 3))
(+.f32 (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))) (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))))
(*.f32 2/3 (pow.f32 x 3))
(-.f32 (*.f32 (pow.f32 x 3) 2/3) 0)
(*.f32 2/3 (pow.f32 x 3))
(-.f32 (*.f32 (pow.f32 x 3) 2/3) (+.f32 (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4) (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2)))
(*.f32 2/3 (pow.f32 x 3))
(-.f32 0 (*.f32 (pow.f32 x 3) -2/3))
(*.f32 2/3 (pow.f32 x 3))
(-.f32 (*.f32 (pow.f32 x 3) 1/2) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)))
(+.f32 (*.f32 (pow.f32 x 3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))
(+.f32 (*.f32 (pow.f32 x 3) 1/2) (*.f32 (*.f32 (pow.f32 x 3) 8/3) 1/16))
(*.f32 1/2 (+.f32 (*.f32 (pow.f32 x 3) 1/3) (pow.f32 x 3)))
(-.f32 (*.f32 (pow.f32 x 3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) -2/3) 4))
(+.f32 (*.f32 (pow.f32 x 3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))
(+.f32 (*.f32 (pow.f32 x 3) 1/2) (*.f32 (*.f32 (pow.f32 x 3) 8/3) 1/16))
(*.f32 1/2 (+.f32 (*.f32 (pow.f32 x 3) 1/3) (pow.f32 x 3)))
(-.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4))
(*.f32 2/3 (pow.f32 x 3))
(-.f32 (*.f32 (*.f32 (pow.f32 x 3) 2/3) 1/2) (-.f32 (/.f32 (neg.f32 (pow.f32 x 3)) 4) (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8)))
(*.f32 2/3 (pow.f32 x 3))
(-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (pow.f32 x 3) -2))
(*.f32 2/3 (pow.f32 x 3))
(-.f32 (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (*.f32 (pow.f32 x 3) -4/3) 4)) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)))
(*.f32 2/3 (pow.f32 x 3))
(-.f32 (-.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))) (-.f32 (neg.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)))
(*.f32 2/3 (pow.f32 x 3))
(-.f32 (+.f32 (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8) (*.f32 (pow.f32 x 3) 1/2)) (-.f32 0 (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8)))
(+.f32 (*.f32 (pow.f32 x 3) 1/2) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16))
(+.f32 (*.f32 (pow.f32 x 3) 1/2) (*.f32 (*.f32 (pow.f32 x 3) 8/3) 1/16))
(*.f32 1/2 (+.f32 (*.f32 (pow.f32 x 3) 1/3) (pow.f32 x 3)))
(-.f32 (+.f32 (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16) (/.f32 (pow.f32 x 3) 4)) (-.f32 (/.f32 (*.f32 (pow.f32 x 3) -2/3) 8) (/.f32 (*.f32 (pow.f32 x 3) 8/3) 16)))
(*.f32 2/3 (pow.f32 x 3))
(-.f32 (+.f32 (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8) (/.f32 (*.f32 3 (pow.f32 x 3)) 8)) (-.f32 (/.f32 (neg.f32 (pow.f32 x 3)) 8) (/.f32 (*.f32 (pow.f32 x 3) 2/3) 8)))
(*.f32 2/3 (pow.f32 x 3))
(/.f32 (*.f32 (pow.f32 x 3) 2/3) 1)
(*.f32 2/3 (pow.f32 x 3))
(/.f32 (*.f32 (pow.f32 x 3) 4/3) 2)
(*.f32 2/3 (pow.f32 x 3))
(/.f32 (*.f32 (pow.f32 x 3) -2/3) -1)
(*.f32 2/3 (pow.f32 x 3))
(/.f32 (*.f32 (pow.f32 x 3) 8/3) 4)
(*.f32 2/3 (pow.f32 x 3))
(/.f32 (*.f32 2/3 (pow.f32 (+.f32 x x) 3)) 8)
(/.f32 (*.f32 (*.f32 (pow.f32 x 3) 8/3) 4) 16)
(*.f32 2/3 (pow.f32 x 3))
(/.f32 (+.f32 (*.f32 (pow.f32 x 3) 8/3) (pow.f32 (+.f32 x x) 3)) 16)
(/.f32 (+.f32 (*.f32 (*.f32 (pow.f32 x 3) 8/3) 4) (*.f32 (*.f32 (pow.f32 x 3) 8/3) 4)) 32)
(*.f32 2/3 (pow.f32 x 3))
(pow.f32 (*.f32 (pow.f32 x 3) 2/3) 1)
(*.f32 2/3 (pow.f32 x 3))
(neg.f32 (*.f32 (pow.f32 x 3) -2/3))
(*.f32 2/3 (pow.f32 x 3))

eval113.0ms (3%)

Compiler

Compiled 4644 to 3698 computations (20.4% saved)

prune52.0ms (1.4%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2761277
Fresh000
Picked011
Done224
Total2784282
Error
0.0b
Counts
282 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(*.f32 1/2 (+.f32 (*.f32 2 x) (*.f32 (pow.f32 x 3) 2/3)))
0.9b
(*.f32 1/2 (*.f32 2 x))
0.0b
(*.f32 1/2 (log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x))))
0.1b
(*.f32 1/2 (log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1)))))
Compiler

Compiled 40 to 33 computations (17.5% saved)

localize13.0ms (0.3%)

Compiler

Compiled 12 to 9 computations (25% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.0ms (0.1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done033
Total044
Error
0.0b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(*.f32 1/2 (+.f32 (*.f32 2 x) (*.f32 (pow.f32 x 3) 2/3)))
0.9b
(*.f32 1/2 (*.f32 2 x))
0.0b
(*.f32 1/2 (log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x))))
0.1b
(*.f32 1/2 (log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1)))))
Compiler

Compiled 40 to 33 computations (17.5% saved)

regimes21.0ms (0.5%)

Counts
6 → 1
Calls
Call 1
Inputs
(*.f32 1/2 (*.f32 2 x))
(*.f32 1/2 (log1p.f32 -2))
(*.f32 1/2 (log1p.f32 (*.f32 2 x)))
(*.f32 1/2 (log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1)))))
(*.f32 1/2 (log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x))))
(*.f32 1/2 (+.f32 (*.f32 2 x) (*.f32 (pow.f32 x 3) 2/3)))
Outputs
(*.f32 1/2 (log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x))))
Calls

4 calls:

5.0ms
(*.f32 1/2 (log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x))))
5.0ms
(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
5.0ms
(/.f32 (*.f32 2 x) (-.f32 1 x))
5.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1(*.f32 1/2 (log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x))))
0.0b1(log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x)))
0.0b1(/.f32 (*.f32 2 x) (-.f32 1 x))
Compiler

Compiled 77 to 62 computations (19.5% saved)

regimes5.0ms (0.1%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f32 1/2 (*.f32 2 x))
(*.f32 1/2 (log1p.f32 -2))
(*.f32 1/2 (log1p.f32 (*.f32 2 x)))
(*.f32 1/2 (log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1)))))
Outputs
(*.f32 1/2 (log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1)))))
Calls

1 calls:

4.0ms
x
Results
ErrorSegmentsBranch
0.1b1x
Compiler

Compiled 28 to 23 computations (17.9% saved)

regimes5.0ms (0.1%)

Accuracy

Total -31.1b remaining (-3636.9%)

Threshold costs -31.1b (-3636.9%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f32 1/2 (*.f32 2 x))
(*.f32 1/2 (log1p.f32 -2))
(*.f32 1/2 (log1p.f32 (*.f32 2 x)))
Outputs
(*.f32 1/2 (*.f32 2 x))
Calls

1 calls:

5.0ms
x
Results
ErrorSegmentsBranch
0.9b1x
Compiler

Compiled 18 to 15 computations (16.7% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02071
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f32 1/2 (log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x))))
(*.f32 1/2 (log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1)))))
(*.f32 1/2 (*.f32 2 x))
Outputs
(*.f32 1/2 (log1p.f32 (/.f32 (*.f32 2 x) (-.f32 1 x))))
(*.f32 1/2 (log1p.f32 (*.f32 x (/.f32 -2 (+.f32 x -1)))))
(*.f32 1/2 (*.f32 2 x))
Compiler

Compiled 28 to 23 computations (17.9% saved)

soundness0.0ms (0%)

end21.0ms (0.6%)

Compiler

Compiled 26 to 21 computations (19.2% saved)

Profiling

Loading profile data...