Details

Time bar (total: 6.8s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.6%0.4%0%0%0%0
100%99.6%0%0.4%0%0%0%1
Compiler

Compiled 4 to 3 computations (25% saved)

sample2.0s (29.5%)

Results
2.0s8256×body256valid
Bogosity

preprocess12.0ms (0.2%)

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
(asinh.f32 x)
Outputs
(asinh.f32 x)
Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify90.0ms (1.3%)

Algorithm
egg-herbie
Rules
1972×rational.json-simplify-35
868×rational.json-simplify-2
866×rational.json-simplify-57
844×rational.json-simplify-19
816×rational.json-simplify-59
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01237
11737
23237
312337
4124437
5336137
6683237
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x)
Outputs
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x)

eval0.0ms (0%)

Compiler

Compiled 13 to 9 computations (30.8% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
20.4b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
20.4b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x)
Compiler

Compiled 13 to 9 computations (30.8% saved)

localize113.0ms (1.7%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))
8.3b
(sqrt.f32 (+.f32 (*.f32 x x) 1))
11.3b
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))))
Compiler

Compiled 50 to 24 computations (52% saved)

series3.0ms (0%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))))
1.0ms
x
@inf
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))))
0.0ms
x
@-inf
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))))
0.0ms
x
@inf
(sqrt.f32 (+.f32 (*.f32 x x) 1))
0.0ms
x
@-inf
(sqrt.f32 (+.f32 (*.f32 x x) 1))

rewrite74.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1738×rational.json-simplify-35
1050×rational.json-1
1050×rational.json-2
1050×rational.json-3
1048×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01175
18275
219175
369075
4409875
Stop Event
node limit
Counts
3 → 43
Calls
Call 1
Inputs
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))))
(sqrt.f32 (+.f32 (*.f32 x x) 1))
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (sqrt.f32 (+.f32 (*.f32 x x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sqrt.f32 (+.f32 (*.f32 x x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 4)) (*.f32 2 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 4)) (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 1)))))

simplify123.0ms (1.8%)

Algorithm
egg-herbie
Rules
1738×rational.json-simplify-35
842×rational.json-simplify-41
702×rational.json-simplify-1
660×rational.json-simplify-44
604×rational.json-simplify-59
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01892813
14042743
28202743
319322721
451422721
575502721
Stop Event
node limit
Counts
79 → 155
Calls
Call 1
Inputs
(log.f32 (+.f32 1 (fabs.f32 x)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x))))
(+.f32 (*.f32 -1/24 (*.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (fabs.f32 x)))) (*.f32 3 (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 2)))) (pow.f32 x 4))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x)))))
(+.f32 (*.f32 -1/24 (*.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (fabs.f32 x)))) (*.f32 3 (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 2)))) (pow.f32 x 4))) (+.f32 (*.f32 1/720 (*.f32 (+.f32 (*.f32 45 (/.f32 1 (+.f32 1 (fabs.f32 x)))) (+.f32 (*.f32 30 (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 3))) (*.f32 45 (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 2))))) (pow.f32 x 6))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x))))))
(*.f32 -1 (log.f32 (/.f32 1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -3 (fabs.f32 x)) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))))
(*.f32 -1 (log.f32 (/.f32 -1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 -3 (fabs.f32 x))) (pow.f32 x 3))))))
1
(+.f32 1 (*.f32 1/2 (pow.f32 x 2)))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (*.f32 -1/8 (pow.f32 x 4))))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (+.f32 (*.f32 1/16 (pow.f32 x 6)) (*.f32 -1/8 (pow.f32 x 4)))))
x
(+.f32 (*.f32 1/2 (/.f32 1 x)) x)
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) x) (*.f32 1/8 (/.f32 1 (pow.f32 x 3))))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3))))
(*.f32 -1 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 -1 x)) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/16 (/.f32 1 (pow.f32 x 5)))))
(+.f32 1 (fabs.f32 x))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (+.f32 (*.f32 -1/8 (pow.f32 x 4)) (fabs.f32 x))))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (+.f32 (*.f32 1/16 (pow.f32 x 6)) (+.f32 (*.f32 -1/8 (pow.f32 x 4)) (fabs.f32 x)))))
x
(+.f32 (fabs.f32 x) x)
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3))))
(*.f32 -1 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (+.f32 (fabs.f32 x) (*.f32 -1 x))) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 0)
(+.f32 0 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))))
(-.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 0)
(*.f32 1 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))))
(*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 1)
(*.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2))
(*.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2) 1/2)
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2))
(*.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2) 2)
(/.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 1)
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 4))) 16)
(pow.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 1)
(+.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 0)
(+.f32 0 (sqrt.f32 (+.f32 (*.f32 x x) 1)))
(-.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 0)
(*.f32 1 (sqrt.f32 (+.f32 (*.f32 x x) 1)))
(*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 1)
(*.f32 2 (/.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2))
(*.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2) 1/2)
(*.f32 1/2 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2))
(*.f32 (/.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2) 2)
(/.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 1)
(/.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2) 2)
(/.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 4) 4)
(/.f32 (*.f32 2 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 4)) (*.f32 2 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 4))) 16)
(pow.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 1)
(-.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 0)
(*.f32 1 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))))
(*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 1)
(*.f32 2 (/.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2))
(*.f32 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2) 1/2)
(*.f32 1/2 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2))
(*.f32 (/.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2) 2)
(/.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 1)
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2) 2)
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 4)) (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 4))) 16)
(pow.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 1)
Outputs
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (-.f32 (fabs.f32 x) -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x))))
(+.f32 (log.f32 (+.f32 1 (fabs.f32 x))) (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))))
(+.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) (*.f32 1/2 (/.f32 (pow.f32 x 2) (-.f32 (fabs.f32 x) -1))))
(+.f32 (*.f32 -1/24 (*.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (fabs.f32 x)))) (*.f32 3 (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 2)))) (pow.f32 x 4))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x)))))
(+.f32 (+.f32 (log.f32 (+.f32 1 (fabs.f32 x))) (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x))))) (*.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (fabs.f32 x)))) (*.f32 3 (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 2)))) (*.f32 (pow.f32 x 4) -1/24)))
(+.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (-.f32 (fabs.f32 x) -1))) (*.f32 (*.f32 3 (+.f32 (/.f32 1 (-.f32 (fabs.f32 x) -1)) (/.f32 1 (pow.f32 (-.f32 (fabs.f32 x) -1) 2)))) (*.f32 -1/24 (pow.f32 x 4)))))
(+.f32 (log.f32 (+.f32 1 (fabs.f32 x))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (*.f32 (*.f32 3 (+.f32 (/.f32 1 (+.f32 1 (fabs.f32 x))) (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 2)))) (*.f32 -1/24 (pow.f32 x 4)))))
(+.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (-.f32 (fabs.f32 x) -1))) (*.f32 -1/24 (*.f32 3 (*.f32 (pow.f32 x 4) (+.f32 (/.f32 1 (-.f32 (fabs.f32 x) -1)) (/.f32 1 (pow.f32 (-.f32 (fabs.f32 x) -1) 2))))))))
(+.f32 (*.f32 -1/24 (*.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (fabs.f32 x)))) (*.f32 3 (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 2)))) (pow.f32 x 4))) (+.f32 (*.f32 1/720 (*.f32 (+.f32 (*.f32 45 (/.f32 1 (+.f32 1 (fabs.f32 x)))) (+.f32 (*.f32 30 (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 3))) (*.f32 45 (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 2))))) (pow.f32 x 6))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x))))))
(+.f32 (*.f32 (+.f32 (*.f32 (/.f32 1 (+.f32 1 (fabs.f32 x))) 45) (+.f32 (*.f32 30 (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 3))) (*.f32 (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 2)) 45))) (*.f32 (pow.f32 x 6) 1/720)) (+.f32 (+.f32 (log.f32 (+.f32 1 (fabs.f32 x))) (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x))))) (*.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (fabs.f32 x)))) (*.f32 3 (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 2)))) (*.f32 (pow.f32 x 4) -1/24))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (-.f32 (fabs.f32 x) -1))) (+.f32 (+.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) (*.f32 (+.f32 (*.f32 30 (/.f32 1 (pow.f32 (-.f32 (fabs.f32 x) -1) 3))) (*.f32 45 (+.f32 (/.f32 1 (-.f32 (fabs.f32 x) -1)) (/.f32 1 (pow.f32 (-.f32 (fabs.f32 x) -1) 2))))) (*.f32 1/720 (pow.f32 x 6)))) (*.f32 (*.f32 3 (+.f32 (/.f32 1 (-.f32 (fabs.f32 x) -1)) (/.f32 1 (pow.f32 (-.f32 (fabs.f32 x) -1) 2)))) (*.f32 -1/24 (pow.f32 x 4)))))
(+.f32 (log.f32 (+.f32 1 (fabs.f32 x))) (+.f32 (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (*.f32 (*.f32 3 (+.f32 (/.f32 1 (+.f32 1 (fabs.f32 x))) (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 2)))) (*.f32 -1/24 (pow.f32 x 4)))) (*.f32 (+.f32 (*.f32 30 (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 3))) (*.f32 45 (+.f32 (/.f32 1 (+.f32 1 (fabs.f32 x))) (/.f32 1 (pow.f32 (+.f32 1 (fabs.f32 x)) 2))))) (*.f32 1/720 (pow.f32 x 6)))))
(+.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) (+.f32 (*.f32 (+.f32 (*.f32 30 (/.f32 1 (pow.f32 (-.f32 (fabs.f32 x) -1) 3))) (*.f32 45 (+.f32 (/.f32 1 (-.f32 (fabs.f32 x) -1)) (/.f32 1 (pow.f32 (-.f32 (fabs.f32 x) -1) 2))))) (*.f32 1/720 (pow.f32 x 6))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (-.f32 (fabs.f32 x) -1))) (*.f32 -1/24 (*.f32 3 (*.f32 (pow.f32 x 4) (+.f32 (/.f32 1 (-.f32 (fabs.f32 x) -1)) (/.f32 1 (pow.f32 (-.f32 (fabs.f32 x) -1) 2)))))))))
(*.f32 -1 (log.f32 (/.f32 1 x)))
(neg.f32 (log.f32 (/.f32 1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x)))
(+.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x)) (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (/.f32 (fabs.f32 x) x) (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))))
(+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -3 (fabs.f32 x)) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x)) (*.f32 1/6 (/.f32 (+.f32 (*.f32 (fabs.f32 x) -3) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3)))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (+.f32 (/.f32 (fabs.f32 x) x) (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 (fabs.f32 x) -3) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x)) (*.f32 1/6 (/.f32 (+.f32 (*.f32 (fabs.f32 x) -3) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3)))))
(+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 (fabs.f32 x) -3) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3)))))
(*.f32 -1 (log.f32 (/.f32 -1 x)))
(neg.f32 (log.f32 (/.f32 -1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x)))
(*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x))))
(neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x)))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 -3 (fabs.f32 x))) (pow.f32 x 3))))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 (fabs.f32 x) -3) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3))))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1/6 (/.f32 (+.f32 (*.f32 (fabs.f32 x) -3) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3))) (*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x))))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x)))) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 (fabs.f32 x) -3) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3)))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (+.f32 (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x)))) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 (fabs.f32 x) -3) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3)))))
1
(+.f32 1 (*.f32 1/2 (pow.f32 x 2)))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (*.f32 -1/8 (pow.f32 x 4))))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (*.f32 (pow.f32 x 4) -1/8)))
(+.f32 (*.f32 1/2 (pow.f32 x 2)) (+.f32 1 (*.f32 (pow.f32 x 4) -1/8)))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (+.f32 (*.f32 1/16 (pow.f32 x 6)) (*.f32 -1/8 (pow.f32 x 4)))))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (+.f32 (*.f32 (pow.f32 x 4) -1/8) (*.f32 (pow.f32 x 6) 1/16))))
(+.f32 (*.f32 1/2 (pow.f32 x 2)) (+.f32 1 (+.f32 (*.f32 (pow.f32 x 4) -1/8) (*.f32 (pow.f32 x 6) 1/16))))
x
(+.f32 (*.f32 1/2 (/.f32 1 x)) x)
(+.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) x) (*.f32 1/8 (/.f32 1 (pow.f32 x 3))))
(+.f32 x (-.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3)))))
(-.f32 (+.f32 x (*.f32 1/2 (/.f32 1 x))) (*.f32 1/8 (/.f32 1 (pow.f32 x 3))))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3))))
(+.f32 (+.f32 x (*.f32 1/16 (/.f32 1 (pow.f32 x 5)))) (-.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3)))))
(+.f32 (+.f32 x (*.f32 1/2 (/.f32 1 x))) (-.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) (*.f32 1/8 (/.f32 1 (pow.f32 x 3)))))
(+.f32 x (+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) (-.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3))))))
(+.f32 (-.f32 (+.f32 x (*.f32 1/2 (/.f32 1 x))) (*.f32 1/8 (/.f32 1 (pow.f32 x 3)))) (*.f32 1/16 (/.f32 1 (pow.f32 x 5))))
(*.f32 -1 x)
(*.f32 x -1)
(neg.f32 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x -1) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (*.f32 x -1) (-.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 -1 x)) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/16 (/.f32 1 (pow.f32 x 5)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 x -1)) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/16 (/.f32 1 (pow.f32 x 5)))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (neg.f32 x)) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/16 (/.f32 1 (pow.f32 x 5)))))
(+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (-.f32 (neg.f32 x) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/16 (/.f32 1 (pow.f32 x 5))))))
(+.f32 1 (fabs.f32 x))
(-.f32 (fabs.f32 x) -1)
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (-.f32 (fabs.f32 x) -1) (*.f32 1/2 (pow.f32 x 2)))
(+.f32 (+.f32 1 (fabs.f32 x)) (*.f32 1/2 (pow.f32 x 2)))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (+.f32 (*.f32 -1/8 (pow.f32 x 4)) (fabs.f32 x))))
(+.f32 1 (+.f32 (*.f32 (pow.f32 x 4) -1/8) (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(+.f32 1 (+.f32 (fabs.f32 x) (+.f32 (*.f32 1/2 (pow.f32 x 2)) (*.f32 (pow.f32 x 4) -1/8))))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (+.f32 (fabs.f32 x) (*.f32 (pow.f32 x 4) -1/8))))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (+.f32 (*.f32 1/16 (pow.f32 x 6)) (+.f32 (*.f32 -1/8 (pow.f32 x 4)) (fabs.f32 x)))))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (+.f32 (*.f32 (pow.f32 x 4) -1/8) (+.f32 (fabs.f32 x) (*.f32 (pow.f32 x 6) 1/16)))))
(+.f32 1 (+.f32 (+.f32 (fabs.f32 x) (*.f32 (pow.f32 x 4) -1/8)) (+.f32 (*.f32 1/2 (pow.f32 x 2)) (*.f32 (pow.f32 x 6) 1/16))))
(+.f32 (*.f32 1/2 (pow.f32 x 2)) (+.f32 (*.f32 (pow.f32 x 6) 1/16) (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 (pow.f32 x 4) -1/8)))))
x
(+.f32 (fabs.f32 x) x)
(+.f32 x (fabs.f32 x))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 x (fabs.f32 x)))
(+.f32 x (+.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3))))
(+.f32 (+.f32 x (fabs.f32 x)) (-.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3)))))
(-.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 x (fabs.f32 x))) (*.f32 1/8 (/.f32 1 (pow.f32 x 3))))
(+.f32 (fabs.f32 x) (-.f32 (+.f32 x (*.f32 1/2 (/.f32 1 x))) (*.f32 1/8 (/.f32 1 (pow.f32 x 3)))))
(*.f32 -1 x)
(*.f32 x -1)
(neg.f32 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(+.f32 (fabs.f32 x) (*.f32 x -1))
(+.f32 (fabs.f32 x) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 x -1)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (+.f32 (fabs.f32 x) (*.f32 -1 x))) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (+.f32 (fabs.f32 x) (*.f32 x -1)) (-.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))))
(+.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 0)
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(+.f32 0 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))))
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(-.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 0)
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(*.f32 1 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))))
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 1)
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(*.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2))
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(*.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2) 1/2)
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2))
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(*.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2) 2)
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(/.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 1)
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 2) 2)
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 4) 4)
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 4)) 8)
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 4))) 16)
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(pow.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) 1)
(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x)))))
(+.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 0)
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(+.f32 0 (sqrt.f32 (+.f32 (*.f32 x x) 1)))
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(-.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 0)
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(*.f32 1 (sqrt.f32 (+.f32 (*.f32 x x) 1)))
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 1)
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(*.f32 2 (/.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2))
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(*.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2) 1/2)
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(*.f32 1/2 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2))
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(*.f32 (/.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2) 2)
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(/.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 1)
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(/.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 2) 2)
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(/.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 4) 4)
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(/.f32 (*.f32 2 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 4)) 8)
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(/.f32 (+.f32 (*.f32 2 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 4)) (*.f32 2 (*.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 4))) 16)
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(pow.f32 (sqrt.f32 (+.f32 (*.f32 x x) 1)) 1)
(sqrt.f32 (+.f32 1 (*.f32 x x)))
(-.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 0)
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x))))
(*.f32 1 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))))
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x))))
(*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 1)
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x))))
(*.f32 2 (/.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2))
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x))))
(*.f32 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2) 1/2)
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x))))
(*.f32 1/2 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2))
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x))))
(*.f32 (/.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2) 2)
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x))))
(/.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 1)
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x))))
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 2) 2)
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x))))
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 4) 4)
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x))))
(/.f32 (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 4)) 8)
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x))))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 4)) (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 4))) 16)
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x))))
(pow.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1))) 1)
(+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 1 (*.f32 x x))))

eval66.0ms (1%)

Compiler

Compiled 3394 to 2313 computations (31.9% saved)

prune31.0ms (0.5%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New14411155
Fresh000
Picked011
Done000
Total14412156
Error
10.9b
Counts
156 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
27.7b
(copysign.f32 (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x)))) x)
27.5b
(copysign.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x)) x)
26.4b
(copysign.f32 (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x)))) x)
27.8b
(copysign.f32 (neg.f32 (log.f32 (/.f32 1 x))) x)
26.8b
(copysign.f32 (neg.f32 (log.f32 (/.f32 -1 x))) x)
21.3b
(copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x)
23.9b
(copysign.f32 (log.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x))) x)
21.3b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))) x)
20.4b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x)
21.5b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (neg.f32 x))) x)
24.1b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) x)) x)
26.7b
(copysign.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) x)
Compiler

Compiled 271 to 195 computations (28% saved)

localize58.0ms (0.9%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))))
0.0b
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
2.6b
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
Compiler

Compiled 61 to 37 computations (39.3% saved)

series2.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite66.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1408×rational.json-1
1408×rational.json-2
1408×rational.json-3
1406×exponential.json-3
1406×rational.json-4
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01393
110493
225793
374975
4446975
Stop Event
node limit
Counts
3 → 53
Calls
Call 1
Inputs
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 4) (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (-.f32 (neg.f32 x) (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (-.f32 1 (+.f32 x (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (-.f32 (-.f32 1 x) (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 x) (-.f32 -1 (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 (/.f32 1/2 x)) (neg.f32 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 x) (-.f32 1 (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (/.f32 1/2 x)) (-.f32 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (-.f32 (neg.f32 x) (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (+.f32 x (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 x (/.f32 1/2 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 x (/.f32 1/2 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 4) (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (+.f32 x (/.f32 1/2 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 4) (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 1)))))

simplify112.0ms (1.7%)

Algorithm
egg-herbie
Rules
1258×rational.json-simplify-35
1210×rational.json-simplify-51
986×rational.json-simplify-2
808×rational.json-simplify-59
772×rational.json-simplify-1
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01652719
13192451
26692451
315252423
438422315
562732315
Stop Event
node limit
Counts
89 → 119
Calls
Call 1
Inputs
(/.f32 -1/2 x)
(-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(/.f32 -1/2 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (log.f32 -1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x)))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 24 (fabs.f32 x))) (pow.f32 x 3))) (*.f32 -1 (log.f32 x))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 -1))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x)))))
(+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 3 (fabs.f32 x))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x))))))
(*.f32 -1 (log.f32 (/.f32 -1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 -3 (fabs.f32 x))) (pow.f32 x 3))))))
(-.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 0)
(*.f32 1/2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2))
(*.f32 1 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 1)
(*.f32 2 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2))
(*.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2) 1/2)
(*.f32 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2) 2)
(/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 1)
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2) 2)
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 4) 4)
(/.f32 (+.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 4) (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 4)) 8)
(pow.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 1)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 0)
(+.f32 0 (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 -1 (-.f32 1 (+.f32 x (/.f32 1/2 x))))
(+.f32 -1 (-.f32 (-.f32 1 x) (/.f32 1/2 x)))
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (-.f32 1 x) (-.f32 -1 (/.f32 1/2 x)))
(+.f32 (neg.f32 (/.f32 1/2 x)) (neg.f32 x))
(+.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) -1)
(+.f32 (-.f32 -1 x) (-.f32 1 (/.f32 1/2 x)))
(+.f32 (-.f32 1 (/.f32 1/2 x)) (-.f32 -1 x))
(+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1)
(*.f32 1/2 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2))
(*.f32 1 (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 1)
(*.f32 -1 (+.f32 x (/.f32 1/2 x)))
(*.f32 2 (/.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2))
(*.f32 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2) 1/2)
(*.f32 (+.f32 x (/.f32 1/2 x)) -1)
(*.f32 (/.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2) 2)
(/.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 1)
(/.f32 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2) 2)
(/.f32 (+.f32 x (/.f32 1/2 x)) -1)
(/.f32 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 4) 4)
(/.f32 (+.f32 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 4) (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 4)) 8)
(pow.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 1)
(neg.f32 (+.f32 x (/.f32 1/2 x)))
(+.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 0)
(+.f32 0 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))))
(-.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 0)
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2))
(*.f32 1 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))))
(*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 1)
(*.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2))
(*.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2) 1/2)
(*.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2) 2)
(/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 1)
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 4) 4)
(/.f32 (+.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 4) (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 4)) 8)
(pow.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 1)
Outputs
(/.f32 -1/2 x)
(-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(*.f32 -1 x)
(neg.f32 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(+.f32 (fabs.f32 x) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(*.f32 -1 x)
(neg.f32 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(+.f32 (fabs.f32 x) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(/.f32 -1/2 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(neg.f32 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(neg.f32 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (log.f32 -1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1/2) (neg.f32 (log.f32 x)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 x (*.f32 -2 (fabs.f32 x)))))
(+.f32 (neg.f32 (log.f32 x)) (+.f32 (log.f32 -1/2) (*.f32 x (*.f32 (fabs.f32 x) -2))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 x (*.f32 -2 (fabs.f32 x)))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 x (*.f32 (fabs.f32 x) -2))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 24 (fabs.f32 x))) (pow.f32 x 3))) (*.f32 -1 (log.f32 x))))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 24)) (pow.f32 x 3))) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2)))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 x (*.f32 -2 (fabs.f32 x))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 24)) (pow.f32 x 3)))))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 x (*.f32 (fabs.f32 x) -2))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 24)) (pow.f32 x 3))))))
(+.f32 (+.f32 (log.f32 -1/2) (+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 24)) (pow.f32 x 3))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 -1))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (log.f32 -1))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (log.f32 -1) (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x))))
(+.f32 (log.f32 -1) (neg.f32 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 x (fabs.f32 x)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x)))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x))) (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (+.f32 (log.f32 -1) (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x)))) (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))
(+.f32 (+.f32 (log.f32 -1) (neg.f32 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 x (fabs.f32 x))))) (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))))
(+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 3 (fabs.f32 x))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x))))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x)))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3)))))
(+.f32 (+.f32 (log.f32 -1) (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x)))) (+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3))) (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (+.f32 (log.f32 -1) (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x)))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3)))))
(+.f32 (log.f32 -1) (+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (neg.f32 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 x (fabs.f32 x)))))))
(*.f32 -1 (log.f32 (/.f32 -1 x)))
(neg.f32 (log.f32 (/.f32 -1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 (/.f32 -1 x))))
(*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 (fabs.f32 x) x)))
(*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x))))
(neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 (/.f32 -1 x)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x)))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 -3 (fabs.f32 x))) (pow.f32 x 3))))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (+.f32 (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -3)) (pow.f32 x 3))) (*.f32 -1 (log.f32 (/.f32 -1 x))))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -3)) (pow.f32 x 3))) (*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 (fabs.f32 x) x)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x)))) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -3)) (pow.f32 x 3)))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (+.f32 (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x)))) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -3)) (pow.f32 x 3)))))
(-.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 0)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 1/2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 1 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 1)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 2 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2) 1/2)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2) 2)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 1)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 2) 2)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 4) 4)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(/.f32 (+.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 4) (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 4)) 8)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(pow.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))) 1)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 0)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 0 (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 -1 (-.f32 1 (+.f32 x (/.f32 1/2 x))))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 -1 (-.f32 (-.f32 1 x) (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 (-.f32 1 x) (-.f32 -1 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 (neg.f32 (/.f32 1/2 x)) (neg.f32 x))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) -1)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 (-.f32 -1 x) (-.f32 1 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 (-.f32 1 (/.f32 1/2 x)) (-.f32 -1 x))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 1/2 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 1 (-.f32 (neg.f32 x) (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 1)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 -1 (+.f32 x (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 2 (/.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2) 1/2)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 (+.f32 x (/.f32 1/2 x)) -1)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 (/.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2) 2)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 1)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 2) 2)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (+.f32 x (/.f32 1/2 x)) -1)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 4) 4)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (+.f32 (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 4) (*.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 4)) 8)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(pow.f32 (-.f32 (neg.f32 x) (/.f32 1/2 x)) 1)
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(neg.f32 (+.f32 x (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 0)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(+.f32 0 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(-.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 0)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 1 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 1)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2) 1/2)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2) 2)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 1)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 2) 2)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 4) 4)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(/.f32 (+.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 4) (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 4)) 8)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(pow.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x)))) 1)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (/.f32 1/2 x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))

localize28.0ms (0.4%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(log.f32 (/.f32 -1 x))
Compiler

Compiled 22 to 16 computations (27.3% saved)

series42.0ms (0.6%)

Counts
1 → 8
Calls

3 calls:

TimeVariablePointExpression
21.0ms
x
@0
(log.f32 (/.f32 -1 x))
13.0ms
x
@-inf
(log.f32 (/.f32 -1 x))
8.0ms
x
@inf
(log.f32 (/.f32 -1 x))

rewrite102.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1846×rational.json-1
1438×rational.json-simplify-35
960×rational.json-2
960×rational.json-3
946×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
15111
213111
327111
454911
5143611
6381911
7765911
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(log.f32 (/.f32 -1 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (/.f32 -1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (/.f32 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (/.f32 -1 x))) (log.f32 (sqrt.f32 (/.f32 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (/.f32 -1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (/.f32 -1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (/.f32 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (log.f32 (sqrt.f32 (/.f32 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (pow.f32 (/.f32 1 x) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (log.f32 (/.f32 -1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (/.f32 -1 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (log.f32 (pow.f32 (/.f32 1 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (log.f32 (/.f32 -1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (sqrt.f32 (/.f32 -1 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (/.f32 -1 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (/.f32 -1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (pow.f32 (/.f32 1 x) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (/.f32 -1 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (/.f32 -1 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 -1 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (/.f32 -1 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (/.f32 -1 x)) 8))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (/.f32 -1 x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log.f32 (/.f32 -1 x)) 1)))))

simplify766.0ms (11.3%)

Algorithm
egg-herbie
Rules
6472×rational.json-simplify-41
2956×rational.json-simplify-35
1476×rational.json-simplify-49
1418×rational.json-simplify-2
956×rational.json-simplify-51
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
056442
1106434
2223434
3710434
41311434
52422434
62966434
73053434
83108434
93149434
103658434
113820434
123900434
133980434
144039434
154098434
164157434
174216434
184275434
195335434
205566434
215618434
225664434
235708434
245751434
256025434
266068434
276111434
286154434
296197434
306240434
316240434
326283434
336326434
346369434
356412434
Stop Event
node limit
Counts
30 → 29
Calls
Call 1
Inputs
(+.f32 (log.f32 -1) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 -1))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 -1))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 -1))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 -1))
(+.f32 (log.f32 (/.f32 -1 x)) 0)
(+.f32 0 (log.f32 (/.f32 -1 x)))
(+.f32 (log.f32 (sqrt.f32 (/.f32 -1 x))) (log.f32 (sqrt.f32 (/.f32 -1 x))))
(-.f32 (log.f32 (/.f32 -1 x)) 0)
(*.f32 (log.f32 (/.f32 -1 x)) 1)
(*.f32 1 (log.f32 (/.f32 -1 x)))
(*.f32 2 (log.f32 (sqrt.f32 (/.f32 -1 x))))
(*.f32 (log.f32 (pow.f32 (/.f32 1 x) 2)) 1/2)
(*.f32 4 (/.f32 (log.f32 (/.f32 -1 x)) 4))
(*.f32 (*.f32 (log.f32 (/.f32 -1 x)) 4) 1/4)
(*.f32 1/2 (log.f32 (pow.f32 (/.f32 1 x) 2)))
(*.f32 1/4 (*.f32 (log.f32 (/.f32 -1 x)) 4))
(*.f32 (log.f32 (sqrt.f32 (/.f32 -1 x))) 2)
(*.f32 (/.f32 (log.f32 (/.f32 -1 x)) 4) 4)
(/.f32 (log.f32 (/.f32 -1 x)) 1)
(/.f32 (log.f32 (pow.f32 (/.f32 1 x) 2)) 2)
(/.f32 (*.f32 (log.f32 (/.f32 -1 x)) 4) 4)
(/.f32 (*.f32 (log.f32 (/.f32 -1 x)) 8) 8)
(/.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 -1 x)) 8)) 16)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (/.f32 -1 x)) 8))) 32)
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (/.f32 -1 x)) 8))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (/.f32 -1 x)) 8)))) 64)
(pow.f32 (log.f32 (/.f32 -1 x)) 1)
Outputs
(+.f32 (log.f32 -1) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1) (neg.f32 (log.f32 x)))
(+.f32 (log.f32 -1) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1) (neg.f32 (log.f32 x)))
(+.f32 (log.f32 -1) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1) (neg.f32 (log.f32 x)))
(+.f32 (log.f32 -1) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1) (neg.f32 (log.f32 x)))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 -1))
(+.f32 (log.f32 -1) (log.f32 (/.f32 1 x)))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 -1))
(+.f32 (log.f32 -1) (log.f32 (/.f32 1 x)))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 -1))
(+.f32 (log.f32 -1) (log.f32 (/.f32 1 x)))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 -1))
(+.f32 (log.f32 -1) (log.f32 (/.f32 1 x)))
(+.f32 (log.f32 (/.f32 -1 x)) 0)
(log.f32 (/.f32 -1 x))
(+.f32 0 (log.f32 (/.f32 -1 x)))
(log.f32 (/.f32 -1 x))
(+.f32 (log.f32 (sqrt.f32 (/.f32 -1 x))) (log.f32 (sqrt.f32 (/.f32 -1 x))))
(log.f32 (/.f32 -1 x))
(-.f32 (log.f32 (/.f32 -1 x)) 0)
(log.f32 (/.f32 -1 x))
(*.f32 (log.f32 (/.f32 -1 x)) 1)
(log.f32 (/.f32 -1 x))
(*.f32 1 (log.f32 (/.f32 -1 x)))
(log.f32 (/.f32 -1 x))
(*.f32 2 (log.f32 (sqrt.f32 (/.f32 -1 x))))
(log.f32 (/.f32 -1 x))
(*.f32 (log.f32 (pow.f32 (/.f32 1 x) 2)) 1/2)
(log.f32 (sqrt.f32 (pow.f32 (/.f32 1 x) 2)))
(log.f32 (pow.f32 (sqrt.f32 (/.f32 1 x)) 2))
(*.f32 4 (/.f32 (log.f32 (/.f32 -1 x)) 4))
(log.f32 (/.f32 -1 x))
(*.f32 (*.f32 (log.f32 (/.f32 -1 x)) 4) 1/4)
(log.f32 (/.f32 -1 x))
(*.f32 1/2 (log.f32 (pow.f32 (/.f32 1 x) 2)))
(log.f32 (sqrt.f32 (pow.f32 (/.f32 1 x) 2)))
(log.f32 (pow.f32 (sqrt.f32 (/.f32 1 x)) 2))
(*.f32 1/4 (*.f32 (log.f32 (/.f32 -1 x)) 4))
(log.f32 (/.f32 -1 x))
(*.f32 (log.f32 (sqrt.f32 (/.f32 -1 x))) 2)
(log.f32 (/.f32 -1 x))
(*.f32 (/.f32 (log.f32 (/.f32 -1 x)) 4) 4)
(log.f32 (/.f32 -1 x))
(/.f32 (log.f32 (/.f32 -1 x)) 1)
(log.f32 (/.f32 -1 x))
(/.f32 (log.f32 (pow.f32 (/.f32 1 x) 2)) 2)
(/.f32 (*.f32 (log.f32 (/.f32 -1 x)) 4) 4)
(log.f32 (/.f32 -1 x))
(/.f32 (*.f32 (log.f32 (/.f32 -1 x)) 8) 8)
(log.f32 (/.f32 -1 x))
(/.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 -1 x)) 8)) 16)
(log.f32 (/.f32 -1 x))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (/.f32 -1 x)) 8))) 32)
(log.f32 (/.f32 -1 x))
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (/.f32 -1 x)) 8))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (/.f32 -1 x)) 8)))) 64)
(log.f32 (/.f32 -1 x))
(pow.f32 (log.f32 (/.f32 -1 x)) 1)
(log.f32 (/.f32 -1 x))

localize23.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.5b
(log.f32 (+.f32 (fabs.f32 x) x))
Compiler

Compiled 20 to 5 computations (75% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(log.f32 (+.f32 (fabs.f32 x) x))
0.0ms
x
@-inf
(log.f32 (+.f32 (fabs.f32 x) x))
0.0ms
x
@inf
(log.f32 (+.f32 (fabs.f32 x) x))

rewrite56.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1450×rational.json-simplify-35
1216×rational.json-1
1216×rational.json-2
1216×rational.json-3
1214×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
14815
212715
347015
4370215
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(log.f32 (+.f32 (fabs.f32 x) x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 x (fabs.f32 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 x (fabs.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 x (fabs.f32 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 x (fabs.f32 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 x (fabs.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 x (fabs.f32 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log.f32 (+.f32 x (fabs.f32 x))) 1)))))

simplify83.0ms (1.2%)

Algorithm
egg-herbie
Rules
1186×rational.json-simplify-1
1180×rational.json-simplify-46
924×rational.json-simplify-35
804×rational.json-simplify-41
740×rational.json-simplify-51
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
079887
1168871
2343871
3798871
42782871
56208871
Stop Event
node limit
Counts
27 → 62
Calls
Call 1
Inputs
(log.f32 (fabs.f32 x))
(+.f32 (log.f32 (fabs.f32 x)) (/.f32 x (fabs.f32 x)))
(+.f32 (*.f32 -1/2 (/.f32 (pow.f32 x 2) (pow.f32 (fabs.f32 x) 2))) (+.f32 (log.f32 (fabs.f32 x)) (/.f32 x (fabs.f32 x))))
(+.f32 (*.f32 -1/2 (/.f32 (pow.f32 x 2) (pow.f32 (fabs.f32 x) 2))) (+.f32 (log.f32 (fabs.f32 x)) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 x 3) (pow.f32 (fabs.f32 x) 3))) (/.f32 x (fabs.f32 x)))))
(*.f32 -1 (log.f32 (/.f32 1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 (fabs.f32 x) 3) (pow.f32 x 3))) (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -1))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (log.f32 -1) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 (fabs.f32 x) 3) (pow.f32 x 3))) (/.f32 (fabs.f32 x) x)))))
(+.f32 (log.f32 (+.f32 x (fabs.f32 x))) 0)
(+.f32 0 (log.f32 (+.f32 x (fabs.f32 x))))
(-.f32 (log.f32 (+.f32 x (fabs.f32 x))) 0)
(*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 1)
(*.f32 1 (log.f32 (+.f32 x (fabs.f32 x))))
(*.f32 2 (/.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2))
(*.f32 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2) 1/2)
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2))
(*.f32 (/.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2) 2)
(/.f32 (log.f32 (+.f32 x (fabs.f32 x))) 1)
(/.f32 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 4))) 16)
(pow.f32 (log.f32 (+.f32 x (fabs.f32 x))) 1)
Outputs
(log.f32 (fabs.f32 x))
(+.f32 (log.f32 (fabs.f32 x)) (/.f32 x (fabs.f32 x)))
(+.f32 (*.f32 -1/2 (/.f32 (pow.f32 x 2) (pow.f32 (fabs.f32 x) 2))) (+.f32 (log.f32 (fabs.f32 x)) (/.f32 x (fabs.f32 x))))
(+.f32 (+.f32 (log.f32 (fabs.f32 x)) (/.f32 x (fabs.f32 x))) (*.f32 -1/2 (/.f32 (pow.f32 x 2) (pow.f32 (fabs.f32 x) 2))))
(+.f32 (log.f32 (fabs.f32 x)) (+.f32 (/.f32 x (fabs.f32 x)) (*.f32 -1/2 (/.f32 (pow.f32 x 2) (pow.f32 (fabs.f32 x) 2)))))
(+.f32 (log.f32 (fabs.f32 x)) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 x 2) (pow.f32 (fabs.f32 x) 2))) (/.f32 x (fabs.f32 x))))
(+.f32 (*.f32 -1/2 (/.f32 (pow.f32 x 2) (pow.f32 (fabs.f32 x) 2))) (+.f32 (log.f32 (fabs.f32 x)) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 x 3) (pow.f32 (fabs.f32 x) 3))) (/.f32 x (fabs.f32 x)))))
(+.f32 (log.f32 (fabs.f32 x)) (+.f32 (+.f32 (/.f32 x (fabs.f32 x)) (*.f32 1/3 (/.f32 (pow.f32 x 3) (pow.f32 (fabs.f32 x) 3)))) (*.f32 -1/2 (/.f32 (pow.f32 x 2) (pow.f32 (fabs.f32 x) 2)))))
(+.f32 (*.f32 -1/2 (/.f32 (pow.f32 x 2) (pow.f32 (fabs.f32 x) 2))) (+.f32 (+.f32 (log.f32 (fabs.f32 x)) (/.f32 x (fabs.f32 x))) (*.f32 1/3 (/.f32 (pow.f32 x 3) (pow.f32 (fabs.f32 x) 3)))))
(+.f32 (log.f32 (fabs.f32 x)) (+.f32 (/.f32 x (fabs.f32 x)) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 x 3) (pow.f32 (fabs.f32 x) 3))) (*.f32 -1/2 (/.f32 (pow.f32 x 2) (pow.f32 (fabs.f32 x) 2))))))
(+.f32 (log.f32 (fabs.f32 x)) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 x 3) (pow.f32 (fabs.f32 x) 3))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 x 2) (pow.f32 (fabs.f32 x) 2))) (/.f32 x (fabs.f32 x)))))
(+.f32 (log.f32 (fabs.f32 x)) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 x 2) (pow.f32 (fabs.f32 x) 2))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 x 3) (pow.f32 (fabs.f32 x) 3))) (/.f32 x (fabs.f32 x)))))
(*.f32 -1 (log.f32 (/.f32 1 x)))
(neg.f32 (log.f32 (/.f32 1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2)))))
(+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x)) (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2)))))
(+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (/.f32 x (fabs.f32 x)) (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2)))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 (fabs.f32 x) 3) (pow.f32 x 3))) (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (/.f32 (fabs.f32 x) x) (*.f32 1/3 (/.f32 (pow.f32 (fabs.f32 x) 3) (pow.f32 x 3))))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (*.f32 1/3 (/.f32 (pow.f32 (fabs.f32 x) 3) (pow.f32 x 3))))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (/.f32 x (fabs.f32 x)) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (*.f32 1/3 (/.f32 (pow.f32 (fabs.f32 x) 3) (pow.f32 x 3))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -1))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1)))
(+.f32 (/.f32 (fabs.f32 x) x) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1)))
(+.f32 (/.f32 x (fabs.f32 x)) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1))))
(+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (/.f32 (fabs.f32 x) x) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1))))
(+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1))))
(+.f32 (/.f32 x (fabs.f32 x)) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (log.f32 -1) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 (fabs.f32 x) 3) (pow.f32 x 3))) (/.f32 (fabs.f32 x) x)))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 (fabs.f32 x) 3) (pow.f32 x 3))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1)))))
(+.f32 (log.f32 -1) (+.f32 (+.f32 (/.f32 (fabs.f32 x) x) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (*.f32 1/3 (/.f32 (pow.f32 (fabs.f32 x) 3) (pow.f32 x 3))))) (neg.f32 (log.f32 (/.f32 -1 x)))))
(+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 (fabs.f32 x) 3) (pow.f32 x 3))) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1)))))
(+.f32 (+.f32 (/.f32 x (fabs.f32 x)) (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2)))) (+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)) (*.f32 1/3 (/.f32 (pow.f32 (fabs.f32 x) 3) (pow.f32 x 3)))))
(+.f32 (/.f32 x (fabs.f32 x)) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 (fabs.f32 x) 3) (pow.f32 x 3))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (fabs.f32 x) 2) (pow.f32 x 2))) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))))
(+.f32 (log.f32 (+.f32 x (fabs.f32 x))) 0)
(log.f32 (+.f32 x (fabs.f32 x)))
(+.f32 0 (log.f32 (+.f32 x (fabs.f32 x))))
(log.f32 (+.f32 x (fabs.f32 x)))
(-.f32 (log.f32 (+.f32 x (fabs.f32 x))) 0)
(log.f32 (+.f32 x (fabs.f32 x)))
(*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 1)
(log.f32 (+.f32 x (fabs.f32 x)))
(*.f32 1 (log.f32 (+.f32 x (fabs.f32 x))))
(log.f32 (+.f32 x (fabs.f32 x)))
(*.f32 2 (/.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2))
(log.f32 (+.f32 x (fabs.f32 x)))
(*.f32 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2) 1/2)
(log.f32 (+.f32 x (fabs.f32 x)))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2))
(log.f32 (+.f32 x (fabs.f32 x)))
(*.f32 (/.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2) 2)
(log.f32 (+.f32 x (fabs.f32 x)))
(/.f32 (log.f32 (+.f32 x (fabs.f32 x))) 1)
(log.f32 (+.f32 x (fabs.f32 x)))
(/.f32 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 2) 2)
(log.f32 (+.f32 x (fabs.f32 x)))
(/.f32 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 4) 4)
(log.f32 (+.f32 x (fabs.f32 x)))
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 4)) 8)
(log.f32 (+.f32 x (fabs.f32 x)))
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 x (fabs.f32 x))) 4))) 16)
(log.f32 (+.f32 x (fabs.f32 x)))
(pow.f32 (log.f32 (+.f32 x (fabs.f32 x))) 1)
(log.f32 (+.f32 x (fabs.f32 x)))

localize27.0ms (0.4%)

Compiler

Compiled 25 to 6 computations (76% saved)

localize45.0ms (0.7%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(log.f32 (/.f32 1 x))
0.0b
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
Compiler

Compiled 43 to 24 computations (44.2% saved)

series7.0ms (0.1%)

Counts
2 → 20
Calls

6 calls:

TimeVariablePointExpression
5.0ms
x
@0
(log.f32 (/.f32 1 x))
1.0ms
x
@0
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
0.0ms
x
@-inf
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
0.0ms
x
@inf
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
0.0ms
x
@-inf
(log.f32 (/.f32 1 x))

rewrite57.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1326×rational.json-simplify-35
1152×rational.json-1
1152×rational.json-2
1152×rational.json-3
1148×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01142
19042
223642
373542
4389742
Stop Event
node limit
Counts
2 → 29
Calls
Call 1
Inputs
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(log.f32 (/.f32 1 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 x (fabs.f32 x)) (-.f32 1 (log.f32 (/.f32 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 4)) (*.f32 2 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (/.f32 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (/.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (/.f32 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (/.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (/.f32 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (log.f32 (/.f32 1 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (/.f32 1 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (/.f32 1 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (/.f32 1 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (/.f32 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (/.f32 1 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (/.f32 1 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 1 x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 1 x)) 4)) (*.f32 2 (*.f32 (log.f32 (/.f32 1 x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log.f32 (/.f32 1 x)) 1)))))

simplify121.0ms (1.8%)

Algorithm
egg-herbie
Rules
1330×rational.json-simplify-53
1100×rational.json-simplify-35
1002×rational.json-simplify-2
616×rational.json-simplify-46
604×rational.json-simplify-59
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0711065
11421049
23291049
39731049
427881049
551231049
678831049
Stop Event
node limit
Counts
49 → 50
Calls
Call 1
Inputs
(/.f32 (fabs.f32 x) x)
(+.f32 (log.f32 x) (/.f32 (fabs.f32 x) x))
(+.f32 (log.f32 x) (/.f32 (fabs.f32 x) x))
(+.f32 (log.f32 x) (/.f32 (fabs.f32 x) x))
(*.f32 -1 (log.f32 (/.f32 1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1)))
(+.f32 (*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))) (/.f32 (fabs.f32 x) x))
(+.f32 (*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))) (/.f32 (fabs.f32 x) x))
(+.f32 (*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))) (/.f32 (fabs.f32 x) x))
(*.f32 -1 (log.f32 x))
(*.f32 -1 (log.f32 x))
(*.f32 -1 (log.f32 x))
(*.f32 -1 (log.f32 x))
(+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))
(+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))
(+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))
(+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 0)
(-.f32 (+.f32 (/.f32 x (fabs.f32 x)) (-.f32 1 (log.f32 (/.f32 1 x)))) 1)
(*.f32 1 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))))
(*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 1)
(*.f32 2 (/.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2))
(*.f32 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2) 1/2)
(*.f32 1/2 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2))
(*.f32 (/.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2) 2)
(/.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 1)
(/.f32 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2) 2)
(/.f32 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 4)) (*.f32 2 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 4))) 16)
(pow.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 1)
(+.f32 (log.f32 (/.f32 1 x)) 0)
(+.f32 0 (log.f32 (/.f32 1 x)))
(-.f32 (log.f32 (/.f32 1 x)) 0)
(*.f32 1 (log.f32 (/.f32 1 x)))
(*.f32 (log.f32 (/.f32 1 x)) 1)
(*.f32 2 (/.f32 (log.f32 (/.f32 1 x)) 2))
(*.f32 (*.f32 (log.f32 (/.f32 1 x)) 2) 1/2)
(*.f32 1/2 (*.f32 (log.f32 (/.f32 1 x)) 2))
(*.f32 (/.f32 (log.f32 (/.f32 1 x)) 2) 2)
(/.f32 (log.f32 (/.f32 1 x)) 1)
(/.f32 (*.f32 (log.f32 (/.f32 1 x)) 2) 2)
(/.f32 (*.f32 (log.f32 (/.f32 1 x)) 4) 4)
(/.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 1 x)) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 1 x)) 4)) (*.f32 2 (*.f32 (log.f32 (/.f32 1 x)) 4))) 16)
(pow.f32 (log.f32 (/.f32 1 x)) 1)
Outputs
(/.f32 (fabs.f32 x) x)
(/.f32 x (fabs.f32 x))
(+.f32 (log.f32 x) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(+.f32 (log.f32 x) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(+.f32 (log.f32 x) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(*.f32 -1 (log.f32 (/.f32 1 x)))
(neg.f32 (log.f32 (/.f32 1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1)))
(neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1)))
(+.f32 (*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))))
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))))
(+.f32 (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))) (/.f32 x (fabs.f32 x)))
(+.f32 (*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))))
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))))
(+.f32 (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))) (/.f32 x (fabs.f32 x)))
(+.f32 (*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))))
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))))
(+.f32 (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))) (/.f32 x (fabs.f32 x)))
(*.f32 -1 (log.f32 x))
(*.f32 (log.f32 x) -1)
(neg.f32 (log.f32 x))
(*.f32 -1 (log.f32 x))
(*.f32 (log.f32 x) -1)
(neg.f32 (log.f32 x))
(*.f32 -1 (log.f32 x))
(*.f32 (log.f32 x) -1)
(neg.f32 (log.f32 x))
(*.f32 -1 (log.f32 x))
(*.f32 (log.f32 x) -1)
(neg.f32 (log.f32 x))
(+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))
(+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))
(+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))
(+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 0)
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(-.f32 (+.f32 (/.f32 x (fabs.f32 x)) (-.f32 1 (log.f32 (/.f32 1 x)))) 1)
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(*.f32 1 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))))
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 1)
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(*.f32 2 (/.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2))
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(*.f32 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2) 1/2)
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(*.f32 1/2 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2))
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(*.f32 (/.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2) 2)
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(/.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 1)
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(/.f32 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 2) 2)
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(/.f32 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 4) 4)
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(/.f32 (*.f32 2 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 4)) 8)
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 4)) (*.f32 2 (*.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 4))) 16)
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(pow.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) 1)
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(+.f32 (log.f32 (/.f32 1 x)) 0)
(log.f32 (/.f32 1 x))
(+.f32 0 (log.f32 (/.f32 1 x)))
(log.f32 (/.f32 1 x))
(-.f32 (log.f32 (/.f32 1 x)) 0)
(log.f32 (/.f32 1 x))
(*.f32 1 (log.f32 (/.f32 1 x)))
(log.f32 (/.f32 1 x))
(*.f32 (log.f32 (/.f32 1 x)) 1)
(log.f32 (/.f32 1 x))
(*.f32 2 (/.f32 (log.f32 (/.f32 1 x)) 2))
(log.f32 (/.f32 1 x))
(*.f32 (*.f32 (log.f32 (/.f32 1 x)) 2) 1/2)
(log.f32 (/.f32 1 x))
(*.f32 1/2 (*.f32 (log.f32 (/.f32 1 x)) 2))
(log.f32 (/.f32 1 x))
(*.f32 (/.f32 (log.f32 (/.f32 1 x)) 2) 2)
(log.f32 (/.f32 1 x))
(/.f32 (log.f32 (/.f32 1 x)) 1)
(log.f32 (/.f32 1 x))
(/.f32 (*.f32 (log.f32 (/.f32 1 x)) 2) 2)
(log.f32 (/.f32 1 x))
(/.f32 (*.f32 (log.f32 (/.f32 1 x)) 4) 4)
(log.f32 (/.f32 1 x))
(/.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 1 x)) 4)) 8)
(log.f32 (/.f32 1 x))
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 1 x)) 4)) (*.f32 2 (*.f32 (log.f32 (/.f32 1 x)) 4))) 16)
(log.f32 (/.f32 1 x))
(pow.f32 (log.f32 (/.f32 1 x)) 1)
(log.f32 (/.f32 1 x))

eval73.0ms (1.1%)

Compiler

Compiled 4682 to 2961 computations (36.8% saved)

prune47.0ms (0.7%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New2546260
Fresh156
Picked101
Done325
Total25913272
Error
10.9b
Counts
272 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
26.7b
(copysign.f32 (/.f32 (fabs.f32 x) x) x)
27.5b
(copysign.f32 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x)) x)
27.7b
(copysign.f32 (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x)))) x)
27.8b
(copysign.f32 (neg.f32 (log.f32 (/.f32 1 x))) x)
21.5b
(copysign.f32 (log.f32 (/.f32 -1/2 x)) x)
21.3b
(copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x)
23.9b
(copysign.f32 (log.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x))) x)
21.3b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) x)
21.3b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1))) x)
20.4b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x)
24.1b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) x)) x)
26.7b
(copysign.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) x)
26.8b
(copysign.f32 (log.f32 (neg.f32 x)) x)
Compiler

Compiled 263 to 186 computations (29.3% saved)

localize63.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log.f32 (+.f32 (fabs.f32 x) (+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1)))
0.0b
(/.f32 1/2 x)
0.0b
(-.f32 (-.f32 1 x) (/.f32 1/2 x))
2.6b
(+.f32 (fabs.f32 x) (+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1))
Compiler

Compiled 69 to 48 computations (30.4% saved)

series2.0ms (0%)

Counts
4 → 36
Calls

12 calls:

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

rewrite64.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1402×rational.json-1
1402×rational.json-2
1402×rational.json-3
1400×exponential.json-3
1400×rational.json-4
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
014100
1109100
226184
378584
4440784
Stop Event
node limit
Counts
4 → 68
Calls
Call 1
Inputs
(+.f32 (fabs.f32 x) (+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1))
(-.f32 (-.f32 1 x) (/.f32 1/2 x))
(/.f32 1/2 x)
(log.f32 (+.f32 (fabs.f32 x) (+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (fabs.f32 x) (-.f32 1 (+.f32 x (/.f32 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 4) (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 x) (neg.f32 (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (-.f32 1 (+.f32 (/.f32 1/2 x) (+.f32 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (-.f32 (-.f32 1 (/.f32 1/2 x)) (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (-.f32 (-.f32 1 x) (+.f32 (/.f32 1/2 x) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (-.f32 1 (+.f32 x (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (/.f32 1/2 x)) (neg.f32 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 x) (-.f32 1 (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (+.f32 (/.f32 1/2 x) -1)) (-.f32 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (+.f32 (/.f32 1/2 x) (+.f32 x -1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (+.f32 x -1)) (-.f32 -1 (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 x) (-.f32 1 (+.f32 (/.f32 1/2 x) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (-.f32 1 (/.f32 1/2 x)) (+.f32 x -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (-.f32 1 x) (+.f32 (/.f32 1/2 x) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (-.f32 1 (+.f32 x (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (+.f32 (/.f32 1/2 x) (+.f32 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (/.f32 1/2 x) (+.f32 x -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (/.f32 1/2 x) (+.f32 x -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 4) (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (+.f32 (/.f32 1/2 x) (+.f32 x -1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 1/2 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 1/2 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (/.f32 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (/.f32 1/2 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1/2 x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1/2 x) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 4) (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 1)))))

simplify116.0ms (1.7%)

Algorithm
egg-herbie
Rules
1384×rational.json-simplify-35
1154×rational.json-simplify-51
1044×rational.json-simplify-2
818×rational.json-simplify-1
692×rational.json-simplify-49
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01902982
13642662
27512662
317272634
442432634
571962634
Stop Event
node limit
Counts
104 → 138
Calls
Call 1
Inputs
(/.f32 -1/2 x)
(-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(/.f32 -1/2 x)
(-.f32 1 (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 1 (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 1 (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(+.f32 1 (*.f32 -1 x))
(-.f32 (+.f32 1 (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 1 (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(+.f32 1 (*.f32 -1 x))
(-.f32 (+.f32 1 (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 1 (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (log.f32 -1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x)))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 24 (fabs.f32 x))) (pow.f32 x 3))) (*.f32 -1 (log.f32 x))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 -1))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x)))))
(+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 3 (fabs.f32 x))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x))))))
(*.f32 -1 (log.f32 (/.f32 -1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 -3 (fabs.f32 x))) (pow.f32 x 3))))))
(-.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 0)
(-.f32 (+.f32 (fabs.f32 x) (-.f32 1 (+.f32 x (/.f32 1/2 x)))) 1)
(*.f32 1 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(*.f32 1/2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2))
(*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 1)
(*.f32 2 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2))
(*.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2) 1/2)
(*.f32 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2) 2)
(/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 1)
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2) 2)
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 4) 4)
(/.f32 (+.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 4) (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 4)) 8)
(pow.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 1)
(+.f32 (-.f32 1 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 0)
(+.f32 -1 (-.f32 1 (+.f32 (/.f32 1/2 x) (+.f32 x -1))))
(+.f32 -1 (-.f32 (-.f32 1 (/.f32 1/2 x)) (+.f32 x -1)))
(+.f32 -1 (-.f32 (-.f32 1 x) (+.f32 (/.f32 1/2 x) -1)))
(+.f32 0 (-.f32 1 (+.f32 x (/.f32 1/2 x))))
(+.f32 (-.f32 1 (/.f32 1/2 x)) (neg.f32 x))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (neg.f32 x) (-.f32 1 (/.f32 1/2 x)))
(+.f32 (-.f32 1 (+.f32 (/.f32 1/2 x) -1)) (-.f32 -1 x))
(+.f32 (-.f32 1 (+.f32 (/.f32 1/2 x) (+.f32 x -1))) -1)
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (+.f32 x -1)))
(+.f32 (-.f32 1 (+.f32 x -1)) (-.f32 -1 (/.f32 1/2 x)))
(+.f32 (-.f32 -1 x) (-.f32 1 (+.f32 (/.f32 1/2 x) -1)))
(+.f32 (-.f32 (-.f32 1 (/.f32 1/2 x)) (+.f32 x -1)) -1)
(+.f32 (-.f32 (-.f32 1 x) (+.f32 (/.f32 1/2 x) -1)) -1)
(*.f32 1 (-.f32 1 (+.f32 x (/.f32 1/2 x))))
(*.f32 1/2 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2))
(*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 1)
(*.f32 -1 (+.f32 (/.f32 1/2 x) (+.f32 x -1)))
(*.f32 2 (/.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2))
(*.f32 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2) 1/2)
(*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x -1)) -1)
(*.f32 (/.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2) 2)
(/.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 1)
(/.f32 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2) 2)
(/.f32 (+.f32 (/.f32 1/2 x) (+.f32 x -1)) -1)
(/.f32 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 4) 4)
(/.f32 (+.f32 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 4) (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 4)) 8)
(pow.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 1)
(neg.f32 (+.f32 (/.f32 1/2 x) (+.f32 x -1)))
(+.f32 (/.f32 1/2 x) 0)
(+.f32 0 (/.f32 1/2 x))
(-.f32 (/.f32 1/2 x) 0)
(*.f32 1 (/.f32 1/2 x))
(*.f32 1/2 (/.f32 1 x))
(*.f32 (/.f32 1/2 x) 1)
(*.f32 2 (/.f32 (/.f32 1/2 x) 2))
(*.f32 (/.f32 1 x) 1/2)
(*.f32 (/.f32 (/.f32 1/2 x) 2) 2)
(pow.f32 (/.f32 1/2 x) 1)
(+.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 0)
(+.f32 0 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))))
(-.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 0)
(*.f32 1 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2))
(*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 1)
(*.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2))
(*.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2) 1/2)
(*.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2) 2)
(/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 1)
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 4) 4)
(/.f32 (+.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 4) (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 4)) 8)
(pow.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 1)
Outputs
(/.f32 -1/2 x)
(-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(*.f32 -1 x)
(neg.f32 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(+.f32 (fabs.f32 x) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(*.f32 -1 x)
(neg.f32 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(+.f32 (fabs.f32 x) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))
(/.f32 -1/2 x)
(-.f32 1 (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 1 (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 1 (*.f32 1/2 (/.f32 1 x))))
(-.f32 (-.f32 1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 1 (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 1 (*.f32 1/2 (/.f32 1 x))))
(-.f32 (-.f32 1 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(neg.f32 x)
(+.f32 1 (*.f32 -1 x))
(+.f32 1 (neg.f32 x))
(-.f32 1 x)
(-.f32 (+.f32 1 (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 1 (*.f32 1/2 (/.f32 1 x))))
(-.f32 (-.f32 1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 1 (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 1 (*.f32 1/2 (/.f32 1 x))))
(-.f32 (-.f32 1 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(neg.f32 x)
(+.f32 1 (*.f32 -1 x))
(+.f32 1 (neg.f32 x))
(-.f32 1 x)
(-.f32 (+.f32 1 (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 1 (*.f32 1/2 (/.f32 1 x))))
(-.f32 (-.f32 1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 1 (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 1 (*.f32 1/2 (/.f32 1 x))))
(-.f32 (-.f32 1 x) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (log.f32 -1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1/2) (neg.f32 (log.f32 x)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (*.f32 (fabs.f32 x) (*.f32 x -2)) (+.f32 (+.f32 (log.f32 -1/2) (neg.f32 (log.f32 x))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 (fabs.f32 x) (*.f32 x -2)) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))))
(+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (*.f32 (fabs.f32 x) (*.f32 x -2)))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 24 (fabs.f32 x))) (pow.f32 x 3))) (*.f32 -1 (log.f32 x))))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 24)) (pow.f32 x 3))) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2)))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (*.f32 (fabs.f32 x) (*.f32 x -2)) (+.f32 (+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 24)) (pow.f32 x 3))))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))) (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 24)) (pow.f32 x 3))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))) (+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 24)) (pow.f32 x 3))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 -1))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (log.f32 -1))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (log.f32 -1) (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x))))
(+.f32 (log.f32 -1) (neg.f32 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 x (fabs.f32 x)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x)))))
(+.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x)))) (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))
(+.f32 (log.f32 -1) (+.f32 (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x))) (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (log.f32 -1) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x)))))
(+.f32 (neg.f32 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 x (fabs.f32 x)))) (+.f32 (log.f32 -1) (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2)))))
(+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 3 (fabs.f32 x))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x))))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x)))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3)))))
(+.f32 (+.f32 (log.f32 -1) (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x)))) (+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3))) (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (log.f32 -1) (+.f32 (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x)))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3)))))
(+.f32 (+.f32 (log.f32 -1) (neg.f32 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 x (fabs.f32 x))))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3)))))
(*.f32 -1 (log.f32 (/.f32 -1 x)))
(neg.f32 (log.f32 (/.f32 -1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 (/.f32 -1 x))))
(*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x))))
(neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 (/.f32 -1 x)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x)))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 -3 (fabs.f32 x))) (pow.f32 x 3))))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (+.f32 (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -3)) (pow.f32 x 3))) (*.f32 -1 (log.f32 (/.f32 -1 x))))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -3)) (pow.f32 x 3))) (*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x))))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x)))) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -3)) (pow.f32 x 3)))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (+.f32 (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x)))) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -3)) (pow.f32 x 3)))))
(-.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 0)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(-.f32 (+.f32 (fabs.f32 x) (-.f32 1 (+.f32 x (/.f32 1/2 x)))) 1)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 1 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 1/2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 1)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 2 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2))
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2) 1/2)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2) 2)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(/.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 1)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 2) 2)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 4) 4)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(/.f32 (+.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 4) (*.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 4)) 8)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(pow.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)) 1)
(+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(+.f32 (-.f32 1 x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 0)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 -1 (-.f32 1 (+.f32 (/.f32 1/2 x) (+.f32 x -1))))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 -1 (-.f32 (-.f32 1 (/.f32 1/2 x)) (+.f32 x -1)))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 -1 (-.f32 (-.f32 1 x) (+.f32 (/.f32 1/2 x) -1)))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 0 (-.f32 1 (+.f32 x (/.f32 1/2 x))))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (-.f32 1 (/.f32 1/2 x)) (neg.f32 x))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (neg.f32 x) (-.f32 1 (/.f32 1/2 x)))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (-.f32 1 (+.f32 (/.f32 1/2 x) -1)) (-.f32 -1 x))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (-.f32 1 (+.f32 (/.f32 1/2 x) (+.f32 x -1))) -1)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (+.f32 x -1)))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (-.f32 1 (+.f32 x -1)) (-.f32 -1 (/.f32 1/2 x)))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (-.f32 -1 x) (-.f32 1 (+.f32 (/.f32 1/2 x) -1)))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (-.f32 (-.f32 1 (/.f32 1/2 x)) (+.f32 x -1)) -1)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (-.f32 (-.f32 1 x) (+.f32 (/.f32 1/2 x) -1)) -1)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(*.f32 1 (-.f32 1 (+.f32 x (/.f32 1/2 x))))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(*.f32 1/2 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 1)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(*.f32 -1 (+.f32 (/.f32 1/2 x) (+.f32 x -1)))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(*.f32 2 (/.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(*.f32 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2) 1/2)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x -1)) -1)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(*.f32 (/.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2) 2)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(/.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 1)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(/.f32 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 2) 2)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(/.f32 (+.f32 (/.f32 1/2 x) (+.f32 x -1)) -1)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(/.f32 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 4) 4)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(/.f32 (+.f32 (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 4) (*.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 4)) 8)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(pow.f32 (-.f32 1 (+.f32 x (/.f32 1/2 x))) 1)
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(neg.f32 (+.f32 (/.f32 1/2 x) (+.f32 x -1)))
(+.f32 (neg.f32 (/.f32 1/2 x)) (-.f32 1 x))
(+.f32 (/.f32 -1/2 x) (-.f32 1 x))
(+.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (/.f32 1/2 x) 0)
(/.f32 1/2 x)
(+.f32 0 (/.f32 1/2 x))
(/.f32 1/2 x)
(-.f32 (/.f32 1/2 x) 0)
(/.f32 1/2 x)
(*.f32 1 (/.f32 1/2 x))
(/.f32 1/2 x)
(*.f32 1/2 (/.f32 1 x))
(*.f32 (/.f32 1/2 x) 1)
(/.f32 1/2 x)
(*.f32 2 (/.f32 (/.f32 1/2 x) 2))
(/.f32 1/2 x)
(*.f32 (/.f32 1 x) 1/2)
(*.f32 1/2 (/.f32 1 x))
(*.f32 (/.f32 (/.f32 1/2 x) 2) 2)
(/.f32 1/2 x)
(pow.f32 (/.f32 1/2 x) 1)
(/.f32 1/2 x)
(+.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 0)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(+.f32 0 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(-.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 0)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 1 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 1)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2) 1/2)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2) 2)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 1)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 2) 2)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 4) 4)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(/.f32 (+.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 4) (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 4)) 8)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(pow.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x))) 1)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 (/.f32 1/2 x)) x)))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))

localize16.0ms (0.2%)

Compiler

Compiled 12 to 4 computations (66.7% saved)

localize18.0ms (0.3%)

Compiler

Compiled 14 to 4 computations (71.4% saved)

localize26.0ms (0.4%)

Local error

Found 1 expressions with local error:

NewErrorProgram
10.8b
(log.f32 (-.f32 (fabs.f32 x) -1))
Compiler

Compiled 21 to 12 computations (42.9% saved)

series50.0ms (0.7%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
22.0ms
x
@inf
(log.f32 (-.f32 (fabs.f32 x) -1))
14.0ms
x
@-inf
(log.f32 (-.f32 (fabs.f32 x) -1))
13.0ms
x
@0
(log.f32 (-.f32 (fabs.f32 x) -1))

rewrite57.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1420×rational.json-simplify-35
1186×rational.json-1
1186×rational.json-2
1186×rational.json-3
1184×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
15715
214515
348215
4371015
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(log.f32 (-.f32 (fabs.f32 x) -1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 (fabs.f32 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 (fabs.f32 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 1)))))

simplify113.0ms (1.7%)

Algorithm
egg-herbie
Rules
1990×rational.json-simplify-35
1220×rational.json-simplify-46
1186×rational.json-simplify-2
1044×rational.json-simplify-53
834×rational.json-simplify-59
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036405
167405
2154405
3462405
41665405
54429405
67674405
Stop Event
node limit
Counts
27 → 16
Calls
Call 1
Inputs
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(+.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 0)
(+.f32 0 (log.f32 (+.f32 (fabs.f32 x) 1)))
(-.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 0)
(*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 1)
(*.f32 1 (log.f32 (+.f32 (fabs.f32 x) 1)))
(*.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2))
(*.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2) 1/2)
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2))
(*.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2) 2)
(/.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 1)
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 4) 4)
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 4))) 16)
(pow.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 1)
Outputs
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(+.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 0)
(log.f32 (+.f32 1 (fabs.f32 x)))
(+.f32 0 (log.f32 (+.f32 (fabs.f32 x) 1)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(-.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 0)
(log.f32 (+.f32 1 (fabs.f32 x)))
(*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 1)
(log.f32 (+.f32 1 (fabs.f32 x)))
(*.f32 1 (log.f32 (+.f32 (fabs.f32 x) 1)))
(log.f32 (+.f32 1 (fabs.f32 x)))
(*.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2))
(log.f32 (+.f32 1 (fabs.f32 x)))
(*.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2) 1/2)
(log.f32 (+.f32 1 (fabs.f32 x)))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2))
(log.f32 (+.f32 1 (fabs.f32 x)))
(*.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2) 2)
(log.f32 (+.f32 1 (fabs.f32 x)))
(/.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 1)
(log.f32 (+.f32 1 (fabs.f32 x)))
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 2) 2)
(log.f32 (+.f32 1 (fabs.f32 x)))
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 4) 4)
(log.f32 (+.f32 1 (fabs.f32 x)))
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 4)) 8)
(log.f32 (+.f32 1 (fabs.f32 x)))
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 4))) 16)
(log.f32 (+.f32 1 (fabs.f32 x)))
(pow.f32 (log.f32 (+.f32 (fabs.f32 x) 1)) 1)
(log.f32 (+.f32 1 (fabs.f32 x)))

localize42.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
0.0b
(/.f32 -1/2 x)
0.0b
(-.f32 (/.f32 -1/2 x) x)
2.6b
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
Compiler

Compiled 41 to 23 computations (43.9% saved)

series1.0ms (0%)

Counts
4 → 36
Calls

12 calls:

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

rewrite60.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1546×rational.json-simplify-35
1266×rational.json-1
1266×rational.json-2
1266×rational.json-3
1264×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01070
17070
218070
359970
4399670
Stop Event
node limit
Counts
4 → 63
Calls
Call 1
Inputs
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 -1/2 x)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 4)) (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 -1/2 x) (neg.f32 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 -1/2 x) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (-.f32 (/.f32 -1/2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (-.f32 1 (-.f32 x (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 x) (/.f32 -1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (-.f32 x (/.f32 -1/2 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (/.f32 -1/2 x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (-.f32 (/.f32 -1/2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (-.f32 x (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (-.f32 (/.f32 -1/2 x) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 (/.f32 -1/2 x) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 x (/.f32 -1/2 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (-.f32 (/.f32 -1/2 x) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (-.f32 (/.f32 -1/2 x) x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (/.f32 -1/2 x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (/.f32 -1/2 x) x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 x (/.f32 -1/2 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (/.f32 -1/2 x) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (-.f32 (/.f32 -1/2 x) x) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (-.f32 x (/.f32 -1/2 x))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 x -2) (/.f32 -1 x)) (*.f32 (*.f32 x -2) (/.f32 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (/.f32 -1 x) (*.f32 x -2)) (*.f32 (/.f32 -1 x) (*.f32 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (-.f32 (/.f32 -1/2 x) x) 4)) (*.f32 2 (*.f32 (-.f32 (/.f32 -1/2 x) x) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (-.f32 (/.f32 -1/2 x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (-.f32 x (/.f32 -1/2 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 -1/2 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 -1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 -1/2 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -1/2 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 -1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (/.f32 -1/2 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (/.f32 -1/2 x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (/.f32 -1/2 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 -1/2 x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 -1/2 x) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 1)))))

simplify128.0ms (1.9%)

Algorithm
egg-herbie
Rules
1394×rational.json-simplify-46
1048×rational.json-simplify-41
1006×rational.json-simplify-35
754×rational.json-simplify-51
652×rational.json-simplify-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01802593
13712437
28082437
322402409
453712409
576462409
Stop Event
node limit
Counts
99 → 131
Calls
Call 1
Inputs
(/.f32 -1/2 x)
(-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(/.f32 -1/2 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (log.f32 -1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x)))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 24 (fabs.f32 x))) (pow.f32 x 3))) (*.f32 -1 (log.f32 x))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 -1))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x)))))
(+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 3 (fabs.f32 x))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x))))))
(*.f32 -1 (log.f32 (/.f32 -1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 -3 (fabs.f32 x))) (pow.f32 x 3))))))
(-.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 0)
(*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 1)
(*.f32 1 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 2 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2))
(*.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2) 1/2)
(*.f32 1/2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2))
(*.f32 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2) 2)
(/.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 1)
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2) 2)
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 4)) (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 4))) 16)
(pow.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 1)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(+.f32 (-.f32 (/.f32 -1/2 x) x) 0)
(+.f32 0 (-.f32 (/.f32 -1/2 x) x))
(+.f32 -1 (-.f32 1 (-.f32 x (/.f32 -1/2 x))))
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(+.f32 (-.f32 1 (-.f32 x (/.f32 -1/2 x))) -1)
(*.f32 (-.f32 (/.f32 -1/2 x) x) 1)
(*.f32 1 (-.f32 (/.f32 -1/2 x) x))
(*.f32 -1 (-.f32 x (/.f32 -1/2 x)))
(*.f32 2 (/.f32 (-.f32 (/.f32 -1/2 x) x) 2))
(*.f32 (*.f32 (-.f32 (/.f32 -1/2 x) x) 2) 1/2)
(*.f32 (-.f32 x (/.f32 -1/2 x)) -1)
(*.f32 1/2 (*.f32 (-.f32 (/.f32 -1/2 x) x) 2))
(*.f32 (/.f32 (-.f32 (/.f32 -1/2 x) x) 2) 2)
(/.f32 (-.f32 (/.f32 -1/2 x) x) 1)
(/.f32 (*.f32 (-.f32 (/.f32 -1/2 x) x) 2) 2)
(/.f32 (-.f32 x (/.f32 -1/2 x)) -1)
(/.f32 (*.f32 (-.f32 (/.f32 -1/2 x) x) 4) 4)
(/.f32 (*.f32 2 (*.f32 (-.f32 (/.f32 -1/2 x) x) 4)) 8)
(/.f32 (*.f32 2 (-.f32 x (/.f32 -1/2 x))) -2)
(/.f32 (+.f32 (*.f32 x -2) (/.f32 -1 x)) (*.f32 (*.f32 x -2) (/.f32 -1 x)))
(/.f32 (+.f32 (/.f32 -1 x) (*.f32 x -2)) (*.f32 (/.f32 -1 x) (*.f32 x -2)))
(/.f32 (+.f32 (*.f32 2 (*.f32 (-.f32 (/.f32 -1/2 x) x) 4)) (*.f32 2 (*.f32 (-.f32 (/.f32 -1/2 x) x) 4))) 16)
(pow.f32 (-.f32 (/.f32 -1/2 x) x) 1)
(neg.f32 (-.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) 0)
(+.f32 0 (/.f32 -1/2 x))
(-.f32 (/.f32 -1/2 x) 0)
(*.f32 (/.f32 -1/2 x) 1)
(*.f32 1 (/.f32 -1/2 x))
(*.f32 2 (/.f32 (/.f32 -1/2 x) 2))
(*.f32 (*.f32 (/.f32 -1/2 x) 2) 1/2)
(*.f32 1/2 (*.f32 (/.f32 -1/2 x) 2))
(*.f32 (/.f32 (/.f32 -1/2 x) 2) 2)
(pow.f32 (/.f32 -1/2 x) 1)
(+.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 0)
(+.f32 0 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))))
(-.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 0)
(*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 1)
(*.f32 1 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))))
(*.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2))
(*.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2) 1/2)
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2))
(*.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2) 2)
(/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 1)
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 4))) 16)
(pow.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 1)
Outputs
(/.f32 -1/2 x)
(-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(neg.f32 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(+.f32 (fabs.f32 x) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(neg.f32 x)
(+.f32 (fabs.f32 x) (*.f32 -1 x))
(+.f32 (fabs.f32 x) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 (fabs.f32 x) (*.f32 -1 x)) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (neg.f32 x) (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (-.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))) (neg.f32 x))
(-.f32 (+.f32 (fabs.f32 x) (neg.f32 x)) (*.f32 1/2 (/.f32 1 x)))
(/.f32 -1/2 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(neg.f32 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 -1 x)
(neg.f32 x)
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (log.f32 -1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1/2) (neg.f32 (log.f32 x)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 x (*.f32 -2 (fabs.f32 x)))))
(+.f32 (+.f32 (log.f32 -1/2) (neg.f32 (log.f32 x))) (*.f32 x (*.f32 (fabs.f32 x) -2)))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 x (*.f32 -2 (fabs.f32 x)))) (+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (log.f32 -1/2)))
(+.f32 (+.f32 (log.f32 -1/2) (neg.f32 (log.f32 x))) (+.f32 (*.f32 x (*.f32 (fabs.f32 x) -2)) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (+.f32 (log.f32 -1/2) (neg.f32 (log.f32 x))) (+.f32 (*.f32 (fabs.f32 x) (*.f32 x -2)) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -2 (*.f32 (fabs.f32 x) x)) (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 24 (fabs.f32 x))) (pow.f32 x 3))) (*.f32 -1 (log.f32 x))))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 24)) (pow.f32 x 3))) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2)))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 x (*.f32 -2 (fabs.f32 x))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 24)) (pow.f32 x 3)))))))
(+.f32 (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 24)) (pow.f32 x 3))) (+.f32 (log.f32 -1/2) (neg.f32 (log.f32 x)))) (+.f32 (*.f32 x (*.f32 (fabs.f32 x) -2)) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (neg.f32 (log.f32 x)) (+.f32 (+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (*.f32 (fabs.f32 x) (*.f32 x -2)))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 24)) (pow.f32 x 3)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 -16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 24)) (pow.f32 x 3))) (+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x -2))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 -1))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (log.f32 -1))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (log.f32 -1) (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x))))
(+.f32 (log.f32 -1) (neg.f32 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 x (fabs.f32 x)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x)))))
(+.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x)))) (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))
(+.f32 (+.f32 (log.f32 -1) (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x)))) (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))
(+.f32 (log.f32 -1) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x)))))
(+.f32 (log.f32 -1) (+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (neg.f32 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 x (fabs.f32 x))))))
(+.f32 (+.f32 (log.f32 -1) (neg.f32 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 x (fabs.f32 x))))) (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))))
(+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 3 (fabs.f32 x))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x))))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (log.f32 -1) (*.f32 -1 (/.f32 (fabs.f32 x) x)))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3)))))
(+.f32 (+.f32 (log.f32 -1) (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x)))) (+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3))) (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (+.f32 (log.f32 -1) (*.f32 -1 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (fabs.f32 x) x)))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3)))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (+.f32 (log.f32 -1) (+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3))) (neg.f32 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 x (fabs.f32 x)))))))
(+.f32 (log.f32 -1) (+.f32 (neg.f32 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 x (fabs.f32 x)))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3))))))
(*.f32 -1 (log.f32 (/.f32 -1 x)))
(neg.f32 (log.f32 (/.f32 -1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 (/.f32 -1 x))))
(*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 (fabs.f32 x) x)))
(*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x))))
(neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 -1 (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 (/.f32 -1 x)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x)))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 -3 (fabs.f32 x))) (pow.f32 x 3))))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (/.f32 (fabs.f32 x) x)) (+.f32 (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -3)) (pow.f32 x 3))) (*.f32 -1 (log.f32 (/.f32 -1 x))))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -3)) (pow.f32 x 3))) (*.f32 -1 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 (fabs.f32 x) x)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 (/.f32 -1 x)))) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -3)) (pow.f32 x 3)))))
(+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (+.f32 (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x)))) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -3)) (pow.f32 x 3)))))
(-.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 0)
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 1)
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 1 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 2 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2) 1/2)
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 1/2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2))
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(*.f32 (/.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2) 2)
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(/.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 1)
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 2) 2)
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(/.f32 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 4) 4)
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(/.f32 (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 4)) 8)
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 4)) (*.f32 2 (*.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 4))) 16)
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(pow.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)) 1)
(+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 (-.f32 (/.f32 -1/2 x) x) 0)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 0 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 -1 (-.f32 1 (-.f32 x (/.f32 -1/2 x))))
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 (neg.f32 x) (/.f32 -1/2 x))
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 (-.f32 1 (-.f32 x (/.f32 -1/2 x))) -1)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 (-.f32 (/.f32 -1/2 x) x) 1)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 1 (-.f32 (/.f32 -1/2 x) x))
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 -1 (-.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 2 (/.f32 (-.f32 (/.f32 -1/2 x) x) 2))
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 (*.f32 (-.f32 (/.f32 -1/2 x) x) 2) 1/2)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 (-.f32 x (/.f32 -1/2 x)) -1)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 1/2 (*.f32 (-.f32 (/.f32 -1/2 x) x) 2))
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(*.f32 (/.f32 (-.f32 (/.f32 -1/2 x) x) 2) 2)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (-.f32 (/.f32 -1/2 x) x) 1)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (*.f32 (-.f32 (/.f32 -1/2 x) x) 2) 2)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (-.f32 x (/.f32 -1/2 x)) -1)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (*.f32 (-.f32 (/.f32 -1/2 x) x) 4) 4)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (*.f32 2 (*.f32 (-.f32 (/.f32 -1/2 x) x) 4)) 8)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (*.f32 2 (-.f32 x (/.f32 -1/2 x))) -2)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (+.f32 (*.f32 x -2) (/.f32 -1 x)) (*.f32 (*.f32 x -2) (/.f32 -1 x)))
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (+.f32 (/.f32 -1 x) (*.f32 x -2)) (*.f32 (/.f32 -1 x) (*.f32 x -2)))
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(/.f32 (+.f32 (*.f32 2 (*.f32 (-.f32 (/.f32 -1/2 x) x) 4)) (*.f32 2 (*.f32 (-.f32 (/.f32 -1/2 x) x) 4))) 16)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(pow.f32 (-.f32 (/.f32 -1/2 x) x) 1)
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(neg.f32 (-.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (neg.f32 x))
(-.f32 (/.f32 -1/2 x) x)
(+.f32 (/.f32 -1/2 x) 0)
(/.f32 -1/2 x)
(+.f32 0 (/.f32 -1/2 x))
(/.f32 -1/2 x)
(-.f32 (/.f32 -1/2 x) 0)
(/.f32 -1/2 x)
(*.f32 (/.f32 -1/2 x) 1)
(/.f32 -1/2 x)
(*.f32 1 (/.f32 -1/2 x))
(/.f32 -1/2 x)
(*.f32 2 (/.f32 (/.f32 -1/2 x) 2))
(/.f32 -1/2 x)
(*.f32 (*.f32 (/.f32 -1/2 x) 2) 1/2)
(/.f32 -1/2 x)
(*.f32 1/2 (*.f32 (/.f32 -1/2 x) 2))
(/.f32 -1/2 x)
(*.f32 (/.f32 (/.f32 -1/2 x) 2) 2)
(/.f32 -1/2 x)
(pow.f32 (/.f32 -1/2 x) 1)
(/.f32 -1/2 x)
(+.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 0)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(+.f32 0 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(-.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 0)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 1)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 1 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 2 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2) 1/2)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2))
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(*.f32 (/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2) 2)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(/.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 1)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 2) 2)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(/.f32 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 4) 4)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 4)) 8)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 4))) 16)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))
(pow.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) 1)
(log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x)))

eval104.0ms (1.5%)

Compiler

Compiled 5660 to 3822 computations (32.5% saved)

prune43.0ms (0.6%)

Pruning

13 alts after pruning (6 fresh and 7 done)

PrunedKeptTotal
New2850285
Fresh066
Picked011
Done066
Total28513298
Error
10.9b
Counts
298 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
26.7b
(copysign.f32 (/.f32 (fabs.f32 x) x) x)
27.5b
(copysign.f32 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x)) x)
27.7b
(copysign.f32 (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x)))) x)
27.8b
(copysign.f32 (neg.f32 (log.f32 (/.f32 1 x))) x)
21.5b
(copysign.f32 (log.f32 (/.f32 -1/2 x)) x)
21.3b
(copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x)
23.9b
(copysign.f32 (log.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x))) x)
21.3b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) x)
21.3b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1))) x)
20.4b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x)
24.1b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) x)) x)
26.7b
(copysign.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) x)
26.8b
(copysign.f32 (log.f32 (neg.f32 x)) x)
Compiler

Compiled 214 to 152 computations (29% saved)

localize20.0ms (0.3%)

Local error

Found 1 expressions with local error:

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

Compiled 16 to 11 computations (31.3% saved)

localize137.0ms (2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(log.f32 (/.f32 1 x))
Compiler

Compiled 22 to 16 computations (27.3% saved)

localize29.0ms (0.4%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
Compiler

Compiled 26 to 6 computations (76.9% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
0.0ms
x
@-inf
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
0.0ms
x
@inf
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))

rewrite55.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1246×rational.json-simplify-35
1094×rational.json-1
1094×rational.json-2
1094×rational.json-3
1092×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
15721
216421
361821
4363721
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (+.f32 (*.f32 (log.f32 x) 2) (*.f32 (fabs.f32 x) (/.f32 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 4)) (*.f32 2 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 1)))))

simplify99.0ms (1.5%)

Algorithm
egg-herbie
Rules
1160×rational.json-simplify-46
1148×rational.json-simplify-1
848×rational.json-simplify-35
836×rational.json-simplify-41
710×rational.json-simplify-51
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
052658
1106642
2217642
3582642
42329642
55894642
Stop Event
node limit
Counts
26 → 32
Calls
Call 1
Inputs
(/.f32 (fabs.f32 x) x)
(+.f32 (log.f32 x) (/.f32 (fabs.f32 x) x))
(+.f32 (log.f32 x) (/.f32 (fabs.f32 x) x))
(+.f32 (log.f32 x) (/.f32 (fabs.f32 x) x))
(*.f32 -1 (log.f32 (/.f32 1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -1))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x)))
(-.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 0)
(*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 1)
(*.f32 1 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)))
(*.f32 2 (/.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2))
(*.f32 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2) 1/2)
(*.f32 1/2 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2))
(*.f32 1/2 (+.f32 (*.f32 (log.f32 x) 2) (*.f32 (fabs.f32 x) (/.f32 2 x))))
(*.f32 (/.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2) 2)
(/.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 1)
(/.f32 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2) 2)
(/.f32 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 4)) (*.f32 2 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 4))) 16)
(pow.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 1)
Outputs
(/.f32 (fabs.f32 x) x)
(/.f32 x (fabs.f32 x))
(+.f32 (log.f32 x) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(+.f32 (log.f32 x) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(+.f32 (log.f32 x) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(*.f32 -1 (log.f32 (/.f32 1 x)))
(neg.f32 (log.f32 (/.f32 1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (/.f32 (fabs.f32 x) x) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (/.f32 (fabs.f32 x) x) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -1))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1)))
(+.f32 (/.f32 (fabs.f32 x) x) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)) (/.f32 x (fabs.f32 x)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 x (fabs.f32 x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1)))
(+.f32 (/.f32 (fabs.f32 x) x) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)) (/.f32 x (fabs.f32 x)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 x (fabs.f32 x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1)))
(+.f32 (/.f32 (fabs.f32 x) x) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)) (/.f32 x (fabs.f32 x)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 x (fabs.f32 x))))
(-.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 0)
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 1)
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(*.f32 1 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)))
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(*.f32 2 (/.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2))
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(*.f32 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2) 1/2)
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(*.f32 1/2 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2))
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(*.f32 1/2 (+.f32 (*.f32 (log.f32 x) 2) (*.f32 (fabs.f32 x) (/.f32 2 x))))
(*.f32 (/.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2) 2)
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(/.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 1)
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(/.f32 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 2) 2)
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(/.f32 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 4) 4)
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(/.f32 (*.f32 2 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 4)) 8)
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 4)) (*.f32 2 (*.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 4))) 16)
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))
(pow.f32 (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 x)) 1)
(+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x))
(+.f32 (log.f32 x) (/.f32 x (fabs.f32 x)))

localize50.0ms (0.7%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x))
0.5b
(log.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x)))
Compiler

Compiled 52 to 29 computations (44.2% saved)

series1.0ms (0%)

Counts
2 → 20
Calls

6 calls:

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

rewrite62.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1618×rational.json-simplify-35
1362×rational.json-1
1362×rational.json-2
1362×rational.json-3
1360×exponential.json-3
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01262
19462
222362
365750
4413650
Stop Event
node limit
Counts
2 → 30
Calls
Call 1
Inputs
(log.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (+.f32 x x) (/.f32 (+.f32 x (fabs.f32 x)) (*.f32 (+.f32 x (fabs.f32 x)) (+.f32 x (fabs.f32 x))))) (*.f32 (+.f32 x x) (/.f32 (+.f32 x (fabs.f32 x)) (*.f32 (+.f32 x (fabs.f32 x)) (+.f32 x (fabs.f32 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (/.f32 (+.f32 x (fabs.f32 x)) (*.f32 (+.f32 x (fabs.f32 x)) (+.f32 x (fabs.f32 x)))) (+.f32 x x)) (*.f32 (/.f32 (+.f32 x (fabs.f32 x)) (*.f32 (+.f32 x (fabs.f32 x)) (+.f32 x (fabs.f32 x)))) (+.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 4)) (*.f32 2 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 1)))))

simplify99.0ms (1.5%)

Algorithm
egg-herbie
Rules
1034×rational.json-simplify-41
952×rational.json-simplify-61
922×rational.json-simplify-38
786×rational.json-simplify-2
660×rational.json-simplify-35
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01301728
12831696
26201696
316361680
446121680
576391680
Stop Event
node limit
Counts
50 → 94
Calls
Call 1
Inputs
(+.f32 (log.f32 1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 1/2) (+.f32 (*.f32 2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 1/2) (+.f32 (*.f32 2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x)))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 16 (pow.f32 (fabs.f32 x) 3)) (*.f32 -24 (fabs.f32 x))) (pow.f32 x 3))) (+.f32 (log.f32 1/2) (+.f32 (*.f32 2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x))))))
(*.f32 -1 (log.f32 (/.f32 1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -3 (fabs.f32 x)) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -1))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 -1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 3 (fabs.f32 x))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x)))))
(/.f32 1/2 x)
(+.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (+.f32 (*.f32 1/2 (/.f32 1 x)) x))
(+.f32 (fabs.f32 x) (+.f32 (*.f32 1/2 (/.f32 1 x)) x))
x
(+.f32 (fabs.f32 x) x)
x
(+.f32 (fabs.f32 x) x)
(+.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 0)
(+.f32 0 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))))
(-.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 0)
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2))
(*.f32 1 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))))
(*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 1)
(*.f32 2 (/.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2))
(*.f32 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2) 1/2)
(*.f32 (/.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2) 2)
(/.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 1)
(/.f32 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 4))) 16)
(pow.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 1)
(-.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 0)
(*.f32 1/2 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2))
(*.f32 1 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))))
(*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 1)
(*.f32 2 (/.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2))
(*.f32 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2) 1/2)
(*.f32 (/.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2) 2)
(/.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 1)
(/.f32 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2) 2)
(/.f32 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 4)) 8)
(/.f32 (+.f32 (+.f32 x x) (/.f32 (+.f32 x (fabs.f32 x)) (*.f32 (+.f32 x (fabs.f32 x)) (+.f32 x (fabs.f32 x))))) (*.f32 (+.f32 x x) (/.f32 (+.f32 x (fabs.f32 x)) (*.f32 (+.f32 x (fabs.f32 x)) (+.f32 x (fabs.f32 x))))))
(/.f32 (+.f32 (/.f32 (+.f32 x (fabs.f32 x)) (*.f32 (+.f32 x (fabs.f32 x)) (+.f32 x (fabs.f32 x)))) (+.f32 x x)) (*.f32 (/.f32 (+.f32 x (fabs.f32 x)) (*.f32 (+.f32 x (fabs.f32 x)) (+.f32 x (fabs.f32 x)))) (+.f32 x x)))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 4)) (*.f32 2 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 4))) 16)
(pow.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 1)
Outputs
(+.f32 (log.f32 1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 1/2) (neg.f32 (log.f32 x)))
(+.f32 (log.f32 1/2) (+.f32 (*.f32 2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 1/2) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x 2))))
(+.f32 (log.f32 1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 x (*.f32 (fabs.f32 x) 2))))
(+.f32 (log.f32 1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 x (*.f32 2 (fabs.f32 x)))))
(+.f32 (log.f32 1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 2 (*.f32 x (fabs.f32 x)))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (log.f32 1/2) (+.f32 (*.f32 2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x)))))
(+.f32 (+.f32 (log.f32 1/2) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x 2)))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))
(+.f32 (+.f32 (log.f32 1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 x (*.f32 (fabs.f32 x) 2)))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))
(+.f32 (log.f32 1/2) (+.f32 (*.f32 x (*.f32 2 (fabs.f32 x))) (+.f32 (neg.f32 (log.f32 x)) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))))
(+.f32 (+.f32 (log.f32 1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 2 (*.f32 x (fabs.f32 x))))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))
(+.f32 (+.f32 (log.f32 1/2) (neg.f32 (log.f32 x))) (+.f32 (*.f32 x (*.f32 2 (fabs.f32 x))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 16 (pow.f32 (fabs.f32 x) 3)) (*.f32 -24 (fabs.f32 x))) (pow.f32 x 3))) (+.f32 (log.f32 1/2) (+.f32 (*.f32 2 (*.f32 (fabs.f32 x) x)) (*.f32 -1 (log.f32 x))))))
(+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -24)) (pow.f32 x 3))) (+.f32 (+.f32 (log.f32 1/2) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 (fabs.f32 x) (*.f32 x 2)))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (+.f32 (log.f32 1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 x (*.f32 (fabs.f32 x) 2)))) (+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -24)) (pow.f32 x 3)))))
(+.f32 (+.f32 (log.f32 1/2) (+.f32 (*.f32 x (*.f32 2 (fabs.f32 x))) (+.f32 (neg.f32 (log.f32 x)) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -24)) (pow.f32 x 3))))
(+.f32 (log.f32 1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (+.f32 (*.f32 2 (*.f32 x (fabs.f32 x))) (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -24)) (pow.f32 x 3))))))
(+.f32 (log.f32 1/2) (+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 x (*.f32 2 (fabs.f32 x)))) (+.f32 (*.f32 1/2 (*.f32 (+.f32 4 (*.f32 -4 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 16 (pow.f32 (fabs.f32 x) 3)) (*.f32 (fabs.f32 x) -24)) (pow.f32 x 3))))))
(*.f32 -1 (log.f32 (/.f32 1 x)))
(neg.f32 (log.f32 (/.f32 1 x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (/.f32 x (fabs.f32 x)) (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2)))))
(+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 -3 (fabs.f32 x)) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x))))
(+.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 (fabs.f32 x) -3) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (+.f32 (/.f32 (fabs.f32 x) x) (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 (fabs.f32 x) -3) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3)))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 1/6 (/.f32 (+.f32 (*.f32 (fabs.f32 x) -3) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3))) (+.f32 (/.f32 (fabs.f32 x) x) (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))))))
(+.f32 (+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2)))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 (fabs.f32 x) -3) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3))))
(+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 x (fabs.f32 x))) (+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (*.f32 1/6 (/.f32 (+.f32 (*.f32 (fabs.f32 x) -3) (*.f32 2 (pow.f32 (fabs.f32 x) 3))) (pow.f32 x 3)))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -1))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1)))
(+.f32 (/.f32 (fabs.f32 x) x) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 x (fabs.f32 x)) (log.f32 -1)))
(+.f32 (/.f32 x (fabs.f32 x)) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1))))
(+.f32 (/.f32 (fabs.f32 x) x) (+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)) (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2)))))
(+.f32 (/.f32 x (fabs.f32 x)) (+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1))))
(+.f32 (*.f32 -1/6 (/.f32 (+.f32 (*.f32 -2 (pow.f32 (fabs.f32 x) 3)) (*.f32 3 (fabs.f32 x))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 -1) (/.f32 (fabs.f32 x) x)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (*.f32 -1 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1))) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 (pow.f32 (fabs.f32 x) 3) -2) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 -1))) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 (pow.f32 (fabs.f32 x) 3) -2) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3)))))
(+.f32 (*.f32 1/2 (/.f32 (+.f32 1 (neg.f32 (pow.f32 (fabs.f32 x) 2))) (pow.f32 x 2))) (+.f32 (+.f32 (/.f32 (fabs.f32 x) x) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1))) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 (pow.f32 (fabs.f32 x) 3) -2) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3)))))
(+.f32 (log.f32 -1) (+.f32 (*.f32 -1/6 (/.f32 (+.f32 (*.f32 (pow.f32 (fabs.f32 x) 3) -2) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3))) (+.f32 (/.f32 x (fabs.f32 x)) (+.f32 (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2))) (neg.f32 (log.f32 (/.f32 -1 x)))))))
(+.f32 (/.f32 x (fabs.f32 x)) (+.f32 (+.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 (pow.f32 (fabs.f32 x) 3) -2) (*.f32 (fabs.f32 x) 3)) (pow.f32 x 3)))) (*.f32 1/2 (/.f32 (-.f32 1 (pow.f32 (fabs.f32 x) 2)) (pow.f32 x 2)))))
(/.f32 1/2 x)
(+.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (fabs.f32 x) (+.f32 (*.f32 1/2 (/.f32 1 x)) x))
(+.f32 (fabs.f32 x) (+.f32 x (*.f32 1/2 (/.f32 1 x))))
(+.f32 x (+.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (fabs.f32 x) (+.f32 (*.f32 1/2 (/.f32 1 x)) x))
(+.f32 (fabs.f32 x) (+.f32 x (*.f32 1/2 (/.f32 1 x))))
(+.f32 x (+.f32 (fabs.f32 x) (*.f32 1/2 (/.f32 1 x))))
x
(+.f32 (fabs.f32 x) x)
(+.f32 x (fabs.f32 x))
x
(+.f32 (fabs.f32 x) x)
(+.f32 x (fabs.f32 x))
(+.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 0)
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(+.f32 0 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))))
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(-.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 0)
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2))
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(*.f32 1 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))))
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 1)
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(*.f32 2 (/.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2))
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(*.f32 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2) 1/2)
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(*.f32 (/.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2) 2)
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(/.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 1)
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(/.f32 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 2) 2)
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(/.f32 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 4) 4)
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 4)) 8)
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 4))) 16)
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(pow.f32 (log.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x)))) 1)
(log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x))))
(-.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 0)
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(*.f32 1/2 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2))
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(*.f32 1 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))))
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 1)
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(*.f32 2 (/.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2))
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(*.f32 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2) 1/2)
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(*.f32 (/.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2) 2)
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(/.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 1)
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(/.f32 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 2) 2)
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(/.f32 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 4) 4)
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(/.f32 (*.f32 2 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 4)) 8)
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(/.f32 (+.f32 (+.f32 x x) (/.f32 (+.f32 x (fabs.f32 x)) (*.f32 (+.f32 x (fabs.f32 x)) (+.f32 x (fabs.f32 x))))) (*.f32 (+.f32 x x) (/.f32 (+.f32 x (fabs.f32 x)) (*.f32 (+.f32 x (fabs.f32 x)) (+.f32 x (fabs.f32 x))))))
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(/.f32 (+.f32 (/.f32 (+.f32 x (fabs.f32 x)) (*.f32 (+.f32 x (fabs.f32 x)) (+.f32 x (fabs.f32 x)))) (+.f32 x x)) (*.f32 (/.f32 (+.f32 x (fabs.f32 x)) (*.f32 (+.f32 x (fabs.f32 x)) (+.f32 x (fabs.f32 x)))) (+.f32 x x)))
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 4)) (*.f32 2 (*.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 4))) 16)
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))
(pow.f32 (+.f32 (/.f32 1/2 x) (+.f32 x (fabs.f32 x))) 1)
(+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))

localize52.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))
0.0b
(+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))
0.2b
(*.f32 1/2 (pow.f32 x 2))
19.5b
(log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))
Compiler

Compiled 57 to 40 computations (29.8% saved)

series3.0ms (0%)

Counts
4 → 18
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))
1.0ms
x
@-inf
(log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))
0.0ms
x
@0
(log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))
0.0ms
x
@0
(*.f32 1/2 (pow.f32 x 2))
0.0ms
x
@inf
(*.f32 1/2 (pow.f32 x 2))

rewrite68.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1486×rational.json-simplify-35
1284×rational.json-1
1284×rational.json-2
1284×rational.json-3
1282×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01398
19898
222398
363398
4397298
Stop Event
node limit
Counts
4 → 51
Calls
Call 1
Inputs
(log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))
(*.f32 1/2 (pow.f32 x 2))
(+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))
(+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 2 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (pow.f32 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 1/2 (pow.f32 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 1/2 (pow.f32 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 x 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 1/2 (pow.f32 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (pow.f32 x 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (pow.f32 x 2) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (pow.f32 x 2) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 1/2 (pow.f32 x 2)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (+.f32 (fabs.f32 x) (+.f32 (pow.f32 x 2) (fabs.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (fabs.f32 x) (+.f32 (pow.f32 x 2) (fabs.f32 x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (fabs.f32 x) (+.f32 (pow.f32 x 2) (fabs.f32 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 4)) (*.f32 2 (*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 2 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 4)) (*.f32 2 (*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 1)))))

simplify154.0ms (2.3%)

Algorithm
egg-herbie
Rules
1310×rational.json-simplify-35
1082×rational.json-simplify-59
1050×rational.json-simplify-2
732×rational.json-simplify-46
726×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01322327
12842327
25922315
315882303
436862303
560332303
Stop Event
node limit
Counts
69 → 110
Calls
Call 1
Inputs
(log.f32 (+.f32 1 (fabs.f32 x)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x))))
(+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (+.f32 1 (fabs.f32 x)) 2))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x)))))
(+.f32 (*.f32 1/24 (/.f32 (pow.f32 x 6) (pow.f32 (+.f32 1 (fabs.f32 x)) 3))) (+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (+.f32 1 (fabs.f32 x)) 2))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x))))))
(+.f32 (log.f32 1/2) (*.f32 -2 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 1/2) (+.f32 (*.f32 -2 (log.f32 (/.f32 1 x))) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2)))))
(+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (+.f32 (log.f32 1/2) (+.f32 (*.f32 -2 (log.f32 (/.f32 1 x))) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))))))
(+.f32 (*.f32 8/3 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 3) (pow.f32 x 6))) (+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (+.f32 (log.f32 1/2) (+.f32 (*.f32 -2 (log.f32 (/.f32 1 x))) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2)))))))
(+.f32 (*.f32 -2 (log.f32 (/.f32 -1 x))) (log.f32 1/2))
(+.f32 (*.f32 -2 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 1/2) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2)))))
(+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (+.f32 (*.f32 -2 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 1/2) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))))))
(+.f32 (*.f32 8/3 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 3) (pow.f32 x 6))) (+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (+.f32 (*.f32 -2 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 1/2) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2)))))))
(fabs.f32 x)
(*.f32 1/2 (pow.f32 x 2))
(*.f32 1/2 (pow.f32 x 2))
(+.f32 1 (fabs.f32 x))
(*.f32 1/2 (pow.f32 x 2))
(*.f32 1/2 (pow.f32 x 2))
(+.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 0)
(+.f32 0 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))))
(-.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 0)
(*.f32 1 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))))
(*.f32 1/2 (*.f32 2 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))))
(*.f32 2 (/.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 2))
(*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 1)
(*.f32 (*.f32 2 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))) 1/2)
(*.f32 (/.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 2) 2)
(/.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 1)
(/.f32 (*.f32 2 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))) 2)
(/.f32 (*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 4))) 16)
(pow.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 1)
(+.f32 (*.f32 1/2 (pow.f32 x 2)) 0)
(+.f32 0 (*.f32 1/2 (pow.f32 x 2)))
(-.f32 (*.f32 1/2 (pow.f32 x 2)) 0)
(/.f32 (pow.f32 x 2) 2)
(/.f32 (*.f32 1/2 (pow.f32 x 2)) 1)
(/.f32 (*.f32 2 (pow.f32 x 2)) 4)
(/.f32 (*.f32 (pow.f32 x 2) 4) 8)
(/.f32 (*.f32 2 (*.f32 (pow.f32 x 2) 4)) 16)
(pow.f32 (*.f32 1/2 (pow.f32 x 2)) 1)
(-.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 0)
(*.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))
(*.f32 1/2 (+.f32 (fabs.f32 x) (+.f32 (pow.f32 x 2) (fabs.f32 x))))
(*.f32 2 (/.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 2))
(*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 1)
(*.f32 (+.f32 (fabs.f32 x) (+.f32 (pow.f32 x 2) (fabs.f32 x))) 1/2)
(*.f32 (/.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 2) 2)
(/.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 1)
(/.f32 (+.f32 (fabs.f32 x) (+.f32 (pow.f32 x 2) (fabs.f32 x))) 2)
(/.f32 (*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 4)) (*.f32 2 (*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 4))) 16)
(pow.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 1)
(-.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) -1)
(-.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 0)
(*.f32 1 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))
(*.f32 1/2 (*.f32 2 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))))
(*.f32 2 (/.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 2))
(*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 1)
(*.f32 (*.f32 2 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 1/2)
(*.f32 (/.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 2) 2)
(/.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 1)
(/.f32 (*.f32 2 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 2)
(/.f32 (*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 4)) (*.f32 2 (*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 4))) 16)
(pow.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 1)
Outputs
(log.f32 (+.f32 1 (fabs.f32 x)))
(log.f32 (-.f32 (fabs.f32 x) -1))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x))))
(+.f32 (log.f32 (+.f32 1 (fabs.f32 x))) (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))))
(+.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) (*.f32 1/2 (/.f32 (pow.f32 x 2) (-.f32 (fabs.f32 x) -1))))
(+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (+.f32 1 (fabs.f32 x)) 2))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x)))))
(+.f32 (+.f32 (log.f32 (+.f32 1 (fabs.f32 x))) (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x))))) (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (+.f32 1 (fabs.f32 x)) 2))))
(+.f32 (log.f32 (+.f32 1 (fabs.f32 x))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (+.f32 1 (fabs.f32 x)) 2)))))
(+.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (-.f32 (fabs.f32 x) -1))) (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (-.f32 (fabs.f32 x) -1) 2)))))
(+.f32 (*.f32 1/24 (/.f32 (pow.f32 x 6) (pow.f32 (+.f32 1 (fabs.f32 x)) 3))) (+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (+.f32 1 (fabs.f32 x)) 2))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x))))))
(+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (+.f32 1 (fabs.f32 x)) 2))) (+.f32 (+.f32 (log.f32 (+.f32 1 (fabs.f32 x))) (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x))))) (*.f32 1/24 (/.f32 (pow.f32 x 6) (pow.f32 (+.f32 1 (fabs.f32 x)) 3)))))
(+.f32 (+.f32 (log.f32 (+.f32 1 (fabs.f32 x))) (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x))))) (+.f32 (*.f32 1/24 (/.f32 (pow.f32 x 6) (pow.f32 (+.f32 1 (fabs.f32 x)) 3))) (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (+.f32 1 (fabs.f32 x)) 2)))))
(+.f32 (+.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) (*.f32 1/2 (/.f32 (pow.f32 x 2) (-.f32 (fabs.f32 x) -1)))) (+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (-.f32 (fabs.f32 x) -1) 2))) (*.f32 1/24 (/.f32 (pow.f32 x 6) (pow.f32 (-.f32 (fabs.f32 x) -1) 3)))))
(+.f32 (+.f32 (log.f32 (+.f32 1 (fabs.f32 x))) (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x))))) (+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (+.f32 1 (fabs.f32 x)) 2))) (*.f32 1/24 (/.f32 (pow.f32 x 6) (pow.f32 (+.f32 1 (fabs.f32 x)) 3)))))
(+.f32 (log.f32 (+.f32 1 (fabs.f32 x))) (+.f32 (*.f32 1/24 (/.f32 (pow.f32 x 6) (pow.f32 (+.f32 1 (fabs.f32 x)) 3))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (+.f32 1 (fabs.f32 x)) 2))))))
(+.f32 (log.f32 1/2) (*.f32 -2 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 1/2) (+.f32 (*.f32 -2 (log.f32 (/.f32 1 x))) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2)))))
(+.f32 (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))) (+.f32 (log.f32 1/2) (*.f32 -2 (log.f32 (/.f32 1 x)))))
(+.f32 (log.f32 1/2) (+.f32 (*.f32 -2 (log.f32 (/.f32 1 x))) (*.f32 2 (/.f32 (-.f32 (fabs.f32 x) -1) (pow.f32 x 2)))))
(+.f32 (+.f32 (log.f32 1/2) (*.f32 -2 (log.f32 (/.f32 1 x)))) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))))
(+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (+.f32 (log.f32 1/2) (+.f32 (*.f32 -2 (log.f32 (/.f32 1 x))) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))))))
(+.f32 (log.f32 1/2) (+.f32 (+.f32 (*.f32 -2 (log.f32 (/.f32 1 x))) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2)))) (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4)))))
(+.f32 (+.f32 (*.f32 -2 (log.f32 (/.f32 1 x))) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2)))) (+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (log.f32 1/2)))
(+.f32 (+.f32 (*.f32 -2 (log.f32 (/.f32 1 x))) (*.f32 2 (/.f32 (-.f32 (fabs.f32 x) -1) (pow.f32 x 2)))) (+.f32 (log.f32 1/2) (*.f32 -2 (/.f32 (pow.f32 (-.f32 (fabs.f32 x) -1) 2) (pow.f32 x 4)))))
(+.f32 (log.f32 1/2) (+.f32 (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))) (*.f32 -2 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))))))
(+.f32 (+.f32 (log.f32 1/2) (*.f32 2 (/.f32 (-.f32 (fabs.f32 x) -1) (pow.f32 x 2)))) (*.f32 -2 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (pow.f32 (-.f32 (fabs.f32 x) -1) 2) (pow.f32 x 4)))))
(+.f32 (+.f32 (log.f32 1/2) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2)))) (*.f32 -2 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4)))))
(+.f32 (*.f32 8/3 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 3) (pow.f32 x 6))) (+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (+.f32 (log.f32 1/2) (+.f32 (*.f32 -2 (log.f32 (/.f32 1 x))) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2)))))))
(+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (+.f32 (+.f32 (log.f32 1/2) (+.f32 (*.f32 -2 (log.f32 (/.f32 1 x))) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))))) (*.f32 8/3 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 3) (pow.f32 x 6)))))
(+.f32 (+.f32 (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))) (+.f32 (log.f32 1/2) (*.f32 -2 (log.f32 (/.f32 1 x))))) (+.f32 (*.f32 8/3 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 3) (pow.f32 x 6))) (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4)))))
(+.f32 (+.f32 (*.f32 -2 (log.f32 (/.f32 1 x))) (*.f32 2 (/.f32 (-.f32 (fabs.f32 x) -1) (pow.f32 x 2)))) (+.f32 (+.f32 (log.f32 1/2) (*.f32 -2 (/.f32 (pow.f32 (-.f32 (fabs.f32 x) -1) 2) (pow.f32 x 4)))) (*.f32 8/3 (/.f32 (pow.f32 (-.f32 (fabs.f32 x) -1) 3) (pow.f32 x 6)))))
(+.f32 (log.f32 1/2) (+.f32 (*.f32 8/3 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 3) (pow.f32 x 6))) (+.f32 (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))) (*.f32 -2 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4)))))))
(+.f32 (+.f32 (+.f32 (log.f32 1/2) (*.f32 2 (/.f32 (-.f32 (fabs.f32 x) -1) (pow.f32 x 2)))) (*.f32 -2 (+.f32 (log.f32 (/.f32 1 x)) (/.f32 (pow.f32 (-.f32 (fabs.f32 x) -1) 2) (pow.f32 x 4))))) (*.f32 8/3 (/.f32 (pow.f32 (-.f32 (fabs.f32 x) -1) 3) (pow.f32 x 6))))
(+.f32 (*.f32 -2 (log.f32 (/.f32 -1 x))) (log.f32 1/2))
(+.f32 (log.f32 1/2) (*.f32 -2 (log.f32 (/.f32 -1 x))))
(+.f32 (*.f32 -2 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 1/2) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2)))))
(+.f32 (log.f32 1/2) (+.f32 (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))) (*.f32 -2 (log.f32 (/.f32 -1 x)))))
(+.f32 (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))) (+.f32 (log.f32 1/2) (*.f32 -2 (log.f32 (/.f32 -1 x)))))
(+.f32 (*.f32 2 (/.f32 (-.f32 (fabs.f32 x) -1) (pow.f32 x 2))) (+.f32 (log.f32 1/2) (*.f32 -2 (log.f32 (/.f32 -1 x)))))
(+.f32 (log.f32 1/2) (+.f32 (*.f32 2 (/.f32 (-.f32 (fabs.f32 x) -1) (pow.f32 x 2))) (*.f32 -2 (log.f32 (/.f32 -1 x)))))
(+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (+.f32 (*.f32 -2 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 1/2) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))))))
(+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (+.f32 (log.f32 1/2) (+.f32 (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))) (*.f32 -2 (log.f32 (/.f32 -1 x))))))
(+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (+.f32 (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))) (+.f32 (log.f32 1/2) (*.f32 -2 (log.f32 (/.f32 -1 x))))))
(+.f32 (+.f32 (log.f32 1/2) (*.f32 2 (/.f32 (-.f32 (fabs.f32 x) -1) (pow.f32 x 2)))) (*.f32 -2 (+.f32 (/.f32 (pow.f32 (-.f32 (fabs.f32 x) -1) 2) (pow.f32 x 4)) (log.f32 (/.f32 -1 x)))))
(+.f32 (+.f32 (log.f32 1/2) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2)))) (*.f32 -2 (+.f32 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4)) (log.f32 (/.f32 -1 x)))))
(+.f32 (*.f32 8/3 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 3) (pow.f32 x 6))) (+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (+.f32 (*.f32 -2 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 1/2) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2)))))))
(+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (+.f32 (+.f32 (log.f32 1/2) (+.f32 (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))) (*.f32 -2 (log.f32 (/.f32 -1 x))))) (*.f32 8/3 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 3) (pow.f32 x 6)))))
(+.f32 (*.f32 -2 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4))) (+.f32 (*.f32 8/3 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 3) (pow.f32 x 6))) (+.f32 (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2))) (+.f32 (log.f32 1/2) (*.f32 -2 (log.f32 (/.f32 -1 x)))))))
(+.f32 (*.f32 8/3 (/.f32 (pow.f32 (-.f32 (fabs.f32 x) -1) 3) (pow.f32 x 6))) (+.f32 (+.f32 (log.f32 1/2) (*.f32 2 (/.f32 (-.f32 (fabs.f32 x) -1) (pow.f32 x 2)))) (*.f32 -2 (+.f32 (/.f32 (pow.f32 (-.f32 (fabs.f32 x) -1) 2) (pow.f32 x 4)) (log.f32 (/.f32 -1 x))))))
(+.f32 (*.f32 8/3 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 3) (pow.f32 x 6))) (+.f32 (+.f32 (log.f32 1/2) (*.f32 2 (/.f32 (+.f32 1 (fabs.f32 x)) (pow.f32 x 2)))) (*.f32 -2 (+.f32 (/.f32 (pow.f32 (+.f32 1 (fabs.f32 x)) 2) (pow.f32 x 4)) (log.f32 (/.f32 -1 x))))))
(fabs.f32 x)
(*.f32 1/2 (pow.f32 x 2))
(*.f32 1/2 (pow.f32 x 2))
(+.f32 1 (fabs.f32 x))
(-.f32 (fabs.f32 x) -1)
(*.f32 1/2 (pow.f32 x 2))
(*.f32 1/2 (pow.f32 x 2))
(+.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 0)
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(+.f32 0 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))))
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(-.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 0)
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(*.f32 1 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))))
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(*.f32 1/2 (*.f32 2 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))))
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(*.f32 2 (/.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 2))
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 1)
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(*.f32 (*.f32 2 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))) 1/2)
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(*.f32 (/.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 2) 2)
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(/.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 1)
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(/.f32 (*.f32 2 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))) 2)
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(/.f32 (*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 4) 4)
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 4)) 8)
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 4))) 16)
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(pow.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 1)
(log.f32 (+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))))
(log.f32 (+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2)))))
(+.f32 (*.f32 1/2 (pow.f32 x 2)) 0)
(*.f32 1/2 (pow.f32 x 2))
(+.f32 0 (*.f32 1/2 (pow.f32 x 2)))
(*.f32 1/2 (pow.f32 x 2))
(-.f32 (*.f32 1/2 (pow.f32 x 2)) 0)
(*.f32 1/2 (pow.f32 x 2))
(/.f32 (pow.f32 x 2) 2)
(*.f32 1/2 (pow.f32 x 2))
(/.f32 (*.f32 1/2 (pow.f32 x 2)) 1)
(*.f32 1/2 (pow.f32 x 2))
(/.f32 (*.f32 2 (pow.f32 x 2)) 4)
(*.f32 1/2 (pow.f32 x 2))
(/.f32 (*.f32 (pow.f32 x 2) 4) 8)
(*.f32 1/2 (pow.f32 x 2))
(/.f32 (*.f32 2 (*.f32 (pow.f32 x 2) 4)) 16)
(*.f32 1/2 (pow.f32 x 2))
(pow.f32 (*.f32 1/2 (pow.f32 x 2)) 1)
(*.f32 1/2 (pow.f32 x 2))
(-.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 0)
(+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))
(*.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))
(+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))
(*.f32 1/2 (+.f32 (fabs.f32 x) (+.f32 (pow.f32 x 2) (fabs.f32 x))))
(+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))
(*.f32 2 (/.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 2))
(+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))
(*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 1)
(+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))
(*.f32 (+.f32 (fabs.f32 x) (+.f32 (pow.f32 x 2) (fabs.f32 x))) 1/2)
(+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))
(*.f32 (/.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 2) 2)
(+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))
(/.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 1)
(+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))
(/.f32 (+.f32 (fabs.f32 x) (+.f32 (pow.f32 x 2) (fabs.f32 x))) 2)
(+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))
(/.f32 (*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 4) 4)
(+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))
(/.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 4)) 8)
(+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 4)) (*.f32 2 (*.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 4))) 16)
(+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))
(pow.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) 1)
(+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2)))
(-.f32 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)) -1)
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))
(-.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 0)
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))
(*.f32 1 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))))
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))
(*.f32 1/2 (*.f32 2 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))))
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))
(*.f32 2 (/.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 2))
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))
(*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 1)
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))
(*.f32 (*.f32 2 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 1/2)
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))
(*.f32 (/.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 2) 2)
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))
(/.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 1)
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))
(/.f32 (*.f32 2 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) 2)
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))
(/.f32 (*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 4) 4)
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))
(/.f32 (*.f32 2 (*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 4)) 8)
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 4)) (*.f32 2 (*.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 4))) 16)
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))
(pow.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x))) 1)
(+.f32 1 (+.f32 (fabs.f32 x) (*.f32 1/2 (pow.f32 x 2))))
(+.f32 (fabs.f32 x) (+.f32 1 (*.f32 1/2 (pow.f32 x 2))))

eval105.0ms (1.6%)

Compiler

Compiled 5427 to 3711 computations (31.6% saved)

prune171.0ms (2.5%)

Pruning

14 alts after pruning (4 fresh and 10 done)

PrunedKeptTotal
New2633266
Fresh011
Picked011
Done2911
Total26514279
Error
10.7b
Counts
279 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
26.7b
(copysign.f32 (/.f32 (fabs.f32 x) x) x)
27.7b
(copysign.f32 (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x)))) x)
27.8b
(copysign.f32 (neg.f32 (log.f32 (/.f32 1 x))) x)
23.6b
(copysign.f32 (log.f32 (/.f32 1/2 x)) x)
21.5b
(copysign.f32 (log.f32 (/.f32 -1/2 x)) x)
21.3b
(copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x)
21.3b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) x)
21.3b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1))) x)
20.4b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x)
24.1b
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) x)) x)
23.9b
(copysign.f32 (log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))) x)
26.7b
(copysign.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) x)
26.8b
(copysign.f32 (log.f32 (neg.f32 x)) x)
27.8b
(copysign.f32 (log.f32 x) x)
Compiler

Compiled 142 to 100 computations (29.6% saved)

regimes50.0ms (0.7%)

Counts
21 → 3
Calls
Call 1
Inputs
(copysign.f32 (log.f32 x) x)
(copysign.f32 (log.f32 (neg.f32 x)) x)
(copysign.f32 (log.f32 (/.f32 -1/2 x)) x)
(copysign.f32 (log.f32 (/.f32 1/2 x)) x)
(copysign.f32 (/.f32 (fabs.f32 x) x) x)
(copysign.f32 (neg.f32 (log.f32 (/.f32 -1 x))) x)
(copysign.f32 (neg.f32 (log.f32 (/.f32 1 x))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) x)) x)
(copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (neg.f32 x))) x)
(copysign.f32 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x)) x)
(copysign.f32 (log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) x)
(copysign.f32 (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x)))) x)
(copysign.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x)) x)
(copysign.f32 (log.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x)
(copysign.f32 (log.f32 (+.f32 1 (+.f32 (*.f32 1/2 (pow.f32 x 2)) (fabs.f32 x)))) x)
(copysign.f32 (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (+.f32 1 (fabs.f32 x)))) (log.f32 (+.f32 1 (fabs.f32 x)))) x)
Outputs
(copysign.f32 (log.f32 (/.f32 -1/2 x)) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x)
(copysign.f32 (log.f32 (/.f32 1/2 x)) x)
Calls

2 calls:

31.0ms
x
15.0ms
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x)
Results
ErrorSegmentsBranch
10.8b3x
10.8b3(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x)
Compiler

Compiled 219 to 127 computations (42% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
12.750635147094727
14.411211967468262
0.0ms
-inf
-44.92600631713867
Compiler

Compiled 17 to 12 computations (29.4% saved)

regimes29.0ms (0.4%)

Counts
18 → 3
Calls
Call 1
Inputs
(copysign.f32 (log.f32 x) x)
(copysign.f32 (log.f32 (neg.f32 x)) x)
(copysign.f32 (log.f32 (/.f32 -1/2 x)) x)
(copysign.f32 (log.f32 (/.f32 1/2 x)) x)
(copysign.f32 (/.f32 (fabs.f32 x) x) x)
(copysign.f32 (neg.f32 (log.f32 (/.f32 -1 x))) x)
(copysign.f32 (neg.f32 (log.f32 (/.f32 1 x))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) x)) x)
(copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (neg.f32 x))) x)
(copysign.f32 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x)) x)
(copysign.f32 (log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) x)
(copysign.f32 (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x)))) x)
(copysign.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x)) x)
(copysign.f32 (log.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1))) x)
Outputs
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1))) x)
(copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x)
(copysign.f32 (log.f32 (/.f32 1/2 x)) x)
Calls

1 calls:

25.0ms
x
Results
ErrorSegmentsBranch
11.6b3x
Compiler

Compiled 163 to 90 computations (44.8% saved)

bsearch0.0ms (0%)

Algorithm
binary-search
Steps
TimeLeftRight
0.0ms
0.5660040378570557
5.8412346839904785
0.0ms
-1.2091304063796997
-0.2213895320892334
Compiler

Compiled 17 to 12 computations (29.4% saved)

regimes147.0ms (2.2%)

Counts
17 → 3
Calls
Call 1
Inputs
(copysign.f32 (log.f32 x) x)
(copysign.f32 (log.f32 (neg.f32 x)) x)
(copysign.f32 (log.f32 (/.f32 -1/2 x)) x)
(copysign.f32 (log.f32 (/.f32 1/2 x)) x)
(copysign.f32 (/.f32 (fabs.f32 x) x) x)
(copysign.f32 (neg.f32 (log.f32 (/.f32 -1 x))) x)
(copysign.f32 (neg.f32 (log.f32 (/.f32 1 x))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) x)) x)
(copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (neg.f32 x))) x)
(copysign.f32 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x)) x)
(copysign.f32 (log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) x)
(copysign.f32 (neg.f32 (+.f32 (log.f32 (/.f32 -1 x)) (/.f32 x (fabs.f32 x)))) x)
(copysign.f32 (+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (/.f32 (fabs.f32 x) x)) x)
(copysign.f32 (log.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (fabs.f32 x) x))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (neg.f32 x) (*.f32 1/2 (/.f32 1 x))))) x)
Outputs
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) x)
(copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x)
(copysign.f32 (log.f32 (/.f32 1/2 x)) x)
Calls

1 calls:

143.0ms
x
Results
ErrorSegmentsBranch
11.6b3x
Compiler

Compiled 148 to 80 computations (45.9% saved)

bsearch0.0ms (0%)

Algorithm
binary-search
Steps
TimeLeftRight
0.0ms
0.5660040378570557
5.8412346839904785
0.0ms
-1.2091304063796997
-0.2213895320892334
Compiler

Compiled 17 to 12 computations (29.4% saved)

regimes32.0ms (0.5%)

Counts
12 → 3
Calls
Call 1
Inputs
(copysign.f32 (log.f32 x) x)
(copysign.f32 (log.f32 (neg.f32 x)) x)
(copysign.f32 (log.f32 (/.f32 -1/2 x)) x)
(copysign.f32 (log.f32 (/.f32 1/2 x)) x)
(copysign.f32 (/.f32 (fabs.f32 x) x) x)
(copysign.f32 (neg.f32 (log.f32 (/.f32 -1 x))) x)
(copysign.f32 (neg.f32 (log.f32 (/.f32 1 x))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) x)) x)
(copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (neg.f32 x))) x)
(copysign.f32 (+.f32 (/.f32 (fabs.f32 x) x) (log.f32 x)) x)
(copysign.f32 (log.f32 (+.f32 x (+.f32 (fabs.f32 x) (/.f32 1/2 x)))) x)
Outputs
(copysign.f32 (log.f32 (/.f32 -1/2 x)) x)
(copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x)
(copysign.f32 (log.f32 (/.f32 1/2 x)) x)
Calls

1 calls:

30.0ms
x
Results
ErrorSegmentsBranch
11.8b3x
Compiler

Compiled 86 to 46 computations (46.5% saved)

bsearch0.0ms (0%)

Algorithm
binary-search
Steps
TimeLeftRight
0.0ms
0.5660040378570557
5.8412346839904785
0.0ms
-1.2091304063796997
-0.2213895320892334
Compiler

Compiled 17 to 12 computations (29.4% saved)

regimes12.0ms (0.2%)

Counts
8 → 2
Calls
Call 1
Inputs
(copysign.f32 (log.f32 x) x)
(copysign.f32 (log.f32 (neg.f32 x)) x)
(copysign.f32 (log.f32 (/.f32 -1/2 x)) x)
(copysign.f32 (log.f32 (/.f32 1/2 x)) x)
(copysign.f32 (/.f32 (fabs.f32 x) x) x)
(copysign.f32 (neg.f32 (log.f32 (/.f32 -1 x))) x)
(copysign.f32 (neg.f32 (log.f32 (/.f32 1 x))) x)
(copysign.f32 (log.f32 (+.f32 (fabs.f32 x) x)) x)
Outputs
(copysign.f32 (log.f32 (/.f32 -1/2 x)) x)
(copysign.f32 (log.f32 (/.f32 1/2 x)) x)
Calls

1 calls:

11.0ms
x
Results
ErrorSegmentsBranch
13.0b2x
Compiler

Compiled 51 to 31 computations (39.2% saved)

bsearch0.0ms (0%)

Algorithm
binary-search
Steps
TimeLeftRight
0.0ms
-2.959522738475513e-38
8.015190676757176e-38
Compiler

Compiled 17 to 12 computations (29.4% saved)

regimes7.0ms (0.1%)

Counts
3 → 2
Calls
Call 1
Inputs
(copysign.f32 (log.f32 x) x)
(copysign.f32 (log.f32 (neg.f32 x)) x)
(copysign.f32 (log.f32 (/.f32 -1/2 x)) x)
Outputs
(copysign.f32 (log.f32 (/.f32 -1/2 x)) x)
(copysign.f32 (log.f32 x) x)
Calls

1 calls:

6.0ms
x
Results
ErrorSegmentsBranch
17.2b2x
Compiler

Compiled 18 to 11 computations (38.9% saved)

bsearch0.0ms (0%)

Algorithm
binary-search
Steps
TimeLeftRight
0.0ms
-2.959522738475513e-38
8.015190676757176e-38
Compiler

Compiled 17 to 12 computations (29.4% saved)

regimes8.0ms (0.1%)

Accuracy

Total -9.4b remaining (-41.7%)

Threshold costs -9.4b (-41.7%)

Counts
2 → 2
Calls
Call 1
Inputs
(copysign.f32 (log.f32 x) x)
(copysign.f32 (log.f32 (neg.f32 x)) x)
Outputs
(copysign.f32 (log.f32 (neg.f32 x)) x)
(copysign.f32 (log.f32 x) x)
Calls

1 calls:

8.0ms
x
Results
ErrorSegmentsBranch
22.6b2x
Compiler

Compiled 12 to 7 computations (41.7% saved)

bsearch0.0ms (0%)

Algorithm
binary-search
Steps
TimeLeftRight
0.0ms
-2.959522738475513e-38
8.015190676757176e-38
Compiler

Compiled 17 to 12 computations (29.4% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059550
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f32 (copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x) -inf.0) (copysign.f32 (log.f32 (/.f32 -1/2 x)) x) (if (<=.f32 (copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x) 14) (copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x) (copysign.f32 (log.f32 (/.f32 1/2 x)) x)))
(if (<=.f32 x -1) (copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1))) x) (if (<=.f32 x 1) (copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x) (copysign.f32 (log.f32 (/.f32 1/2 x)) x)))
(if (<=.f32 x -1) (copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) x) (if (<=.f32 x 1) (copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x) (copysign.f32 (log.f32 (/.f32 1/2 x)) x)))
(if (<=.f32 x -1) (copysign.f32 (log.f32 (/.f32 -1/2 x)) x) (if (<=.f32 x 1) (copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x) (copysign.f32 (log.f32 (/.f32 1/2 x)) x)))
(if (<=.f32 x -14272477/713623846352979940529142984724747568191373312) (copysign.f32 (log.f32 (/.f32 -1/2 x)) x) (copysign.f32 (log.f32 (/.f32 1/2 x)) x))
(if (<=.f32 x -14272477/713623846352979940529142984724747568191373312) (copysign.f32 (log.f32 (/.f32 -1/2 x)) x) (copysign.f32 (log.f32 x) x))
(if (<=.f32 x -14272477/713623846352979940529142984724747568191373312) (copysign.f32 (log.f32 (neg.f32 x)) x) (copysign.f32 (log.f32 x) x))
(copysign.f32 (log.f32 x) x)
Outputs
(if (<=.f32 (copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x) -inf.0) (copysign.f32 (log.f32 (/.f32 -1/2 x)) x) (if (<=.f32 (copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x) 14) (copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) 1)))) x) (copysign.f32 (log.f32 (/.f32 1/2 x)) x)))
(if (<=.f32 x -1) (copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (+.f32 (-.f32 (-.f32 1 x) (/.f32 1/2 x)) -1))) x) (if (<=.f32 x 1) (copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x) (copysign.f32 (log.f32 (/.f32 1/2 x)) x)))
(if (<=.f32 x -1) (copysign.f32 (log.f32 (+.f32 (fabs.f32 x) (-.f32 (/.f32 -1/2 x) x))) x) (if (<=.f32 x 1) (copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x) (copysign.f32 (log.f32 (/.f32 1/2 x)) x)))
(if (<=.f32 x -1) (copysign.f32 (log.f32 (/.f32 -1/2 x)) x) (if (<=.f32 x 1) (copysign.f32 (log.f32 (-.f32 (fabs.f32 x) -1)) x) (copysign.f32 (log.f32 (/.f32 1/2 x)) x)))
(if (<=.f32 x -14272477/713623846352979940529142984724747568191373312) (copysign.f32 (log.f32 (/.f32 -1/2 x)) x) (copysign.f32 (log.f32 (/.f32 1/2 x)) x))
(if (<=.f32 x -14272477/713623846352979940529142984724747568191373312) (copysign.f32 (log.f32 (/.f32 -1/2 x)) x) (copysign.f32 (log.f32 x) x))
(if (<=.f32 x -14272477/713623846352979940529142984724747568191373312) (copysign.f32 (log.f32 (neg.f32 x)) x) (copysign.f32 (log.f32 x) x))
(copysign.f32 (log.f32 x) x)
Compiler

Compiled 204 to 137 computations (32.8% saved)

soundness139.0ms (2.1%)

Algorithm
egg-herbie
Rules
1738×rational.json-simplify-35
842×rational.json-simplify-41
702×rational.json-simplify-1
660×rational.json-simplify-44
604×rational.json-simplify-59
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01892813
14042743
28202743
319322721
451422721
575502721
Stop Event
node limit
Compiler

Compiled 45 to 31 computations (31.1% saved)

end87.0ms (1.3%)

Compiler

Compiled 197 to 123 computations (37.6% saved)

Profiling

Loading profile data...