Details

Time bar (total: 10.2s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%25%75%0%0%0%0
100%25%0%75%0%0%0%1
Compiler

Compiled 6 to 4 computations (33.3% saved)

sample2.1s (20.8%)

Results
2.1s8256×body256valid
Bogosity

preprocess10.0ms (0.1%)

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

Compiled 11 to 8 computations (27.3% saved)

simplify130.0ms (1.3%)

Algorithm
egg-herbie
Rules
1814×rational.json-simplify-35
1350×rational.json-simplify-53
1016×rational.json-simplify-39
864×rational.json-simplify-59
750×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01027
11427
21927
33727
418527
5195727
6590427
7784327
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
Outputs
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
(log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))))

eval1.0ms (0%)

Compiler

Compiled 19 to 12 computations (36.8% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
16.0b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
16.0b
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
Compiler

Compiled 10 to 7 computations (30% saved)

localize34.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f32 (*.f32 x x) 1)
0.0b
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1)))
0.1b
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
13.8b
(sqrt.f32 (-.f32 (*.f32 x x) 1))
Compiler

Compiled 34 to 17 computations (50% saved)

series4.0ms (0%)

Counts
4 → 48
Calls

12 calls:

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

rewrite101.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1798×bool.json-1
1798×bool.json-2
1770×rational.json-1
1370×bool.json-3
894×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01080
110680
230380
365180
4193480
5594580
Stop Event
node limit
Counts
4 → 55
Calls
Call 1
Inputs
(sqrt.f32 (-.f32 (*.f32 x x) 1))
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1)))
(-.f32 (*.f32 x x) 1)
Outputs
((#(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 not (not (sqrt.f32 (+.f32 (*.f32 x x) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f32 (+.f32 (*.f32 x x) -1)) (sqrt.f32 (+.f32 (*.f32 x x) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f32 (+.f32 (*.f32 x x) -1)) (sqrt.f32 (+.f32 (*.f32 x x) -1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.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 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.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 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 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 4)) (*.f32 2 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 x x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 x x) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (+.f32 (*.f32 x x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (*.f32 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (*.f32 x x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (*.f32 x x) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (+.f32 (*.f32 x x) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (*.f32 x x) -1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 (*.f32 x x) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (*.f32 x x) -1) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 x x) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (*.f32 x x) -1) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (*.f32 x x) -1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 x x) -1) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 x x) -1) 4)) (*.f32 2 (*.f32 (+.f32 (*.f32 x x) -1) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 (*.f32 x x) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 (*.f32 x x) -1) (+.f32 (*.f32 x x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 (*.f32 x x) -1) (+.f32 (*.f32 x x) -1))))))

simplify149.0ms (1.5%)

Algorithm
egg-herbie
Rules
946×rational.json-simplify-19
860×rational.json-simplify-41
834×rational.json-simplify-2
826×rational.json-simplify-35
706×rational.json-simplify-50
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01962847
13932831
27562831
316432831
430042831
549552831
663762831
Stop Event
node limit
Counts
103 → 170
Calls
Call 1
Inputs
(sqrt.f32 -1)
(+.f32 (sqrt.f32 -1) (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))))
(+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3))) (+.f32 (sqrt.f32 -1) (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1)))))
(+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3))) (+.f32 (sqrt.f32 -1) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) (*.f32 1/16 (/.f32 (pow.f32 x 6) (pow.f32 (sqrt.f32 -1) 5))))))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3)))))
(-.f32 x (+.f32 (*.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 -1 x)
(+.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 -1 x)))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 -1 x))))
(log.f32 (sqrt.f32 -1))
(+.f32 (/.f32 x (sqrt.f32 -1)) (log.f32 (sqrt.f32 -1)))
(+.f32 (*.f32 -1/6 (/.f32 (pow.f32 x 3) (pow.f32 (sqrt.f32 -1) 3))) (+.f32 (/.f32 x (sqrt.f32 -1)) (log.f32 (sqrt.f32 -1))))
(+.f32 (*.f32 3/40 (/.f32 (pow.f32 x 5) (pow.f32 (sqrt.f32 -1) 5))) (+.f32 (*.f32 -1/6 (/.f32 (pow.f32 x 3) (pow.f32 (sqrt.f32 -1) 3))) (+.f32 (/.f32 x (sqrt.f32 -1)) (log.f32 (sqrt.f32 -1)))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 5/96 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x)))
(+.f32 (log.f32 (/.f32 -1 x)) (+.f32 (log.f32 -1/2) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (log.f32 (/.f32 -1 x)) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (log.f32 (/.f32 -1 x)) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 5/96 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))))
(sqrt.f32 -1)
(+.f32 (sqrt.f32 -1) x)
(+.f32 (sqrt.f32 -1) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) x))
(+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3))) (+.f32 (sqrt.f32 -1) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) x)))
(*.f32 2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3)))))
(-.f32 (*.f32 2 x) (+.f32 (*.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 1/2 x)
(+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 5/128 (/.f32 1 (pow.f32 x 7))))))
-1
(-.f32 (pow.f32 x 2) 1)
(-.f32 (pow.f32 x 2) 1)
(-.f32 (pow.f32 x 2) 1)
(pow.f32 x 2)
(-.f32 (pow.f32 x 2) 1)
(-.f32 (pow.f32 x 2) 1)
(-.f32 (pow.f32 x 2) 1)
(pow.f32 x 2)
(-.f32 (pow.f32 x 2) 1)
(-.f32 (pow.f32 x 2) 1)
(-.f32 (pow.f32 x 2) 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)
(+.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 0)
(+.f32 0 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))))
(-.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 0)
(*.f32 1 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))))
(*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 1)
(*.f32 2 (/.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2))
(*.f32 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2) 1/2)
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2))
(*.f32 (/.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2) 2)
(/.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 1)
(/.f32 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 4))) 16)
(-.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 0)
(*.f32 1 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))))
(*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 1)
(*.f32 2 (/.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2))
(*.f32 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2) 1/2)
(*.f32 1/2 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2))
(*.f32 (/.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2) 2)
(/.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 1)
(/.f32 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2) 2)
(/.f32 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 4)) (*.f32 2 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 4))) 16)
(+.f32 (*.f32 x x) -1)
(+.f32 (+.f32 (*.f32 x x) -1) 0)
(+.f32 0 (+.f32 (*.f32 x x) -1))
(+.f32 -1 (*.f32 x x))
(*.f32 1 (+.f32 (*.f32 x x) -1))
(*.f32 (+.f32 (*.f32 x x) -1) 1)
(*.f32 2 (/.f32 (+.f32 (*.f32 x x) -1) 2))
(*.f32 (*.f32 (+.f32 (*.f32 x x) -1) 2) 1/2)
(*.f32 1/2 (*.f32 (+.f32 (*.f32 x x) -1) 2))
(*.f32 (/.f32 (+.f32 (*.f32 x x) -1) 2) 2)
(/.f32 (+.f32 (*.f32 x x) -1) 1)
(/.f32 (*.f32 (+.f32 (*.f32 x x) -1) 2) 2)
(/.f32 (*.f32 (+.f32 (*.f32 x x) -1) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 x x) -1) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 x x) -1) 4)) (*.f32 2 (*.f32 (+.f32 (*.f32 x x) -1) 4))) 16)
Outputs
(sqrt.f32 -1)
(+.f32 (sqrt.f32 -1) (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))))
(+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3))) (+.f32 (sqrt.f32 -1) (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1)))))
(+.f32 (+.f32 (sqrt.f32 -1) (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1)))) (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) (+.f32 (sqrt.f32 -1) (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3)))))
(+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3))) (+.f32 (sqrt.f32 -1) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) (*.f32 1/16 (/.f32 (pow.f32 x 6) (pow.f32 (sqrt.f32 -1) 5))))))
(+.f32 (sqrt.f32 -1) (+.f32 (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) (*.f32 1/16 (/.f32 (pow.f32 x 6) (pow.f32 (sqrt.f32 -1) 5)))) (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3)))))
(+.f32 (sqrt.f32 -1) (+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) (*.f32 1/16 (/.f32 (pow.f32 x 6) (pow.f32 (sqrt.f32 -1) 5))))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) (+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3))) (+.f32 (sqrt.f32 -1) (*.f32 1/16 (/.f32 (pow.f32 x 6) (pow.f32 (sqrt.f32 -1) 5))))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) (+.f32 (sqrt.f32 -1) (+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3))) (*.f32 1/16 (/.f32 (pow.f32 x 6) (pow.f32 (sqrt.f32 -1) 5))))))
(+.f32 (sqrt.f32 -1) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) (+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3))) (*.f32 1/16 (/.f32 (pow.f32 x 6) (pow.f32 (sqrt.f32 -1) 5))))))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3)))))
(-.f32 x (+.f32 (*.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/2 (/.f32 1 x)) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 1/16 (/.f32 1 (pow.f32 x 5))))))
(-.f32 x (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/16 (/.f32 1 (pow.f32 x 5))))))
(*.f32 -1 x)
(neg.f32 x)
(+.f32 (*.f32 -1 x) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 -1 x))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (neg.f32 x))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 -1 x)))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (neg.f32 x)))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 -1 x))))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (+.f32 (*.f32 -1 x) (*.f32 1/16 (/.f32 1 (pow.f32 x 5))))))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (neg.f32 x))))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) (neg.f32 x))))
(log.f32 (sqrt.f32 -1))
(+.f32 (/.f32 x (sqrt.f32 -1)) (log.f32 (sqrt.f32 -1)))
(+.f32 (log.f32 (sqrt.f32 -1)) (/.f32 x (sqrt.f32 -1)))
(+.f32 (*.f32 -1/6 (/.f32 (pow.f32 x 3) (pow.f32 (sqrt.f32 -1) 3))) (+.f32 (/.f32 x (sqrt.f32 -1)) (log.f32 (sqrt.f32 -1))))
(+.f32 (/.f32 x (sqrt.f32 -1)) (+.f32 (log.f32 (sqrt.f32 -1)) (*.f32 -1/6 (/.f32 (pow.f32 x 3) (pow.f32 (sqrt.f32 -1) 3)))))
(+.f32 (+.f32 (log.f32 (sqrt.f32 -1)) (/.f32 x (sqrt.f32 -1))) (*.f32 -1/6 (/.f32 (pow.f32 x 3) (pow.f32 (sqrt.f32 -1) 3))))
(+.f32 (log.f32 (sqrt.f32 -1)) (+.f32 (/.f32 x (sqrt.f32 -1)) (*.f32 -1/6 (/.f32 (pow.f32 x 3) (pow.f32 (sqrt.f32 -1) 3)))))
(+.f32 (*.f32 3/40 (/.f32 (pow.f32 x 5) (pow.f32 (sqrt.f32 -1) 5))) (+.f32 (*.f32 -1/6 (/.f32 (pow.f32 x 3) (pow.f32 (sqrt.f32 -1) 3))) (+.f32 (/.f32 x (sqrt.f32 -1)) (log.f32 (sqrt.f32 -1)))))
(+.f32 (*.f32 -1/6 (/.f32 (pow.f32 x 3) (pow.f32 (sqrt.f32 -1) 3))) (+.f32 (+.f32 (log.f32 (sqrt.f32 -1)) (/.f32 x (sqrt.f32 -1))) (*.f32 3/40 (/.f32 (pow.f32 x 5) (pow.f32 (sqrt.f32 -1) 5)))))
(+.f32 (+.f32 (log.f32 (sqrt.f32 -1)) (/.f32 x (sqrt.f32 -1))) (+.f32 (*.f32 -1/6 (/.f32 (pow.f32 x 3) (pow.f32 (sqrt.f32 -1) 3))) (*.f32 3/40 (/.f32 (pow.f32 x 5) (pow.f32 (sqrt.f32 -1) 5)))))
(+.f32 (log.f32 (sqrt.f32 -1)) (+.f32 (+.f32 (/.f32 x (sqrt.f32 -1)) (*.f32 -1/6 (/.f32 (pow.f32 x 3) (pow.f32 (sqrt.f32 -1) 3)))) (*.f32 3/40 (/.f32 (pow.f32 x 5) (pow.f32 (sqrt.f32 -1) 5)))))
(+.f32 (log.f32 (sqrt.f32 -1)) (+.f32 (*.f32 3/40 (/.f32 (pow.f32 x 5) (pow.f32 (sqrt.f32 -1) 5))) (+.f32 (/.f32 x (sqrt.f32 -1)) (*.f32 -1/6 (/.f32 (pow.f32 x 3) (pow.f32 (sqrt.f32 -1) 3))))))
(+.f32 (log.f32 (sqrt.f32 -1)) (+.f32 (+.f32 (/.f32 x (sqrt.f32 -1)) (*.f32 3/40 (/.f32 (pow.f32 x 5) (pow.f32 (sqrt.f32 -1) 5)))) (*.f32 -1/6 (/.f32 (pow.f32 x 3) (pow.f32 (sqrt.f32 -1) 3)))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (-.f32 (log.f32 2) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (log.f32 2) (-.f32 (neg.f32 (log.f32 (/.f32 1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (log.f32 2) (-.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 3/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 3/32 (/.f32 1 (pow.f32 x 4)))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (-.f32 (log.f32 2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 3/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 5/96 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (log.f32 2) (-.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (log.f32 2) (-.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 5/96 (/.f32 1 (pow.f32 x 6))) (*.f32 3/32 (/.f32 1 (pow.f32 x 4)))))))
(+.f32 (log.f32 2) (-.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6)))))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6))))))
(+.f32 (log.f32 2) (-.f32 (neg.f32 (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6)))))) (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x)))
(+.f32 (log.f32 (/.f32 -1 x)) (+.f32 (log.f32 -1/2) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (log.f32 (/.f32 -1 x))))
(+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x))))
(+.f32 (log.f32 (/.f32 -1 x)) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (log.f32 (/.f32 -1 x)) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (log.f32 -1/2))))
(+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 3/32 (/.f32 1 (pow.f32 x 4)))) (log.f32 (/.f32 -1 x))))
(+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (log.f32 (/.f32 -1 x)) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (log.f32 -1/2))))
(+.f32 (log.f32 (/.f32 -1 x)) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 5/96 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6))))) (log.f32 (/.f32 -1 x))))
(+.f32 (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 5/96 (/.f32 1 (pow.f32 x 6))) (*.f32 3/32 (/.f32 1 (pow.f32 x 4))))) (+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x))))
(+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (log.f32 (/.f32 -1 x)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 5/96 (/.f32 1 (pow.f32 x 6))) (log.f32 -1/2)))))
(+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (log.f32 -1/2) (+.f32 (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6)))) (log.f32 (/.f32 -1 x)))))
(+.f32 (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6)))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 5/96 (/.f32 1 (pow.f32 x 6))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (log.f32 (/.f32 -1 x))))))
(sqrt.f32 -1)
(+.f32 (sqrt.f32 -1) x)
(+.f32 (sqrt.f32 -1) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) x))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) (+.f32 (sqrt.f32 -1) x))
(+.f32 (sqrt.f32 -1) (+.f32 x (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1)))))
(+.f32 (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3))) (+.f32 (sqrt.f32 -1) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) x)))
(+.f32 (sqrt.f32 -1) (+.f32 (+.f32 x (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1)))) (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3)))))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) (+.f32 (+.f32 (sqrt.f32 -1) x) (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3)))))
(+.f32 (sqrt.f32 -1) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 x 2) (sqrt.f32 -1))) (+.f32 x (*.f32 -1/8 (/.f32 (pow.f32 x 4) (pow.f32 (sqrt.f32 -1) 3))))))
(*.f32 2 x)
(*.f32 x 2)
(+.f32 x x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3)))))
(-.f32 (*.f32 x 2) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3)))))
(-.f32 (+.f32 x x) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3)))))
(-.f32 (*.f32 2 x) (+.f32 (*.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 (*.f32 x 2) (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 1/16 (/.f32 1 (pow.f32 x 5))))))
(-.f32 (*.f32 x 2) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/16 (/.f32 1 (pow.f32 x 5))))))
(-.f32 (+.f32 x x) (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 1/16 (/.f32 1 (pow.f32 x 5))))))
(+.f32 x (-.f32 x (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 1/16 (/.f32 1 (pow.f32 x 5)))))))
(/.f32 1/2 x)
(+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/8 (/.f32 1 (pow.f32 x 3))))
(+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 1/2 (/.f32 1 x))))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 1/16 (/.f32 1 (pow.f32 x 5)))))
(+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 1/16 (/.f32 1 (pow.f32 x 5)))))
(+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 5/128 (/.f32 1 (pow.f32 x 7))))))
(+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (+.f32 (+.f32 (*.f32 1/2 (/.f32 1 x)) (*.f32 5/128 (/.f32 1 (pow.f32 x 7)))) (*.f32 1/16 (/.f32 1 (pow.f32 x 5)))))
(+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) (+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 5/128 (/.f32 1 (pow.f32 x 7))))))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 5/128 (/.f32 1 (pow.f32 x 7))))))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (+.f32 (*.f32 1/16 (/.f32 1 (pow.f32 x 5))) (*.f32 5/128 (/.f32 1 (pow.f32 x 7))))))
(+.f32 (*.f32 1/2 (/.f32 1 x)) (+.f32 (+.f32 (*.f32 1/8 (/.f32 1 (pow.f32 x 3))) (*.f32 1/16 (/.f32 1 (pow.f32 x 5)))) (*.f32 5/128 (/.f32 1 (pow.f32 x 7)))))
-1
(-.f32 (pow.f32 x 2) 1)
(+.f32 (pow.f32 x 2) -1)
(+.f32 -1 (pow.f32 x 2))
(-.f32 (pow.f32 x 2) 1)
(+.f32 (pow.f32 x 2) -1)
(+.f32 -1 (pow.f32 x 2))
(-.f32 (pow.f32 x 2) 1)
(+.f32 (pow.f32 x 2) -1)
(+.f32 -1 (pow.f32 x 2))
(pow.f32 x 2)
(-.f32 (pow.f32 x 2) 1)
(+.f32 (pow.f32 x 2) -1)
(+.f32 -1 (pow.f32 x 2))
(-.f32 (pow.f32 x 2) 1)
(+.f32 (pow.f32 x 2) -1)
(+.f32 -1 (pow.f32 x 2))
(-.f32 (pow.f32 x 2) 1)
(+.f32 (pow.f32 x 2) -1)
(+.f32 -1 (pow.f32 x 2))
(pow.f32 x 2)
(-.f32 (pow.f32 x 2) 1)
(+.f32 (pow.f32 x 2) -1)
(+.f32 -1 (pow.f32 x 2))
(-.f32 (pow.f32 x 2) 1)
(+.f32 (pow.f32 x 2) -1)
(+.f32 -1 (pow.f32 x 2))
(-.f32 (pow.f32 x 2) 1)
(+.f32 (pow.f32 x 2) -1)
(+.f32 -1 (pow.f32 x 2))
(+.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)))
(+.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 0)
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(+.f32 0 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))))
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(-.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 0)
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(*.f32 1 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))))
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 1)
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(*.f32 2 (/.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2))
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(*.f32 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2) 1/2)
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2))
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(*.f32 (/.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2) 2)
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(/.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 1)
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(/.f32 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 2) 2)
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(/.f32 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 4) 4)
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 4)) 8)
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1)))) 4))) 16)
(log.f32 (+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x)))))
(-.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 0)
(+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x))))
(*.f32 1 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))))
(+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x))))
(*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 1)
(+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x))))
(*.f32 2 (/.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2))
(+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x))))
(*.f32 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2) 1/2)
(+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x))))
(*.f32 1/2 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2))
(+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x))))
(*.f32 (/.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2) 2)
(+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x))))
(/.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 1)
(+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x))))
(/.f32 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 2) 2)
(+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x))))
(/.f32 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 4) 4)
(+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x))))
(/.f32 (*.f32 2 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 4)) 8)
(+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x))))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 4)) (*.f32 2 (*.f32 (+.f32 x (sqrt.f32 (+.f32 (*.f32 x x) -1))) 4))) 16)
(+.f32 x (sqrt.f32 (+.f32 -1 (*.f32 x x))))
(+.f32 (*.f32 x x) -1)
(+.f32 -1 (*.f32 x x))
(+.f32 (+.f32 (*.f32 x x) -1) 0)
(+.f32 -1 (*.f32 x x))
(+.f32 0 (+.f32 (*.f32 x x) -1))
(+.f32 -1 (*.f32 x x))
(+.f32 -1 (*.f32 x x))
(*.f32 1 (+.f32 (*.f32 x x) -1))
(+.f32 -1 (*.f32 x x))
(*.f32 (+.f32 (*.f32 x x) -1) 1)
(+.f32 -1 (*.f32 x x))
(*.f32 2 (/.f32 (+.f32 (*.f32 x x) -1) 2))
(+.f32 -1 (*.f32 x x))
(*.f32 (*.f32 (+.f32 (*.f32 x x) -1) 2) 1/2)
(+.f32 -1 (*.f32 x x))
(*.f32 1/2 (*.f32 (+.f32 (*.f32 x x) -1) 2))
(+.f32 -1 (*.f32 x x))
(*.f32 (/.f32 (+.f32 (*.f32 x x) -1) 2) 2)
(+.f32 -1 (*.f32 x x))
(/.f32 (+.f32 (*.f32 x x) -1) 1)
(+.f32 -1 (*.f32 x x))
(/.f32 (*.f32 (+.f32 (*.f32 x x) -1) 2) 2)
(+.f32 -1 (*.f32 x x))
(/.f32 (*.f32 (+.f32 (*.f32 x x) -1) 4) 4)
(+.f32 -1 (*.f32 x x))
(/.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 x x) -1) 4)) 8)
(+.f32 -1 (*.f32 x x))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 x x) -1) 4)) (*.f32 2 (*.f32 (+.f32 (*.f32 x x) -1) 4))) 16)
(+.f32 -1 (*.f32 x x))

eval66.0ms (0.6%)

Compiler

Compiled 3096 to 2508 computations (19% saved)

prune32.0ms (0.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1646170
Fresh000
Picked011
Done000
Total1647171
Error
0.0b
Counts
171 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.6b
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6))))))
1.3b
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
31.0b
(log.f32 (/.f32 1/2 x))
0.7b
(log.f32 (-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x))))
0.7b
(log.f32 (+.f32 x (-.f32 x (*.f32 1/2 (/.f32 1 x)))))
16.0b
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
1.1b
(log.f32 (+.f32 x x))
Compiler

Compiled 158 to 127 computations (19.6% saved)

localize139.0ms (1.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f32 1 (pow.f32 x 4))
0.3b
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
0.4b
(/.f32 1 (pow.f32 x 6))
1.0b
(/.f32 1 (pow.f32 x 2))
Compiler

Compiled 146 to 123 computations (15.8% saved)

series52.0ms (0.5%)

Counts
4 → 12
Calls

12 calls:

TimeVariablePointExpression
36.0ms
x
@0
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
9.0ms
x
@-inf
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
5.0ms
x
@inf
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
0.0ms
x
@0
(/.f32 1 (pow.f32 x 6))
0.0ms
x
@0
(/.f32 1 (pow.f32 x 4))

rewrite92.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1998×bool.json-1
1998×bool.json-2
1478×bool.json-3
878×rational.json-simplify-35
836×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01964
119664
251864
3107864
4247764
5618164
Stop Event
node limit
Counts
4 → 44
Calls
Call 1
Inputs
(/.f32 1 (pow.f32 x 2))
(/.f32 1 (pow.f32 x 6))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(/.f32 1 (pow.f32 x 4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 1 (pow.f32 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 1 (pow.f32 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 1 (pow.f32 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 1 (pow.f32 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 1/2 (pow.f32 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (/.f32 1/2 (pow.f32 x 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (pow.f32 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 2 (pow.f32 x 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (/.f32 2 (pow.f32 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (pow.f32 x 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f32 1 (pow.f32 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f32 1 (pow.f32 x 2)) (/.f32 1 (pow.f32 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f32 1 (pow.f32 x 2)) (/.f32 1 (pow.f32 x 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 1 (pow.f32 x 6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 1 (pow.f32 x 6)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 1 (pow.f32 x 6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 1 (pow.f32 x 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 1/2 (pow.f32 x 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (/.f32 1/2 (pow.f32 x 6)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (pow.f32 x 6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 2 (pow.f32 x 6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (/.f32 2 (pow.f32 x 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (pow.f32 x 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f32 1 (pow.f32 x 6))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f32 1 (pow.f32 x 6)) (/.f32 1 (pow.f32 x 6)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f32 1 (pow.f32 x 6)) (/.f32 1 (pow.f32 x 6)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (log.f32 2) (-.f32 1 (log.f32 (/.f32 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (/.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 2 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 4)) (*.f32 2 (*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 1 (pow.f32 x 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 1 (pow.f32 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 1 (pow.f32 x 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 1 (pow.f32 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 1/2 (pow.f32 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (/.f32 1/2 (pow.f32 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (pow.f32 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 2 (pow.f32 x 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (/.f32 2 (pow.f32 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (pow.f32 x 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f32 1 (pow.f32 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f32 1 (pow.f32 x 4)) (/.f32 1 (pow.f32 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f32 1 (pow.f32 x 4)) (/.f32 1 (pow.f32 x 4)))))))

simplify544.0ms (5.3%)

Algorithm
egg-herbie
Rules
3738×rational.json-simplify-48
2868×rational.json-simplify-1
2010×rational.json-simplify-35
1240×rational.json-simplify-41
936×rational.json-simplify-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0941122
11611114
22561114
35071114
410631114
525921114
629061114
730191114
831031114
931701114
1032401114
1139421114
1240411114
1342531114
1448221114
1549231114
1649731114
1750231114
1850731114
1951231114
2062501114
2168041114
2269911114
2370521114
2471041114
2576461114
2678031114
2778031114
Stop Event
node limit
Counts
56 → 52
Calls
Call 1
Inputs
(-.f32 (log.f32 2) (*.f32 -1 (log.f32 x)))
(-.f32 (log.f32 2) (*.f32 -1 (log.f32 x)))
(-.f32 (log.f32 2) (*.f32 -1 (log.f32 x)))
(-.f32 (log.f32 2) (*.f32 -1 (log.f32 x)))
(-.f32 (log.f32 2) (log.f32 (/.f32 1 x)))
(-.f32 (log.f32 2) (log.f32 (/.f32 1 x)))
(-.f32 (log.f32 2) (log.f32 (/.f32 1 x)))
(-.f32 (log.f32 2) (log.f32 (/.f32 1 x)))
(-.f32 (log.f32 2) (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1)))
(-.f32 (log.f32 2) (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1)))
(-.f32 (log.f32 2) (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1)))
(-.f32 (log.f32 2) (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1)))
(+.f32 (/.f32 1 (pow.f32 x 2)) 0)
(+.f32 0 (/.f32 1 (pow.f32 x 2)))
(-.f32 (/.f32 1 (pow.f32 x 2)) 0)
(*.f32 1 (/.f32 1 (pow.f32 x 2)))
(*.f32 2 (/.f32 1/2 (pow.f32 x 2)))
(*.f32 2 (*.f32 (/.f32 1/2 (pow.f32 x 2)) 1))
(*.f32 (/.f32 1 (pow.f32 x 2)) 1)
(*.f32 (/.f32 2 (pow.f32 x 2)) 1/2)
(*.f32 1/2 (/.f32 2 (pow.f32 x 2)))
(*.f32 (/.f32 1/2 (pow.f32 x 2)) 2)
(+.f32 (/.f32 1 (pow.f32 x 6)) 0)
(+.f32 0 (/.f32 1 (pow.f32 x 6)))
(-.f32 (/.f32 1 (pow.f32 x 6)) 0)
(*.f32 1 (/.f32 1 (pow.f32 x 6)))
(*.f32 2 (/.f32 1/2 (pow.f32 x 6)))
(*.f32 2 (*.f32 (/.f32 1/2 (pow.f32 x 6)) 1))
(*.f32 (/.f32 1 (pow.f32 x 6)) 1)
(*.f32 (/.f32 2 (pow.f32 x 6)) 1/2)
(*.f32 1/2 (/.f32 2 (pow.f32 x 6)))
(*.f32 (/.f32 1/2 (pow.f32 x 6)) 2)
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 0)
(-.f32 (+.f32 (log.f32 2) (-.f32 1 (log.f32 (/.f32 1 x)))) 1)
(*.f32 1 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))))
(*.f32 2 (/.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 2))
(*.f32 2 (*.f32 (/.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 2) 1))
(*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 1)
(*.f32 (*.f32 2 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))) 1/2)
(*.f32 1/2 (*.f32 2 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))))
(*.f32 (/.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 2) 2)
(/.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 1)
(/.f32 (*.f32 2 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))) 2)
(/.f32 (*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 4)) (*.f32 2 (*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 4))) 16)
(+.f32 (/.f32 1 (pow.f32 x 4)) 0)
(+.f32 0 (/.f32 1 (pow.f32 x 4)))
(-.f32 (/.f32 1 (pow.f32 x 4)) 0)
(*.f32 1 (/.f32 1 (pow.f32 x 4)))
(*.f32 2 (/.f32 1/2 (pow.f32 x 4)))
(*.f32 2 (*.f32 (/.f32 1/2 (pow.f32 x 4)) 1))
(*.f32 (/.f32 1 (pow.f32 x 4)) 1)
(*.f32 (/.f32 2 (pow.f32 x 4)) 1/2)
(*.f32 1/2 (/.f32 2 (pow.f32 x 4)))
(*.f32 (/.f32 1/2 (pow.f32 x 4)) 2)
Outputs
(-.f32 (log.f32 2) (*.f32 -1 (log.f32 x)))
(-.f32 (log.f32 2) (neg.f32 (log.f32 x)))
(-.f32 (log.f32 2) (*.f32 -1 (log.f32 x)))
(-.f32 (log.f32 2) (neg.f32 (log.f32 x)))
(-.f32 (log.f32 2) (*.f32 -1 (log.f32 x)))
(-.f32 (log.f32 2) (neg.f32 (log.f32 x)))
(-.f32 (log.f32 2) (*.f32 -1 (log.f32 x)))
(-.f32 (log.f32 2) (neg.f32 (log.f32 x)))
(-.f32 (log.f32 2) (log.f32 (/.f32 1 x)))
(-.f32 (log.f32 2) (log.f32 (/.f32 1 x)))
(-.f32 (log.f32 2) (log.f32 (/.f32 1 x)))
(-.f32 (log.f32 2) (log.f32 (/.f32 1 x)))
(-.f32 (log.f32 2) (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1)))
(-.f32 (log.f32 2) (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1)))
(-.f32 (log.f32 2) (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1)))
(-.f32 (log.f32 2) (+.f32 (log.f32 (/.f32 -1 x)) (log.f32 -1)))
(+.f32 (/.f32 1 (pow.f32 x 2)) 0)
(/.f32 1 (pow.f32 x 2))
(+.f32 0 (/.f32 1 (pow.f32 x 2)))
(/.f32 1 (pow.f32 x 2))
(-.f32 (/.f32 1 (pow.f32 x 2)) 0)
(/.f32 1 (pow.f32 x 2))
(*.f32 1 (/.f32 1 (pow.f32 x 2)))
(/.f32 1 (pow.f32 x 2))
(*.f32 2 (/.f32 1/2 (pow.f32 x 2)))
(*.f32 2 (*.f32 (/.f32 1/2 (pow.f32 x 2)) 1))
(*.f32 2 (/.f32 1/2 (pow.f32 x 2)))
(*.f32 (/.f32 1 (pow.f32 x 2)) 1)
(/.f32 1 (pow.f32 x 2))
(*.f32 (/.f32 2 (pow.f32 x 2)) 1/2)
(*.f32 1/2 (/.f32 2 (pow.f32 x 2)))
(*.f32 1/2 (/.f32 2 (pow.f32 x 2)))
(*.f32 (/.f32 1/2 (pow.f32 x 2)) 2)
(*.f32 2 (/.f32 1/2 (pow.f32 x 2)))
(+.f32 (/.f32 1 (pow.f32 x 6)) 0)
(/.f32 1 (pow.f32 x 6))
(+.f32 0 (/.f32 1 (pow.f32 x 6)))
(/.f32 1 (pow.f32 x 6))
(-.f32 (/.f32 1 (pow.f32 x 6)) 0)
(/.f32 1 (pow.f32 x 6))
(*.f32 1 (/.f32 1 (pow.f32 x 6)))
(/.f32 1 (pow.f32 x 6))
(*.f32 2 (/.f32 1/2 (pow.f32 x 6)))
(*.f32 2 (*.f32 (/.f32 1/2 (pow.f32 x 6)) 1))
(*.f32 2 (/.f32 1/2 (pow.f32 x 6)))
(*.f32 (/.f32 1 (pow.f32 x 6)) 1)
(/.f32 1 (pow.f32 x 6))
(*.f32 (/.f32 2 (pow.f32 x 6)) 1/2)
(*.f32 1/2 (/.f32 2 (pow.f32 x 6)))
(*.f32 1/2 (/.f32 2 (pow.f32 x 6)))
(*.f32 (/.f32 1/2 (pow.f32 x 6)) 2)
(*.f32 2 (/.f32 1/2 (pow.f32 x 6)))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 0)
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (log.f32 2) (-.f32 1 (log.f32 (/.f32 1 x)))) 1)
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(*.f32 1 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(*.f32 2 (/.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 2))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(*.f32 2 (*.f32 (/.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 2) 1))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 1)
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(*.f32 (*.f32 2 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))) 1/2)
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(*.f32 1/2 (*.f32 2 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(*.f32 (/.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 2) 2)
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(/.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 1)
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(/.f32 (*.f32 2 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))) 2)
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(/.f32 (*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 4) 4)
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(/.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 4)) 8)
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 4)) (*.f32 2 (*.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) 4))) 16)
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (/.f32 1 (pow.f32 x 4)) 0)
(/.f32 1 (pow.f32 x 4))
(+.f32 0 (/.f32 1 (pow.f32 x 4)))
(/.f32 1 (pow.f32 x 4))
(-.f32 (/.f32 1 (pow.f32 x 4)) 0)
(/.f32 1 (pow.f32 x 4))
(*.f32 1 (/.f32 1 (pow.f32 x 4)))
(/.f32 1 (pow.f32 x 4))
(*.f32 2 (/.f32 1/2 (pow.f32 x 4)))
(*.f32 2 (*.f32 (/.f32 1/2 (pow.f32 x 4)) 1))
(*.f32 2 (/.f32 1/2 (pow.f32 x 4)))
(*.f32 (/.f32 1 (pow.f32 x 4)) 1)
(/.f32 1 (pow.f32 x 4))
(*.f32 (/.f32 2 (pow.f32 x 4)) 1/2)
(*.f32 1/2 (/.f32 2 (pow.f32 x 4)))
(*.f32 1/2 (/.f32 2 (pow.f32 x 4)))
(*.f32 (/.f32 1/2 (pow.f32 x 4)) 2)
(*.f32 2 (/.f32 1/2 (pow.f32 x 4)))

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(log.f32 (+.f32 x x))
Compiler

Compiled 9 to 3 computations (66.7% saved)

series42.0ms (0.4%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
26.0ms
x
@-inf
(log.f32 (+.f32 x x))
10.0ms
x
@0
(log.f32 (+.f32 x x))
6.0ms
x
@inf
(log.f32 (+.f32 x x))

rewrite89.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1600×bool.json-1
1600×bool.json-2
1546×rational.json-1
1546×rational.json-2
1546×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
15911
217411
336011
473311
5156811
6366411
7641911
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(log.f32 (+.f32 x x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (log.f32 (+.f32 x x)) 1/2) (*.f32 (log.f32 (+.f32 x x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (log.f32 (+.f32 x x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (*.f32 (log.f32 (+.f32 x x)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (+.f32 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x x)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (log.f32 (+.f32 x x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x x)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 8))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (log.f32 (+.f32 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (log.f32 (+.f32 x x)) (log.f32 (+.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (log.f32 (+.f32 x x)) (log.f32 (+.f32 x x)))))))

simplify812.0ms (8%)

Algorithm
egg-herbie
Rules
9080×rational.json-simplify-41
2088×rational.json-simplify-35
1772×rational.json-simplify-2
974×rational.json-simplify-49
918×rational.json-simplify-51
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
061518
1113502
2309502
3726502
41122502
52275502
62945502
73012502
83057502
93094502
103129502
113164502
123220502
133255502
143290502
153325502
163360502
173395502
183430502
194134502
204516502
214557502
224596502
234634502
244672502
254710502
264748502
274786502
284824502
294862502
304900502
314938502
324976502
335014502
345052502
355052502
365090502
Stop Event
node limit
Counts
34 → 28
Calls
Call 1
Inputs
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (log.f32 (+.f32 x x)) 0)
(+.f32 0 (log.f32 (+.f32 x x)))
(+.f32 (*.f32 (log.f32 (+.f32 x x)) 1/2) (*.f32 (log.f32 (+.f32 x x)) 1/2))
(-.f32 (log.f32 (+.f32 x x)) 0)
(*.f32 (log.f32 (+.f32 x x)) 1)
(*.f32 1 (log.f32 (+.f32 x x)))
(*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 1/2))
(*.f32 (*.f32 (log.f32 (+.f32 x x)) 2) 1/2)
(*.f32 4 (*.f32 (log.f32 (+.f32 x x)) 1/4))
(*.f32 (*.f32 (log.f32 (+.f32 x x)) 4) 1/4)
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x x)) 2))
(*.f32 (*.f32 (log.f32 (+.f32 x x)) 8) 1/8)
(*.f32 (*.f32 (log.f32 (+.f32 x x)) 1/2) 2)
(*.f32 1/4 (*.f32 (log.f32 (+.f32 x x)) 4))
(*.f32 (*.f32 (log.f32 (+.f32 x x)) 1/4) 4)
(/.f32 (log.f32 (+.f32 x x)) 1)
(/.f32 (*.f32 (log.f32 (+.f32 x x)) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 x x)) 4) 4)
(/.f32 (*.f32 (log.f32 (+.f32 x x)) 8) 8)
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 8)) 16)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 8))) 32)
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 8))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 8)))) 64)
Outputs
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (log.f32 (+.f32 x x)) 0)
(log.f32 (+.f32 x x))
(+.f32 0 (log.f32 (+.f32 x x)))
(log.f32 (+.f32 x x))
(+.f32 (*.f32 (log.f32 (+.f32 x x)) 1/2) (*.f32 (log.f32 (+.f32 x x)) 1/2))
(log.f32 (+.f32 x x))
(-.f32 (log.f32 (+.f32 x x)) 0)
(log.f32 (+.f32 x x))
(*.f32 (log.f32 (+.f32 x x)) 1)
(log.f32 (+.f32 x x))
(*.f32 1 (log.f32 (+.f32 x x)))
(log.f32 (+.f32 x x))
(*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 1/2))
(log.f32 (+.f32 x x))
(*.f32 (*.f32 (log.f32 (+.f32 x x)) 2) 1/2)
(log.f32 (+.f32 x x))
(*.f32 4 (*.f32 (log.f32 (+.f32 x x)) 1/4))
(log.f32 (+.f32 x x))
(*.f32 (*.f32 (log.f32 (+.f32 x x)) 4) 1/4)
(log.f32 (+.f32 x x))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x x)) 2))
(log.f32 (+.f32 x x))
(*.f32 (*.f32 (log.f32 (+.f32 x x)) 8) 1/8)
(log.f32 (+.f32 x x))
(*.f32 (*.f32 (log.f32 (+.f32 x x)) 1/2) 2)
(log.f32 (+.f32 x x))
(*.f32 1/4 (*.f32 (log.f32 (+.f32 x x)) 4))
(log.f32 (+.f32 x x))
(*.f32 (*.f32 (log.f32 (+.f32 x x)) 1/4) 4)
(log.f32 (+.f32 x x))
(/.f32 (log.f32 (+.f32 x x)) 1)
(log.f32 (+.f32 x x))
(/.f32 (*.f32 (log.f32 (+.f32 x x)) 2) 2)
(log.f32 (+.f32 x x))
(/.f32 (*.f32 (log.f32 (+.f32 x x)) 4) 4)
(log.f32 (+.f32 x x))
(/.f32 (*.f32 (log.f32 (+.f32 x x)) 8) 8)
(log.f32 (+.f32 x x))
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 8)) 16)
(log.f32 (+.f32 x x))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 8))) 32)
(log.f32 (+.f32 x x))
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 8))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x x)) 8)))) 64)
(log.f32 (+.f32 x x))

localize19.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 10 to 7 computations (30% saved)

series28.0ms (0.3%)

Counts
2 → 12
Calls

6 calls:

TimeVariablePointExpression
13.0ms
x
@-inf
(log.f32 (/.f32 1/2 x))
9.0ms
x
@0
(log.f32 (/.f32 1/2 x))
5.0ms
x
@inf
(log.f32 (/.f32 1/2 x))
0.0ms
x
@0
(/.f32 1/2 x)
0.0ms
x
@inf
(/.f32 1/2 x)

rewrite87.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1964×bool.json-1
1964×bool.json-2
890×rational.json-simplify-35
756×rational.json-1
756×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0718
17118
221018
348218
4102718
5253818
6687818
Stop Event
node limit
Counts
2 → 42
Calls
Call 1
Inputs
(/.f32 1/2 x)
(log.f32 (/.f32 1/2 x))
Outputs
((#(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/4 x) (/.f32 1/4 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 1/2 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (/.f32 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 x (/.f32 1/2 (*.f32 x x)))))) (#(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 (+.f32 x x) (/.f32 1/4 (*.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 1/4 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (/.f32 1/4 (*.f32 x x)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x 4) (/.f32 1/8 (*.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (/.f32 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/4 x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/4 (*.f32 x x)) (+.f32 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 (*.f32 x x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/8 x) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 2 x) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/8 (*.f32 x x)) (*.f32 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 -1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f32 1/2 x) (/.f32 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f32 1/2 x) (/.f32 1/2 x))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (/.f32 1/2 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (log.f32 (/.f32 1/2 x))) (*.f32 1/2 (log.f32 (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (/.f32 1/2 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (/.f32 1/2 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (/.f32 1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (log.f32 (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (log.f32 (/.f32 1/2 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (log.f32 (/.f32 1/2 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (log.f32 (/.f32 1/2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (/.f32 1/2 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (/.f32 1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 1/2 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 1/2 x)) 8)) (*.f32 2 (*.f32 (log.f32 (/.f32 1/2 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (log.f32 (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (log.f32 (/.f32 1/2 x)) (log.f32 (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (log.f32 (/.f32 1/2 x)) (log.f32 (/.f32 1/2 x)))))))

simplify99.0ms (1%)

Algorithm
egg-herbie
Rules
1232×rational.json-simplify-61
1070×rational.json-simplify-35
966×rational.json-simplify-51
962×rational.json-simplify-1
592×rational.json-simplify-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
089800
1157792
2360792
3858792
41796792
55747792
67351792
Stop Event
node limit
Counts
54 → 51
Calls
Call 1
Inputs
(+.f32 (log.f32 1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 1/2))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 1/2))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 1/2))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 1/2))
(+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x)))
(+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x)))
(+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x)))
(+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x)))
(+.f32 (/.f32 1/2 x) 0)
(+.f32 0 (/.f32 1/2 x))
(+.f32 (/.f32 1/4 x) (/.f32 1/4 x))
(-.f32 (/.f32 1/2 x) 0)
(*.f32 1/2 (/.f32 1 x))
(*.f32 x (/.f32 1/2 (*.f32 x x)))
(*.f32 (/.f32 1/2 x) 1)
(*.f32 1 (/.f32 1/2 x))
(*.f32 (+.f32 x x) (/.f32 1/4 (*.f32 x x)))
(*.f32 2 (/.f32 1/4 x))
(*.f32 2 (*.f32 (/.f32 1/4 (*.f32 x x)) x))
(*.f32 (/.f32 1 x) 1/2)
(*.f32 (*.f32 x 4) (/.f32 1/8 (*.f32 x x)))
(*.f32 4 (/.f32 1/8 x))
(*.f32 1/4 (/.f32 2 x))
(*.f32 (/.f32 1/4 x) 2)
(*.f32 (/.f32 1/4 (*.f32 x x)) (+.f32 x x))
(*.f32 (/.f32 1/2 (*.f32 x x)) x)
(*.f32 (/.f32 1/8 x) 4)
(*.f32 (/.f32 2 x) 1/4)
(*.f32 (/.f32 1/8 (*.f32 x x)) (*.f32 x 4))
(neg.f32 (/.f32 -1/2 x))
(+.f32 (log.f32 (/.f32 1/2 x)) 0)
(+.f32 0 (log.f32 (/.f32 1/2 x)))
(+.f32 (*.f32 1/2 (log.f32 (/.f32 1/2 x))) (*.f32 1/2 (log.f32 (/.f32 1/2 x))))
(-.f32 (log.f32 (/.f32 1/2 x)) 0)
(*.f32 1/2 (*.f32 (log.f32 (/.f32 1/2 x)) 2))
(*.f32 (log.f32 (/.f32 1/2 x)) 1)
(*.f32 1 (log.f32 (/.f32 1/2 x)))
(*.f32 2 (*.f32 1/2 (log.f32 (/.f32 1/2 x))))
(*.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 2) 1/2)
(*.f32 4 (/.f32 (log.f32 (/.f32 1/2 x)) 4))
(*.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 4) 1/4)
(*.f32 1/4 (*.f32 (log.f32 (/.f32 1/2 x)) 4))
(*.f32 (*.f32 1/2 (log.f32 (/.f32 1/2 x))) 2)
(*.f32 (/.f32 (log.f32 (/.f32 1/2 x)) 4) 4)
(/.f32 (log.f32 (/.f32 1/2 x)) 1)
(/.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 2) 2)
(/.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 4) 4)
(/.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 8) 8)
(/.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 1/2 x)) 8)) 16)
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 1/2 x)) 8)) (*.f32 2 (*.f32 (log.f32 (/.f32 1/2 x)) 8))) 32)
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 -1 (log.f32 x)))
(+.f32 (log.f32 1/2) (neg.f32 (log.f32 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 -1 (log.f32 x)))
(+.f32 (log.f32 1/2) (neg.f32 (log.f32 x)))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 1/2))
(+.f32 (log.f32 1/2) (log.f32 (/.f32 1 x)))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 1/2))
(+.f32 (log.f32 1/2) (log.f32 (/.f32 1 x)))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 1/2))
(+.f32 (log.f32 1/2) (log.f32 (/.f32 1 x)))
(+.f32 (log.f32 (/.f32 1 x)) (log.f32 1/2))
(+.f32 (log.f32 1/2) (log.f32 (/.f32 1 x)))
(+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x)))
(+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x)))
(+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x)))
(+.f32 (log.f32 -1/2) (log.f32 (/.f32 -1 x)))
(+.f32 (/.f32 1/2 x) 0)
(/.f32 1/2 x)
(+.f32 0 (/.f32 1/2 x))
(/.f32 1/2 x)
(+.f32 (/.f32 1/4 x) (/.f32 1/4 x))
(-.f32 (/.f32 1/2 x) 0)
(/.f32 1/2 x)
(*.f32 1/2 (/.f32 1 x))
(*.f32 x (/.f32 1/2 (*.f32 x x)))
(*.f32 (/.f32 1/2 x) 1)
(/.f32 1/2 x)
(*.f32 1 (/.f32 1/2 x))
(/.f32 1/2 x)
(*.f32 (+.f32 x x) (/.f32 1/4 (*.f32 x x)))
(*.f32 x (*.f32 (/.f32 1/4 (*.f32 x x)) 2))
(*.f32 2 (/.f32 1/4 x))
(*.f32 (/.f32 1/4 x) 2)
(*.f32 2 (*.f32 (/.f32 1/4 (*.f32 x x)) x))
(*.f32 (+.f32 x x) (/.f32 1/4 (*.f32 x x)))
(*.f32 x (*.f32 (/.f32 1/4 (*.f32 x x)) 2))
(*.f32 (/.f32 1 x) 1/2)
(*.f32 1/2 (/.f32 1 x))
(*.f32 (*.f32 x 4) (/.f32 1/8 (*.f32 x x)))
(*.f32 x (*.f32 4 (/.f32 1/8 (*.f32 x x))))
(*.f32 4 (/.f32 1/8 x))
(*.f32 1/4 (/.f32 2 x))
(*.f32 (/.f32 1/4 x) 2)
(*.f32 (/.f32 1/4 (*.f32 x x)) (+.f32 x x))
(*.f32 (+.f32 x x) (/.f32 1/4 (*.f32 x x)))
(*.f32 x (*.f32 (/.f32 1/4 (*.f32 x x)) 2))
(*.f32 (/.f32 1/2 (*.f32 x x)) x)
(*.f32 x (/.f32 1/2 (*.f32 x x)))
(*.f32 (/.f32 1/8 x) 4)
(*.f32 4 (/.f32 1/8 x))
(*.f32 (/.f32 2 x) 1/4)
(*.f32 1/4 (/.f32 2 x))
(*.f32 (/.f32 1/8 (*.f32 x x)) (*.f32 x 4))
(*.f32 (*.f32 x 4) (/.f32 1/8 (*.f32 x x)))
(*.f32 x (*.f32 4 (/.f32 1/8 (*.f32 x x))))
(neg.f32 (/.f32 -1/2 x))
(/.f32 1/2 x)
(+.f32 (log.f32 (/.f32 1/2 x)) 0)
(log.f32 (/.f32 1/2 x))
(+.f32 0 (log.f32 (/.f32 1/2 x)))
(log.f32 (/.f32 1/2 x))
(+.f32 (*.f32 1/2 (log.f32 (/.f32 1/2 x))) (*.f32 1/2 (log.f32 (/.f32 1/2 x))))
(log.f32 (/.f32 1/2 x))
(-.f32 (log.f32 (/.f32 1/2 x)) 0)
(log.f32 (/.f32 1/2 x))
(*.f32 1/2 (*.f32 (log.f32 (/.f32 1/2 x)) 2))
(log.f32 (/.f32 1/2 x))
(*.f32 (log.f32 (/.f32 1/2 x)) 1)
(log.f32 (/.f32 1/2 x))
(*.f32 1 (log.f32 (/.f32 1/2 x)))
(log.f32 (/.f32 1/2 x))
(*.f32 2 (*.f32 1/2 (log.f32 (/.f32 1/2 x))))
(log.f32 (/.f32 1/2 x))
(*.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 2) 1/2)
(log.f32 (/.f32 1/2 x))
(*.f32 4 (/.f32 (log.f32 (/.f32 1/2 x)) 4))
(log.f32 (/.f32 1/2 x))
(*.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 4) 1/4)
(log.f32 (/.f32 1/2 x))
(*.f32 1/4 (*.f32 (log.f32 (/.f32 1/2 x)) 4))
(log.f32 (/.f32 1/2 x))
(*.f32 (*.f32 1/2 (log.f32 (/.f32 1/2 x))) 2)
(log.f32 (/.f32 1/2 x))
(*.f32 (/.f32 (log.f32 (/.f32 1/2 x)) 4) 4)
(log.f32 (/.f32 1/2 x))
(/.f32 (log.f32 (/.f32 1/2 x)) 1)
(log.f32 (/.f32 1/2 x))
(/.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 2) 2)
(log.f32 (/.f32 1/2 x))
(/.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 4) 4)
(log.f32 (/.f32 1/2 x))
(/.f32 (*.f32 (log.f32 (/.f32 1/2 x)) 8) 8)
(log.f32 (/.f32 1/2 x))
(/.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 1/2 x)) 8)) 16)
(log.f32 (/.f32 1/2 x))
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (/.f32 1/2 x)) 8)) (*.f32 2 (*.f32 (log.f32 (/.f32 1/2 x)) 8))) 32)
(log.f32 (/.f32 1/2 x))

localize39.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 38 to 27 computations (28.9% saved)

series2.0ms (0%)

Counts
3 → 27
Calls

9 calls:

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

rewrite69.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1254×rational.json-simplify-35
1176×bool.json-1
1176×bool.json-2
1136×rational.json-1
1136×rational.json-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01173
111673
232073
366055
4139455
5363155
Stop Event
node limit
Counts
3 → 75
Calls
Call 1
Inputs
(log.f32 (+.f32 x (-.f32 x (*.f32 1/2 (/.f32 1 x)))))
(+.f32 x (-.f32 x (*.f32 1/2 (/.f32 1 x))))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))) (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (/.f32 -1/2 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 x (+.f32 x (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (/.f32 -1/2 x)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 x (+.f32 x (/.f32 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 x (+.f32 x (/.f32 -1/2 x))) (+.f32 x (+.f32 x (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 x (+.f32 x (/.f32 -1/2 x))) (+.f32 x (+.f32 x (/.f32 -1/2 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 x (/.f32 -1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 x (/.f32 -1/2 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (+.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 (/.f32 -1/2 x) 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/2 (+.f32 x (/.f32 -1/2 x))) (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (neg.f32 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 x (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 x (/.f32 -1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (+.f32 x (/.f32 -1/2 x)) 4))))) (#(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 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1/2 (*.f32 2 (-.f32 (/.f32 1/2 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (+.f32 x x) (/.f32 1 x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 x (/.f32 -1/2 x)) 4) 4)))) (#(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 x (/.f32 -1/2 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 x (/.f32 -1/2 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (-.f32 (/.f32 1/2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 x (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 x (/.f32 -1/2 x)) (+.f32 x (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 x (/.f32 -1/2 x)) (+.f32 x (/.f32 -1/2 x)))))))

simplify185.0ms (1.8%)

Algorithm
egg-herbie
Rules
1566×rational.json-simplify-35
1080×rational.json-simplify-2
902×rational.json-simplify-61
846×rational.json-simplify-1
794×rational.json-simplify-26
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01822240
13542216
28452216
318052216
429392216
536532216
642402216
751442216
860752216
974792216
Stop Event
node limit
Counts
102 → 125
Calls
Call 1
Inputs
(+.f32 (log.f32 -1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -1 (log.f32 x))))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(/.f32 -1/2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(/.f32 -1/2 x)
x
x
(+.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 0)
(+.f32 0 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))
(+.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))) (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))))
(-.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 0)
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2))
(*.f32 1 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))
(*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 1)
(*.f32 2 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))))
(*.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2) 1/2)
(*.f32 4 (/.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))
(*.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 1/4)
(*.f32 1/4 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))
(*.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))) 2)
(*.f32 (/.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 4)
(/.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 1)
(/.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4)) 8)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))) 16)
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4)))) 32)
(-.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 0)
(*.f32 1/2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2))
(*.f32 1/2 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (/.f32 -1/2 x)) 2)))
(*.f32 1 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 1)
(*.f32 2 (*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))
(*.f32 4 (/.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))
(*.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2) 1/2)
(*.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 1/4)
(*.f32 1/4 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))
(*.f32 (*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2)
(*.f32 (/.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 4)
(*.f32 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (/.f32 -1/2 x)) 2)) 1/2)
(/.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 1)
(/.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2) 2)
(/.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4)) 8)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))) 16)
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4)))) 32)
(+.f32 x (/.f32 -1/2 x))
(+.f32 (+.f32 x (/.f32 -1/2 x)) 0)
(+.f32 0 (+.f32 x (/.f32 -1/2 x)))
(+.f32 -1 (+.f32 1 (+.f32 x (/.f32 -1/2 x))))
(+.f32 (/.f32 -1/2 x) x)
(+.f32 (+.f32 1 (+.f32 x (/.f32 -1/2 x))) -1)
(+.f32 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))) (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))))
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (neg.f32 x)))
(*.f32 1/2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2))
(*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1 x)))
(*.f32 1 (+.f32 x (/.f32 -1/2 x)))
(*.f32 (+.f32 x (/.f32 -1/2 x)) 1)
(*.f32 2 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2) 1/2)
(*.f32 4 (/.f32 (+.f32 x (/.f32 -1/2 x)) 4))
(*.f32 (-.f32 (/.f32 1/2 x) x) -1)
(*.f32 -1 (-.f32 (/.f32 1/2 x) x))
(*.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4) 1/4)
(*.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)) -1/2)
(*.f32 -1/2 (*.f32 2 (-.f32 (/.f32 1/2 x) x)))
(*.f32 1/4 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4))
(*.f32 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))) 2)
(*.f32 (-.f32 (+.f32 x x) (/.f32 1 x)) 1/2)
(*.f32 (/.f32 (+.f32 x (/.f32 -1/2 x)) 4) 4)
(/.f32 (+.f32 x (/.f32 -1/2 x)) 1)
(/.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2) 2)
(/.f32 (-.f32 (/.f32 1/2 x) x) -1)
(/.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4) 4)
(/.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)) -2)
(/.f32 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4)) 8)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4))) 16)
(/.f32 (*.f32 2 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) -4)
(/.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) 2)
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4)))) 32)
(/.f32 (+.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)))) 4)
(neg.f32 (-.f32 (/.f32 1/2 x) x))
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 -4 (pow.f32 x 2)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -4 (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (neg.f32 (log.f32 x)) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (log.f32 -1/2) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -1 (log.f32 x))))))
(+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -64/3 (pow.f32 x 6)))) (log.f32 -1/2)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -8 (pow.f32 x 4))))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (neg.f32 (log.f32 x)) (*.f32 -64/3 (pow.f32 x 6))))))
(+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -64/3 (pow.f32 x 6))))))
(+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 -64/3 (pow.f32 x 6))))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (-.f32 (log.f32 2) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6))))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (-.f32 (log.f32 2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (log.f32 2) (-.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (log.f32 -2) (-.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(/.f32 -1/2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(*.f32 2 x)
(*.f32 x 2)
(+.f32 x x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(*.f32 2 x)
(*.f32 x 2)
(+.f32 x x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(/.f32 -1/2 x)
x
x
(+.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 0)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(+.f32 0 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(+.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))) (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(-.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 0)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 1)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 2 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2) 1/2)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 4 (/.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 1/4)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1/4 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))) 2)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (/.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 4)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 1)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2) 2)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 4)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4)) 8)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))) 16)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4)))) 32)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(-.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 0)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1/2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1/2 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (/.f32 -1/2 x)) 2)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 1)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 2 (*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 4 (/.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2) 1/2)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 1/4)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1/4 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (/.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 4)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (/.f32 -1/2 x)) 2)) 1/2)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 1)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2) 2)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 4)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4)) 8)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))) 16)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4)))) 32)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(+.f32 (+.f32 x (/.f32 -1/2 x)) 0)
(+.f32 x (/.f32 -1/2 x))
(+.f32 0 (+.f32 x (/.f32 -1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(+.f32 -1 (+.f32 1 (+.f32 x (/.f32 -1/2 x))))
(+.f32 x (/.f32 -1/2 x))
(+.f32 (/.f32 -1/2 x) x)
(+.f32 x (/.f32 -1/2 x))
(+.f32 (+.f32 1 (+.f32 x (/.f32 -1/2 x))) -1)
(+.f32 x (/.f32 -1/2 x))
(+.f32 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))) (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))))
(+.f32 x (/.f32 -1/2 x))
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (neg.f32 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 1/2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2))
(+.f32 x (/.f32 -1/2 x))
(*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 1 (+.f32 x (/.f32 -1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (+.f32 x (/.f32 -1/2 x)) 1)
(+.f32 x (/.f32 -1/2 x))
(*.f32 2 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2) 1/2)
(+.f32 x (/.f32 -1/2 x))
(*.f32 4 (/.f32 (+.f32 x (/.f32 -1/2 x)) 4))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (-.f32 (/.f32 1/2 x) x) -1)
(+.f32 x (/.f32 -1/2 x))
(*.f32 -1 (-.f32 (/.f32 1/2 x) x))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4) 1/4)
(+.f32 x (/.f32 -1/2 x))
(*.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)) -1/2)
(+.f32 x (/.f32 -1/2 x))
(*.f32 -1/2 (*.f32 2 (-.f32 (/.f32 1/2 x) x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 1/4 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))) 2)
(+.f32 x (/.f32 -1/2 x))
(*.f32 (-.f32 (+.f32 x x) (/.f32 1 x)) 1/2)
(+.f32 x (/.f32 -1/2 x))
(*.f32 (/.f32 (+.f32 x (/.f32 -1/2 x)) 4) 4)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (+.f32 x (/.f32 -1/2 x)) 1)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2) 2)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (-.f32 (/.f32 1/2 x) x) -1)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4) 4)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)) -2)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4)) 8)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4))) 16)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 2 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) -4)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) 2)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4)))) 32)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (+.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)))) 4)
(+.f32 x (/.f32 -1/2 x))
(neg.f32 (-.f32 (/.f32 1/2 x) x))
(+.f32 x (/.f32 -1/2 x))

localize34.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 34 to 21 computations (38.2% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite68.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1332×rational.json-simplify-35
1252×bool.json-1
1252×bool.json-2
1210×rational.json-1
1210×rational.json-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01154
111654
232554
368242
4146242
5389842
Stop Event
node limit
Counts
2 → 56
Calls
Call 1
Inputs
(log.f32 (-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x))))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))) (*.f32 1/2 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x or (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 x (-.f32 x (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 x x) (neg.f32 (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (-.f32 (+.f32 x x) (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 x (/.f32 1/2 x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (+.f32 1 (-.f32 (+.f32 x x) (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (+.f32 x (-.f32 x (+.f32 (/.f32 1/2 x) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 (/.f32 1/2 x)) (+.f32 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (-.f32 (+.f32 x x) (/.f32 1/2 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1/2 x))) (*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 x (-.f32 x (+.f32 (/.f32 1/2 x) -1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (*.f32 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (-.f32 (+.f32 x x) (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (-.f32 (/.f32 1/2 x) (+.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4))) (*.f32 2 (*.f32 2 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x)))) (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f32 (+.f32 x x) (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f32 (+.f32 x x) (/.f32 1/2 x)) (-.f32 (+.f32 x x) (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f32 (+.f32 x x) (/.f32 1/2 x)) (-.f32 (+.f32 x x) (/.f32 1/2 x)))))))

simplify153.0ms (1.5%)

Algorithm
egg-herbie
Rules
1986×rational.json-simplify-35
956×rational.json-simplify-2
904×rational.json-simplify-61
838×rational.json-simplify-41
580×rational.json-simplify-42
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01592086
13122062
26772062
314492062
431182062
540832062
650102062
758132062
878172062
Stop Event
node limit
Counts
80 → 111
Calls
Call 1
Inputs
(+.f32 (log.f32 -1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -1 (log.f32 x))))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(/.f32 -1/2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 0)
(+.f32 0 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))))
(+.f32 (*.f32 1/2 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))) (*.f32 1/2 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))))
(-.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 0)
(*.f32 1/2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 2))
(*.f32 1 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))))
(*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 1)
(*.f32 2 (*.f32 1/2 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))))
(*.f32 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 2) 1/2)
(*.f32 4 (/.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4))
(*.f32 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4) 1/4)
(*.f32 (*.f32 1/2 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))) 2)
(*.f32 1/4 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4))
(*.f32 (/.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4) 4)
(/.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 1)
(/.f32 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 2) 2)
(/.f32 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4)) 8)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4))) 16)
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4)))) 32)
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (neg.f32 (/.f32 1/2 x)))
(+.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 0)
(+.f32 0 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(+.f32 (-.f32 x (/.f32 1/2 x)) x)
(+.f32 -1 (+.f32 1 (-.f32 (+.f32 x x) (/.f32 1/2 x))))
(+.f32 -1 (+.f32 x (-.f32 x (+.f32 (/.f32 1/2 x) -1))))
(+.f32 (neg.f32 (/.f32 1/2 x)) (+.f32 x x))
(+.f32 (+.f32 1 (-.f32 (+.f32 x x) (/.f32 1/2 x))) -1)
(+.f32 (*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1/2 x))) (*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1/2 x))))
(+.f32 (+.f32 x (-.f32 x (+.f32 (/.f32 1/2 x) -1))) -1)
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (*.f32 x -2)))
(*.f32 1/2 (*.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -2))
(*.f32 1 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 1)
(*.f32 2 (*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1/2 x))))
(*.f32 4 (/.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4))
(*.f32 (*.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -2) 1/2)
(*.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -1)
(*.f32 -1 (-.f32 (/.f32 1/2 x) (+.f32 x x)))
(*.f32 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4) 1/4)
(*.f32 1/4 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4))
(*.f32 (*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 2)
(*.f32 (/.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4) 4)
(/.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 1)
(/.f32 (*.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -2) 2)
(/.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -1)
(/.f32 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4) 4)
(/.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x))) -2)
(/.f32 (*.f32 2 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4)) 8)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4))) 16)
(/.f32 (*.f32 2 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x)))) -4)
(/.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x)))) 2)
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4))) (*.f32 2 (*.f32 2 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4)))) 32)
(/.f32 (+.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x)))) (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x))))) 4)
(neg.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)))
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 -4 (pow.f32 x 2)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -4 (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (neg.f32 (log.f32 x)) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (+.f32 (log.f32 -1/2) (neg.f32 (log.f32 x))) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -8 (pow.f32 x 4))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -1 (log.f32 x))))))
(+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -64/3 (pow.f32 x 6)))) (log.f32 -1/2)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -64/3 (pow.f32 x 6))))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -64/3 (pow.f32 x 6))) (*.f32 -4 (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 -64/3 (pow.f32 x 6))) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (-.f32 (log.f32 2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(+.f32 (log.f32 2) (-.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (log.f32 2) (-.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (log.f32 2) (-.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (log.f32 -2) (-.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (log.f32 -2) (-.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6))))))
(/.f32 -1/2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(*.f32 2 x)
(*.f32 x 2)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(*.f32 2 x)
(*.f32 x 2)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(+.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 0)
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(+.f32 0 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))))
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(+.f32 (*.f32 1/2 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))) (*.f32 1/2 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))))
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(-.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 0)
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1/2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 2))
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))))
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 1)
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 2 (*.f32 1/2 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))))
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 2) 1/2)
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 4 (/.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4))
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4) 1/4)
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 1/2 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))) 2)
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1/4 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4))
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (/.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4) 4)
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 1)
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 2) 2)
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4) 4)
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4)) 8)
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4))) 16)
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 4)))) 32)
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (+.f32 x x) (neg.f32 (/.f32 1/2 x)))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 0)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 0 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (-.f32 x (/.f32 1/2 x)) x)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 -1 (+.f32 1 (-.f32 (+.f32 x x) (/.f32 1/2 x))))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 -1 (+.f32 x (-.f32 x (+.f32 (/.f32 1/2 x) -1))))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (neg.f32 (/.f32 1/2 x)) (+.f32 x x))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (+.f32 1 (-.f32 (+.f32 x x) (/.f32 1/2 x))) -1)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1/2 x))) (*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1/2 x))))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (+.f32 x (-.f32 x (+.f32 (/.f32 1/2 x) -1))) -1)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (*.f32 x -2)))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1/2 (*.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -2))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 1)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 2 (*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1/2 x))))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 4 (/.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (*.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -2) 1/2)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -1)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 -1 (-.f32 (/.f32 1/2 x) (+.f32 x x)))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4) 1/4)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1/4 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1/2 x))) 2)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (/.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4) 4)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 1)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -2) 2)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)) -1)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4) 4)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x))) -2)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 2 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4)) 8)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4))) 16)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 2 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x)))) -4)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x)))) 2)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4))) (*.f32 2 (*.f32 2 (*.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)) 4)))) 32)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (+.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x)))) (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) (+.f32 x x))))) 4)
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(neg.f32 (-.f32 (/.f32 1/2 x) (+.f32 x x)))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))

eval118.0ms (1.2%)

Compiler

Compiled 5932 to 4713 computations (20.5% saved)

prune62.0ms (0.6%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New3625367
Fresh101
Picked101
Done235
Total3668374
Error
0.0b
Counts
374 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
0.6b
(-.f32 (-.f32 (log.f32 2) (neg.f32 (log.f32 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6))))))
1.3b
(+.f32 (log.f32 2) (log.f32 x))
31.0b
(log.f32 (/.f32 1/2 x))
0.7b
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
0.7b
(log.f32 (+.f32 (-.f32 x (/.f32 1/2 x)) x))
0.7b
(log.f32 (+.f32 x (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (neg.f32 x)))))
16.0b
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
1.1b
(log.f32 (+.f32 x x))
Compiler

Compiled 158 to 124 computations (21.5% saved)

localize116.0ms (1.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f32 1 (pow.f32 x 4))
0.3b
(-.f32 (log.f32 2) (neg.f32 (log.f32 x)))
0.4b
(/.f32 1 (pow.f32 x 6))
1.0b
(/.f32 1 (pow.f32 x 2))
Compiler

Compiled 135 to 108 computations (20% saved)

series8.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
7.0ms
x
@-inf
(-.f32 (log.f32 2) (neg.f32 (log.f32 x)))
0.0ms
x
@0
(-.f32 (log.f32 2) (neg.f32 (log.f32 x)))
0.0ms
x
@inf
(-.f32 (log.f32 2) (neg.f32 (log.f32 x)))

rewrite79.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1480×bool.json-1
1480×bool.json-2
1426×rational.json-1
1426×rational.json-2
1426×rational.json-4
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0919
19019
225119
353615
4114815
5261715
6561415
Stop Event
node limit
Counts
1 → 42
Calls
Call 1
Inputs
(-.f32 (log.f32 2) (neg.f32 (log.f32 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 2) (log.f32 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 x) (log.f32 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (log.f32 2) (log.f32 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (+.f32 (log.f32 2) (log.f32 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (+.f32 (log.f32 2) (+.f32 (log.f32 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (log.f32 x) -1) (+.f32 (log.f32 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (log.f32 2) (+.f32 (log.f32 x) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (log.f32 2) 1) (+.f32 (log.f32 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2) (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (log.f32 x) 1) (+.f32 (log.f32 2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (log.f32 2) -1) (+.f32 (log.f32 x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (+.f32 (*.f32 (log.f32 x) 1/2) (*.f32 (log.f32 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (+.f32 (*.f32 (log.f32 2) 1/2) (*.f32 (log.f32 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (-.f32 (*.f32 (log.f32 2) 1/2) (*.f32 (log.f32 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (log.f32 2) (log.f32 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (log.f32 2) (log.f32 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (+.f32 (*.f32 2 (log.f32 x)) (*.f32 2 (log.f32 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (+.f32 (*.f32 2 (log.f32 2)) (*.f32 2 (log.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (-.f32 (*.f32 2 (log.f32 2)) (*.f32 (log.f32 x) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (log.f32 2) (log.f32 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8)) (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (neg.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) -2)) (neg.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) -2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)) 4) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 (log.f32 2) (log.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 (log.f32 2) (log.f32 x)) (+.f32 (log.f32 2) (log.f32 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 (log.f32 2) (log.f32 x)) (+.f32 (log.f32 2) (log.f32 x)))))))

simplify213.0ms (2.1%)

Algorithm
egg-herbie
Rules
2162×rational.json-simplify-45
1720×rational.json-simplify-42
1566×rational.json-simplify-35
1326×rational.json-simplify-2
1042×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0102982
1212966
2507966
31585966
42489966
53421966
64294966
74646966
84910966
95045966
105174966
117873966
Stop Event
node limit
Counts
54 → 46
Calls
Call 1
Inputs
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 x) (log.f32 2))
(+.f32 (+.f32 (log.f32 2) (log.f32 x)) 0)
(+.f32 0 (+.f32 (log.f32 2) (log.f32 x)))
(+.f32 -1 (+.f32 (log.f32 2) (+.f32 (log.f32 x) 1)))
(+.f32 (+.f32 (log.f32 x) -1) (+.f32 (log.f32 2) 1))
(+.f32 (+.f32 (log.f32 2) (+.f32 (log.f32 x) 1)) -1)
(+.f32 (+.f32 (log.f32 2) 1) (+.f32 (log.f32 x) -1))
(+.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2) (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2))
(+.f32 (+.f32 (log.f32 x) 1) (+.f32 (log.f32 2) -1))
(+.f32 (+.f32 (log.f32 2) -1) (+.f32 (log.f32 x) 1))
(*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2))
(*.f32 2 (+.f32 (*.f32 (log.f32 x) 1/2) (*.f32 (log.f32 2) 1/2)))
(*.f32 2 (+.f32 (*.f32 (log.f32 2) 1/2) (*.f32 (log.f32 x) 1/2)))
(*.f32 2 (-.f32 (*.f32 (log.f32 2) 1/2) (*.f32 (log.f32 x) -1/2)))
(*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1)
(*.f32 1 (+.f32 (log.f32 2) (log.f32 x)))
(*.f32 -1 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)))
(*.f32 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))) 1/2)
(*.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)) -1)
(*.f32 4 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4))
(*.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 1/4)
(*.f32 1/2 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))))
(*.f32 1/2 (+.f32 (*.f32 2 (log.f32 x)) (*.f32 2 (log.f32 2))))
(*.f32 1/2 (+.f32 (*.f32 2 (log.f32 2)) (*.f32 2 (log.f32 x))))
(*.f32 1/2 (-.f32 (*.f32 2 (log.f32 2)) (*.f32 (log.f32 x) -2)))
(*.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2) 2)
(*.f32 1/4 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4))
(*.f32 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 4)
(/.f32 (+.f32 (log.f32 2) (log.f32 x)) 1)
(/.f32 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))) 2)
(/.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)) -1)
(/.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 4)
(/.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) -2) -2)
(/.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8) 8)
(/.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8)) 16)
(/.f32 (*.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)) 4) -4)
(/.f32 (neg.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) -2)) 2)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8)) (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8))) 32)
(/.f32 (+.f32 (neg.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) -2)) (neg.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) -2))) 4)
(/.f32 (/.f32 (*.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)) 4) -1) 4)
(neg.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)))
Outputs
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 x) (log.f32 2))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (+.f32 (log.f32 2) (log.f32 x)) 0)
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 0 (+.f32 (log.f32 2) (log.f32 x)))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 -1 (+.f32 (log.f32 2) (+.f32 (log.f32 x) 1)))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (+.f32 (log.f32 x) -1) (+.f32 (log.f32 2) 1))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (+.f32 (log.f32 2) (+.f32 (log.f32 x) 1)) -1)
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (+.f32 (log.f32 2) 1) (+.f32 (log.f32 x) -1))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2) (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (+.f32 (log.f32 x) 1) (+.f32 (log.f32 2) -1))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (+.f32 (log.f32 2) -1) (+.f32 (log.f32 x) 1))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 2 (+.f32 (*.f32 (log.f32 x) 1/2) (*.f32 (log.f32 2) 1/2)))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 2 (+.f32 (*.f32 (log.f32 2) 1/2) (*.f32 (log.f32 x) 1/2)))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 2 (-.f32 (*.f32 (log.f32 2) 1/2) (*.f32 (log.f32 x) -1/2)))
(*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1 (+.f32 (log.f32 2) (log.f32 x)))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 -1 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))) 1/2)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)) -1)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 4 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 1/4)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1/2 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1/2 (+.f32 (*.f32 2 (log.f32 x)) (*.f32 2 (log.f32 2))))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1/2 (+.f32 (*.f32 2 (log.f32 2)) (*.f32 2 (log.f32 x))))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1/2 (-.f32 (*.f32 2 (log.f32 2)) (*.f32 (log.f32 x) -2)))
(*.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2) 2)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1/4 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 4)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (+.f32 (log.f32 2) (log.f32 x)) 1)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))) 2)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)) -1)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 4)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) -2) -2)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8) 8)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8)) 16)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)) 4) -4)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (neg.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) -2)) 2)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8)) (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8))) 32)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (+.f32 (neg.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) -2)) (neg.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) -2))) 4)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (/.f32 (*.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)) 4) -1) 4)
(+.f32 (log.f32 2) (log.f32 x))
(neg.f32 (-.f32 (neg.f32 (log.f32 x)) (log.f32 2)))
(+.f32 (log.f32 2) (log.f32 x))

localize28.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 26 to 16 computations (38.5% saved)

series1.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite66.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1046×rational.json-simplify-35
1006×bool.json-1
1006×bool.json-2
968×rational.json-1
968×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0955
19055
225155
357555
4125255
5313155
Stop Event
node limit
Counts
3 → 76
Calls
Call 1
Inputs
(log.f32 (+.f32 (-.f32 x (/.f32 1/2 x)) x))
(+.f32 (-.f32 x (/.f32 1/2 x)) x)
(-.f32 x (/.f32 1/2 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))) (*.f32 1/2 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 8)) (*.f32 2 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 x (-.f32 x (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (+.f32 x (-.f32 x (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (+.f32 (*.f32 1/2 (-.f32 x (/.f32 1/2 x))) (*.f32 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (+.f32 (*.f32 x 1/2) (*.f32 1/2 (-.f32 x (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (+.f32 (*.f32 (-.f32 x (/.f32 1/2 x)) 4) (*.f32 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 8)) (*.f32 2 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 x (-.f32 x (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 x (-.f32 x (/.f32 1/2 x))) (+.f32 x (-.f32 x (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 x (-.f32 x (/.f32 1/2 x))) (+.f32 x (-.f32 x (/.f32 1/2 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 x (neg.f32 (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 x (/.f32 1/2 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (-.f32 x (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (+.f32 x (-.f32 1 (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 (/.f32 1/2 x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 x (-.f32 1 (/.f32 1/2 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (-.f32 x (/.f32 1/2 x))) (*.f32 1/2 (-.f32 x (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (neg.f32 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 x (-.f32 1 (/.f32 1/2 (*.f32 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.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 (+.f32 x x) (-.f32 1/2 (/.f32 1/4 (*.f32 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (-.f32 x (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (-.f32 (*.f32 x 1/2) (/.f32 1/4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (+.f32 x x) (/.f32 1 x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (/.f32 1/2 x) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (-.f32 x (/.f32 1/2 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 x (/.f32 1/2 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (-.f32 (/.f32 1/2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (-.f32 x (/.f32 1/2 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (-.f32 (*.f32 x 4) (/.f32 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (-.f32 x (/.f32 1/2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (-.f32 x (/.f32 1/2 x)) 4) 4)))) (#(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 x x) (/.f32 1 x)) 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 x (/.f32 1/2 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 x (/.f32 1/2 x)) 8) 8)))) (#(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 x (/.f32 1/2 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (-.f32 x (/.f32 1/2 x)) 8)) (*.f32 2 (*.f32 (-.f32 x (/.f32 1/2 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (-.f32 (/.f32 1/2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f32 x (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f32 x (/.f32 1/2 x)) (-.f32 x (/.f32 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f32 x (/.f32 1/2 x)) (-.f32 x (/.f32 1/2 x)))))))

simplify112.0ms (1.1%)

Algorithm
egg-herbie
Rules
1212×rational.json-simplify-35
1086×rational.json-simplify-19
832×rational.json-simplify-61
828×rational.json-simplify-51
730×rational.json-simplify-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01992648
13892508
28602508
320922508
437782508
564262508
Stop Event
node limit
Counts
112 → 145
Calls
Call 1
Inputs
(+.f32 (log.f32 -1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -1 (log.f32 x))))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(/.f32 -1/2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(/.f32 -1/2 x)
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(+.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 0)
(+.f32 0 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))))
(+.f32 (*.f32 1/2 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))) (*.f32 1/2 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))))
(-.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 0)
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 2))
(*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 1)
(*.f32 1 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))))
(*.f32 2 (*.f32 1/2 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))))
(*.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 2) 1/2)
(*.f32 4 (/.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4))
(*.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4) 1/4)
(*.f32 1/4 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4))
(*.f32 (*.f32 1/2 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))) 2)
(*.f32 (/.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4) 4)
(/.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 1)
(/.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4) 4)
(/.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 8) 8)
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 8)) 16)
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 8)) (*.f32 2 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 8))) 32)
(-.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 0)
(*.f32 1/2 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 2))
(*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 1)
(*.f32 1 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(*.f32 2 (*.f32 1/2 (+.f32 x (-.f32 x (/.f32 1/2 x)))))
(*.f32 2 (+.f32 (*.f32 1/2 (-.f32 x (/.f32 1/2 x))) (*.f32 x 1/2)))
(*.f32 2 (+.f32 (*.f32 x 1/2) (*.f32 1/2 (-.f32 x (/.f32 1/2 x)))))
(*.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 2) 1/2)
(*.f32 4 (/.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4))
(*.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4) 1/4)
(*.f32 1/4 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4))
(*.f32 1/4 (+.f32 (*.f32 (-.f32 x (/.f32 1/2 x)) 4) (*.f32 x 4)))
(*.f32 (*.f32 1/2 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 2)
(*.f32 (/.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4) 4)
(/.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 1)
(/.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 2) 2)
(/.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4) 4)
(/.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 8) 8)
(/.f32 (*.f32 2 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 8)) 16)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 8)) (*.f32 2 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 8))) 32)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 (-.f32 x (/.f32 1/2 x)) 0)
(+.f32 0 (-.f32 x (/.f32 1/2 x)))
(+.f32 -1 (+.f32 x (-.f32 1 (/.f32 1/2 x))))
(+.f32 (neg.f32 (/.f32 1/2 x)) x)
(+.f32 (+.f32 x (-.f32 1 (/.f32 1/2 x))) -1)
(+.f32 (*.f32 1/2 (-.f32 x (/.f32 1/2 x))) (*.f32 1/2 (-.f32 x (/.f32 1/2 x))))
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (neg.f32 x)))
(*.f32 x (-.f32 1 (/.f32 1/2 (*.f32 x x))))
(*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1 x)))
(*.f32 (-.f32 x (/.f32 1/2 x)) 1)
(*.f32 1 (-.f32 x (/.f32 1/2 x)))
(*.f32 (+.f32 x x) (-.f32 1/2 (/.f32 1/4 (*.f32 x x))))
(*.f32 2 (*.f32 1/2 (-.f32 x (/.f32 1/2 x))))
(*.f32 2 (-.f32 (*.f32 x 1/2) (/.f32 1/4 x)))
(*.f32 (-.f32 (+.f32 x x) (/.f32 1 x)) 1/2)
(*.f32 (-.f32 (/.f32 1/2 x) x) -1)
(*.f32 4 (/.f32 (-.f32 x (/.f32 1/2 x)) 4))
(*.f32 (*.f32 (-.f32 x (/.f32 1/2 x)) 4) 1/4)
(*.f32 -1 (-.f32 (/.f32 1/2 x) x))
(*.f32 1/4 (*.f32 (-.f32 x (/.f32 1/2 x)) 4))
(*.f32 1/4 (-.f32 (*.f32 x 4) (/.f32 2 x)))
(*.f32 (*.f32 1/2 (-.f32 x (/.f32 1/2 x))) 2)
(*.f32 (/.f32 (-.f32 x (/.f32 1/2 x)) 4) 4)
(/.f32 (-.f32 x (/.f32 1/2 x)) 1)
(/.f32 (-.f32 (+.f32 x x) (/.f32 1 x)) 2)
(/.f32 (-.f32 (/.f32 1/2 x) x) -1)
(/.f32 (*.f32 (-.f32 x (/.f32 1/2 x)) 4) 4)
(/.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)) -2)
(/.f32 (*.f32 (-.f32 x (/.f32 1/2 x)) 8) 8)
(/.f32 (*.f32 (-.f32 (/.f32 1/2 x) x) 4) -4)
(/.f32 (*.f32 2 (*.f32 (-.f32 x (/.f32 1/2 x)) 8)) 16)
(/.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) 2)
(/.f32 (+.f32 (*.f32 2 (*.f32 (-.f32 x (/.f32 1/2 x)) 8)) (*.f32 2 (*.f32 (-.f32 x (/.f32 1/2 x)) 8))) 32)
(/.f32 (+.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)))) 4)
(neg.f32 (-.f32 (/.f32 1/2 x) x))
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 -4 (pow.f32 x 2)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -4 (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (+.f32 (log.f32 -1/2) (neg.f32 (log.f32 x))) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -8 (pow.f32 x 4))))
(+.f32 (neg.f32 (log.f32 x)) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -1 (log.f32 x))))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -64/3 (pow.f32 x 6))))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -8 (pow.f32 x 4))))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -64/3 (pow.f32 x 6))) (*.f32 -4 (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -64/3 (pow.f32 x 6))))))
(+.f32 (+.f32 (log.f32 -1/2) (neg.f32 (log.f32 x))) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -64/3 (pow.f32 x 6))) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (log.f32 2) (-.f32 (neg.f32 (log.f32 (/.f32 1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (-.f32 (log.f32 2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(+.f32 (log.f32 2) (-.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (log.f32 2) (-.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6))))))
(+.f32 (log.f32 2) (-.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(+.f32 (log.f32 -2) (-.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (log.f32 -2) (-.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(/.f32 -1/2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(*.f32 2 x)
(*.f32 x 2)
(+.f32 x x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(*.f32 2 x)
(*.f32 x 2)
(+.f32 x x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(/.f32 -1/2 x)
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(+.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 0)
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(+.f32 0 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(+.f32 (*.f32 1/2 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))) (*.f32 1/2 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(-.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 0)
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 2))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 1)
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 2 (*.f32 1/2 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 2) 1/2)
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 4 (/.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4) 1/4)
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1/4 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4))
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 1/2 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))) 2)
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (/.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4) 4)
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 1)
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 2) 2)
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 4) 4)
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 8) 8)
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 8)) 16)
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 8)) (*.f32 2 (*.f32 (log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 8))) 32)
(log.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(-.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 0)
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1/2 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 2))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 1)
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1 (+.f32 x (-.f32 x (/.f32 1/2 x))))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 2 (*.f32 1/2 (+.f32 x (-.f32 x (/.f32 1/2 x)))))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 2 (+.f32 (*.f32 1/2 (-.f32 x (/.f32 1/2 x))) (*.f32 x 1/2)))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 2 (+.f32 (*.f32 x 1/2) (*.f32 1/2 (-.f32 x (/.f32 1/2 x)))))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 2) 1/2)
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 4 (/.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4) 1/4)
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1/4 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1/4 (+.f32 (*.f32 (-.f32 x (/.f32 1/2 x)) 4) (*.f32 x 4)))
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (*.f32 1/2 (+.f32 x (-.f32 x (/.f32 1/2 x)))) 2)
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (/.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4) 4)
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 1)
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 2) 2)
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 4) 4)
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 8) 8)
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 2 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 8)) 16)
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 8)) (*.f32 2 (*.f32 (+.f32 x (-.f32 x (/.f32 1/2 x))) 8))) 32)
(+.f32 x (-.f32 x (/.f32 1/2 x)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(+.f32 (-.f32 x (/.f32 1/2 x)) 0)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(+.f32 0 (-.f32 x (/.f32 1/2 x)))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(+.f32 -1 (+.f32 x (-.f32 1 (/.f32 1/2 x))))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(+.f32 (neg.f32 (/.f32 1/2 x)) x)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(+.f32 (+.f32 x (-.f32 1 (/.f32 1/2 x))) -1)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(+.f32 (*.f32 1/2 (-.f32 x (/.f32 1/2 x))) (*.f32 1/2 (-.f32 x (/.f32 1/2 x))))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (neg.f32 x)))
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 x -1))
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (+.f32 1 x))
(+.f32 1 (+.f32 x (-.f32 -1 (/.f32 1/2 x))))
(*.f32 x (-.f32 1 (/.f32 1/2 (*.f32 x x))))
(*.f32 x (-.f32 1 (/.f32 (/.f32 1/2 x) x)))
(*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1 x)))
(*.f32 1/2 (+.f32 x (-.f32 x (/.f32 1 x))))
(*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1 x))))
(*.f32 (-.f32 x (/.f32 1/2 x)) 1)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 1 (-.f32 x (/.f32 1/2 x)))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (+.f32 x x) (-.f32 1/2 (/.f32 1/4 (*.f32 x x))))
(*.f32 (+.f32 x x) (-.f32 1/2 (/.f32 (/.f32 1/4 x) x)))
(*.f32 2 (*.f32 1/2 (-.f32 x (/.f32 1/2 x))))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 2 (-.f32 (*.f32 x 1/2) (/.f32 1/4 x)))
(*.f32 (-.f32 (+.f32 x x) (/.f32 1 x)) 1/2)
(*.f32 1/2 (+.f32 x (-.f32 x (/.f32 1 x))))
(*.f32 1/2 (-.f32 (+.f32 x x) (/.f32 1 x)))
(*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1 x))))
(*.f32 (-.f32 (/.f32 1/2 x) x) -1)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 4 (/.f32 (-.f32 x (/.f32 1/2 x)) 4))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (*.f32 (-.f32 x (/.f32 1/2 x)) 4) 1/4)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 -1 (-.f32 (/.f32 1/2 x) x))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 1/4 (*.f32 (-.f32 x (/.f32 1/2 x)) 4))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 1/4 (-.f32 (*.f32 x 4) (/.f32 2 x)))
(*.f32 (*.f32 1/2 (-.f32 x (/.f32 1/2 x))) 2)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (/.f32 (-.f32 x (/.f32 1/2 x)) 4) 4)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (-.f32 x (/.f32 1/2 x)) 1)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (-.f32 (+.f32 x x) (/.f32 1 x)) 2)
(/.f32 (+.f32 x (-.f32 x (/.f32 1 x))) 2)
(/.f32 (+.f32 x (+.f32 x (/.f32 -1 x))) 2)
(/.f32 (-.f32 (/.f32 1/2 x) x) -1)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 (-.f32 x (/.f32 1/2 x)) 4) 4)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)) -2)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 (-.f32 x (/.f32 1/2 x)) 8) 8)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 (-.f32 (/.f32 1/2 x) x) 4) -4)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 2 (*.f32 (-.f32 x (/.f32 1/2 x)) 8)) 16)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) 2)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (+.f32 (*.f32 2 (*.f32 (-.f32 x (/.f32 1/2 x)) 8)) (*.f32 2 (*.f32 (-.f32 x (/.f32 1/2 x)) 8))) 32)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (+.f32 (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x))) (neg.f32 (*.f32 2 (-.f32 (/.f32 1/2 x) x)))) 4)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(neg.f32 (-.f32 (/.f32 1/2 x) x))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))

localize26.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 24 to 12 computations (50% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite65.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1106×rational.json-simplify-35
1074×bool.json-1
1074×bool.json-2
1034×rational.json-1
1034×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0942
19042
225642
359842
4131442
5335942
Stop Event
node limit
Counts
2 → 57
Calls
Call 1
Inputs
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(-.f32 (+.f32 x x) (/.f32 1/2 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))) (*.f32 1/2 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 8)) (*.f32 2 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x or (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 x (+.f32 x (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 x x) (/.f32 -1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 x (/.f32 -1/2 x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (+.f32 x (+.f32 (/.f32 -1/2 x) (-.f32 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 -1/2 x) (+.f32 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 x (+.f32 (/.f32 -1/2 x) (-.f32 x -1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2) (/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (*.f32 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (-.f32 (*.f32 x 4) (/.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (+.f32 (*.f32 x 1/2) (/.f32 (+.f32 x (/.f32 -1/2 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (*.f32 x 4) (/.f32 1 x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (-.f32 (*.f32 x -2) (/.f32 -1/2 x))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (*.f32 2 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 8)) (*.f32 2 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (neg.f32 (*.f32 2 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))) (neg.f32 (*.f32 2 (-.f32 (*.f32 x -2) (/.f32 -1/2 x))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 (+.f32 x x) (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 (+.f32 x x) (/.f32 -1/2 x)) (+.f32 (+.f32 x x) (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 (+.f32 x x) (/.f32 -1/2 x)) (+.f32 (+.f32 x x) (/.f32 -1/2 x)))))))

simplify177.0ms (1.7%)

Algorithm
egg-herbie
Rules
1826×rational.json-simplify-1
1612×rational.json-simplify-35
1460×rational.json-simplify-52
948×rational.json-simplify-2
932×rational.json-simplify-41
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01622235
13172211
26742159
315602159
429582159
534102159
637792159
742522159
848522159
954712159
1070232159
Stop Event
node limit
Counts
81 → 113
Calls
Call 1
Inputs
(+.f32 (log.f32 -1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -1 (log.f32 x))))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(/.f32 -1/2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(+.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 0)
(+.f32 0 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))))
(+.f32 (*.f32 1/2 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))) (*.f32 1/2 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))))
(-.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 0)
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 2))
(*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 1)
(*.f32 1 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))))
(*.f32 2 (*.f32 1/2 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))))
(*.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 2) 1/2)
(*.f32 4 (/.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4))
(*.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4) 1/4)
(*.f32 1/4 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4))
(*.f32 (*.f32 1/2 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))) 2)
(*.f32 (/.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4) 4)
(/.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 1)
(/.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4) 4)
(/.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 8) 8)
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 8)) 16)
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 8)) (*.f32 2 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 8))) 32)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 0)
(+.f32 0 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(+.f32 (+.f32 x (/.f32 -1/2 x)) x)
(+.f32 -1 (+.f32 x (+.f32 (/.f32 -1/2 x) (-.f32 x -1))))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 (+.f32 x (+.f32 (/.f32 -1/2 x) (-.f32 x -1))) -1)
(+.f32 (/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2) (/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2))
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (*.f32 x -2)))
(*.f32 1/2 (*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2))
(*.f32 1/2 (-.f32 (*.f32 x 4) (/.f32 1 x)))
(*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 1)
(*.f32 1 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(*.f32 2 (/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2))
(*.f32 2 (+.f32 (*.f32 x 1/2) (/.f32 (+.f32 x (/.f32 -1/2 x)) 2)))
(*.f32 (*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2) 1/2)
(*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -1)
(*.f32 -1 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(*.f32 4 (/.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4))
(*.f32 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4) 1/4)
(*.f32 1/4 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4))
(*.f32 (/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2) 2)
(*.f32 (/.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4) 4)
(*.f32 (-.f32 (*.f32 x 4) (/.f32 1 x)) 1/2)
(/.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 1)
(/.f32 (*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2) 2)
(/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -1)
(/.f32 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4) 4)
(/.f32 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 8) 8)
(/.f32 (*.f32 2 (-.f32 (*.f32 x -2) (/.f32 -1/2 x))) -2)
(/.f32 (*.f32 2 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 8)) 16)
(/.f32 (*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) 4) -4)
(/.f32 (neg.f32 (*.f32 2 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))) 2)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 8)) (*.f32 2 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 8))) 32)
(/.f32 (+.f32 (neg.f32 (*.f32 2 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))) (neg.f32 (*.f32 2 (-.f32 (*.f32 x -2) (/.f32 -1/2 x))))) 4)
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
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 -4 (pow.f32 x 2)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (neg.f32 (log.f32 x)) (+.f32 (log.f32 -1/2) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -4 (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -4 (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (log.f32 -1/2) (*.f32 -4 (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -1 (log.f32 x))))))
(+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -64/3 (pow.f32 x 6)))) (log.f32 -1/2)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -8 (pow.f32 x 4))))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -8 (pow.f32 x 4))) (*.f32 -64/3 (pow.f32 x 6)))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -8 (pow.f32 x 4))))))
(+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -64/3 (pow.f32 x 6))))))
(+.f32 (neg.f32 (log.f32 x)) (+.f32 (+.f32 (log.f32 -1/2) (*.f32 -4 (pow.f32 x 2))) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -64/3 (pow.f32 x 6)))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (log.f32 2) (-.f32 (neg.f32 (log.f32 (/.f32 1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (-.f32 (log.f32 2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6))))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6))))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (-.f32 (log.f32 2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6))))))
(/.f32 -1/2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(*.f32 2 x)
(*.f32 x 2)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(*.f32 2 x)
(*.f32 x 2)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(+.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 0)
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(+.f32 0 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(+.f32 (*.f32 1/2 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))) (*.f32 1/2 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(-.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 0)
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 2))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 1)
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 2 (*.f32 1/2 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 2) 1/2)
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 4 (/.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4) 1/4)
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1/4 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 1/2 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))) 2)
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (/.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4) 4)
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 1)
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 2) 2)
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 4) 4)
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 8) 8)
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 8)) 16)
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 8)) (*.f32 2 (*.f32 (log.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x))) 8))) 32)
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 (+.f32 x x) (/.f32 -1/2 x))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 0)
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 0 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (+.f32 x (/.f32 -1/2 x)) x)
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 -1 (+.f32 x (+.f32 (/.f32 -1/2 x) (-.f32 x -1))))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (+.f32 x (+.f32 (/.f32 -1/2 x) (-.f32 x -1))) -1)
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2) (/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2))
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (*.f32 x -2)))
(*.f32 1/2 (*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2))
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(-.f32 (/.f32 -1/2 x) (*.f32 x -2))
(*.f32 1/2 (-.f32 (*.f32 x 4) (/.f32 1 x)))
(*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 1)
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1 (+.f32 (+.f32 x x) (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 2 (/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2))
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(-.f32 (/.f32 -1/2 x) (*.f32 x -2))
(*.f32 2 (+.f32 (*.f32 x 1/2) (/.f32 (+.f32 x (/.f32 -1/2 x)) 2)))
(*.f32 (*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2) 1/2)
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(-.f32 (/.f32 -1/2 x) (*.f32 x -2))
(*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -1)
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(-.f32 (/.f32 -1/2 x) (*.f32 x -2))
(*.f32 -1 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(-.f32 (/.f32 -1/2 x) (*.f32 x -2))
(*.f32 4 (/.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4) 1/4)
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1/4 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2) 2)
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(-.f32 (/.f32 -1/2 x) (*.f32 x -2))
(*.f32 (/.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4) 4)
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (-.f32 (*.f32 x 4) (/.f32 1 x)) 1/2)
(*.f32 1/2 (-.f32 (*.f32 x 4) (/.f32 1 x)))
(/.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 1)
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -2) 2)
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(-.f32 (/.f32 -1/2 x) (*.f32 x -2))
(/.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) -1)
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(-.f32 (/.f32 -1/2 x) (*.f32 x -2))
(/.f32 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 4) 4)
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 8) 8)
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 2 (-.f32 (*.f32 x -2) (/.f32 -1/2 x))) -2)
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(-.f32 (/.f32 -1/2 x) (*.f32 x -2))
(/.f32 (*.f32 2 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 8)) 16)
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)) 4) -4)
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(-.f32 (/.f32 -1/2 x) (*.f32 x -2))
(/.f32 (neg.f32 (*.f32 2 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))) 2)
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(-.f32 (/.f32 -1/2 x) (*.f32 x -2))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 8)) (*.f32 2 (*.f32 (+.f32 (+.f32 x x) (/.f32 -1/2 x)) 8))) 32)
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (+.f32 (neg.f32 (*.f32 2 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))) (neg.f32 (*.f32 2 (-.f32 (*.f32 x -2) (/.f32 -1/2 x))))) 4)
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(-.f32 (/.f32 -1/2 x) (*.f32 x -2))
(neg.f32 (-.f32 (*.f32 x -2) (/.f32 -1/2 x)))
(-.f32 (/.f32 -1/2 x) (*.f32 x -2))

localize47.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

Compiled 54 to 37 computations (31.5% saved)

series1.0ms (0%)

Counts
4 → 48
Calls

12 calls:

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

rewrite84.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1376×bool.json-1
1376×bool.json-2
1328×rational.json-1
1328×rational.json-2
1328×rational.json-4
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
014116
1149104
2406104
3891104
42059104
5492468
Stop Event
node limit
Counts
4 → 71
Calls
Call 1
Inputs
(log.f32 (+.f32 x (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (neg.f32 x)))))
(+.f32 x (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (neg.f32 x))))
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (neg.f32 x)))
(-.f32 -1 (/.f32 1/2 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 x (+.f32 x (+.f32 -1 (/.f32 -1/2 x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (/.f32 -1/2 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 x (+.f32 x (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4)) (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 x (+.f32 x (/.f32 -1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 x (+.f32 x (/.f32 -1/2 x))) (+.f32 x (+.f32 x (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 x (+.f32 x (/.f32 -1/2 x))) (+.f32 x (+.f32 x (/.f32 -1/2 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 x (/.f32 -1/2 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 x (+.f32 -1 (/.f32 -1/2 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 x (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 x (/.f32 -1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (+.f32 x (/.f32 -1/2 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))) 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 x (/.f32 -1/2 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4)) (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 x (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 x (/.f32 -1/2 x)) (+.f32 x (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 x (/.f32 -1/2 x)) (+.f32 x (/.f32 -1/2 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (/.f32 -1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 -1 (/.f32 -1/2 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (+.f32 -1 (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 -1/2 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (+.f32 (/.f32 1/2 x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1/2 x) (neg.f32 (+.f32 x (+.f32 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 -1 (/.f32 -1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 -1 (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (+.f32 -1 (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (+.f32 -1 (/.f32 -1/2 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (/.f32 1/2 x) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (+.f32 -1 (/.f32 -1/2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 -1 (/.f32 -1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (/.f32 1/2 x) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (+.f32 (/.f32 1/2 x) 1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4)) (*.f32 2 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (*.f32 2 (+.f32 (/.f32 1/2 x) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (+.f32 (/.f32 1/2 x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 -1 (/.f32 -1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 -1 (/.f32 -1/2 x)) (+.f32 -1 (/.f32 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 -1 (/.f32 -1/2 x)) (+.f32 -1 (/.f32 -1/2 x)))))))

simplify159.0ms (1.6%)

Algorithm
egg-herbie
Rules
1740×rational.json-simplify-35
988×rational.json-simplify-2
820×rational.json-simplify-61
806×rational.json-simplify-1
734×rational.json-simplify-45
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01822517
13662493
27992457
318232457
428062457
533862457
639172457
744742457
862772457
Stop Event
node limit
Counts
119 → 135
Calls
Call 1
Inputs
(+.f32 (log.f32 -1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -1 (log.f32 x))))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(/.f32 -1/2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(/.f32 -1/2 x)
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(/.f32 -1/2 x)
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
-1
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
-1
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(+.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 0)
(+.f32 0 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))
(-.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 0)
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2))
(*.f32 1 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))
(*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 1)
(*.f32 2 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))))
(*.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2) 1/2)
(*.f32 4 (/.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))
(*.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 1/4)
(*.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))) 2)
(/.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 1)
(/.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))) 16)
(-.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 0)
(-.f32 (+.f32 x (+.f32 x (+.f32 -1 (/.f32 -1/2 x)))) -1)
(*.f32 1/2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2))
(*.f32 1/2 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (/.f32 -1/2 x)) 2)))
(*.f32 1 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 1)
(*.f32 2 (*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))
(*.f32 4 (/.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))
(*.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2) 1/2)
(*.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 1/4)
(*.f32 (*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2)
(/.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 1)
(/.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2) 2)
(/.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4)) (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))) 16)
(-.f32 (+.f32 x (/.f32 -1/2 x)) 0)
(-.f32 (+.f32 x (+.f32 -1 (/.f32 -1/2 x))) -1)
(*.f32 1/2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2))
(*.f32 1 (+.f32 x (/.f32 -1/2 x)))
(*.f32 (+.f32 x (/.f32 -1/2 x)) 1)
(*.f32 2 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2) 1/2)
(*.f32 4 (/.f32 (+.f32 x (/.f32 -1/2 x)) 4))
(*.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4) 1/4)
(*.f32 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))) 2)
(/.f32 (+.f32 x (/.f32 -1/2 x)) 1)
(/.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2) 2)
(/.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4)) 8)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4)) (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4))) 16)
(+.f32 -1 (/.f32 -1/2 x))
(+.f32 (+.f32 -1 (/.f32 -1/2 x)) 0)
(+.f32 0 (+.f32 -1 (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) -1)
(*.f32 -1 (+.f32 (/.f32 1/2 x) 1))
(*.f32 1/2 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 2))
(*.f32 (/.f32 1/2 x) (neg.f32 (+.f32 x (+.f32 x 1))))
(*.f32 (+.f32 -1 (/.f32 -1/2 x)) 1)
(*.f32 1 (+.f32 -1 (/.f32 -1/2 x)))
(*.f32 2 (*.f32 1/2 (+.f32 -1 (/.f32 -1/2 x))))
(*.f32 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 2) 1/2)
(*.f32 4 (/.f32 (+.f32 -1 (/.f32 -1/2 x)) 4))
(*.f32 (+.f32 (/.f32 1/2 x) 1) -1)
(*.f32 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4) 1/4)
(*.f32 (*.f32 1/2 (+.f32 -1 (/.f32 -1/2 x))) 2)
(/.f32 (+.f32 -1 (/.f32 -1/2 x)) 1)
(/.f32 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 2) 2)
(/.f32 (+.f32 (/.f32 1/2 x) 1) -1)
(/.f32 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4)) 8)
(/.f32 (*.f32 2 (+.f32 (/.f32 1/2 x) 1)) -2)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4)) (*.f32 2 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4))) 16)
(/.f32 (neg.f32 (*.f32 2 (+.f32 (/.f32 1/2 x) 1))) 2)
(neg.f32 (+.f32 (/.f32 1/2 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 -4 (pow.f32 x 2)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -4 (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (neg.f32 (log.f32 x)) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (neg.f32 (log.f32 x)) (+.f32 (+.f32 (log.f32 -1/2) (*.f32 -4 (pow.f32 x 2))) (*.f32 -8 (pow.f32 x 4))))
(+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (log.f32 -1/2) (*.f32 -4 (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -1 (log.f32 x))))))
(+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -64/3 (pow.f32 x 6)))) (log.f32 -1/2)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -64/3 (pow.f32 x 6))))))
(+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 -64/3 (pow.f32 x 6))) (+.f32 (*.f32 -8 (pow.f32 x 4)) (log.f32 -1/2))))
(+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 -64/3 (pow.f32 x 6))) (+.f32 (log.f32 -1/2) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -64/3 (pow.f32 x 6))))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (log.f32 2) (-.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (-.f32 (log.f32 2) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6))))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (log.f32 -2) (-.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(+.f32 (log.f32 -2) (-.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6))))))
(/.f32 -1/2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(*.f32 x 2)
(+.f32 x x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(*.f32 x 2)
(+.f32 x x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(/.f32 -1/2 x)
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(/.f32 -1/2 x)
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 (/.f32 1 x) 1/2)))
(-.f32 -1 (*.f32 (/.f32 1 x) 1/2))
(-.f32 -1 (*.f32 1/2 (/.f32 1 x)))
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 (/.f32 1 x) 1/2)))
(-.f32 -1 (*.f32 (/.f32 1 x) 1/2))
(-.f32 -1 (*.f32 1/2 (/.f32 1 x)))
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 (/.f32 1 x) 1/2)))
(-.f32 -1 (*.f32 (/.f32 1 x) 1/2))
(-.f32 -1 (*.f32 1/2 (/.f32 1 x)))
-1
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 (/.f32 1 x) 1/2)))
(-.f32 -1 (*.f32 (/.f32 1 x) 1/2))
(-.f32 -1 (*.f32 1/2 (/.f32 1 x)))
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 (/.f32 1 x) 1/2)))
(-.f32 -1 (*.f32 (/.f32 1 x) 1/2))
(-.f32 -1 (*.f32 1/2 (/.f32 1 x)))
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 (/.f32 1 x) 1/2)))
(-.f32 -1 (*.f32 (/.f32 1 x) 1/2))
(-.f32 -1 (*.f32 1/2 (/.f32 1 x)))
-1
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 (/.f32 1 x) 1/2)))
(-.f32 -1 (*.f32 (/.f32 1 x) 1/2))
(-.f32 -1 (*.f32 1/2 (/.f32 1 x)))
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 (/.f32 1 x) 1/2)))
(-.f32 -1 (*.f32 (/.f32 1 x) 1/2))
(-.f32 -1 (*.f32 1/2 (/.f32 1 x)))
(neg.f32 (+.f32 1 (*.f32 1/2 (/.f32 1 x))))
(neg.f32 (+.f32 1 (*.f32 (/.f32 1 x) 1/2)))
(-.f32 -1 (*.f32 (/.f32 1 x) 1/2))
(-.f32 -1 (*.f32 1/2 (/.f32 1 x)))
(+.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 0)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(+.f32 0 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(-.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 0)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 1 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 1)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 2 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2) 1/2)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 4 (/.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 1/4)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(*.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))) 2)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 1)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2) 2)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4) 4)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4)) 8)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(/.f32 (+.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4)) (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 4))) 16)
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(-.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 0)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(-.f32 (+.f32 x (+.f32 x (+.f32 -1 (/.f32 -1/2 x)))) -1)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1/2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1/2 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (/.f32 -1/2 x)) 2)))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 1 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 1)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 2 (*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1/2 x)))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 4 (/.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2) 1/2)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 1/4)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(*.f32 (*.f32 1/2 (+.f32 x (+.f32 x (/.f32 -1/2 x)))) 2)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 1)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 2) 2)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4) 4)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4)) 8)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4)) (*.f32 2 (*.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))) 4))) 16)
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(-.f32 (+.f32 x (/.f32 -1/2 x)) 0)
(+.f32 x (/.f32 -1/2 x))
(-.f32 (+.f32 x (+.f32 -1 (/.f32 -1/2 x))) -1)
(+.f32 x (/.f32 -1/2 x))
(*.f32 1/2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2))
(+.f32 x (/.f32 -1/2 x))
(*.f32 1 (+.f32 x (/.f32 -1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (+.f32 x (/.f32 -1/2 x)) 1)
(+.f32 x (/.f32 -1/2 x))
(*.f32 2 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2) 1/2)
(+.f32 x (/.f32 -1/2 x))
(*.f32 4 (/.f32 (+.f32 x (/.f32 -1/2 x)) 4))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4) 1/4)
(+.f32 x (/.f32 -1/2 x))
(*.f32 (*.f32 1/2 (+.f32 x (/.f32 -1/2 x))) 2)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (+.f32 x (/.f32 -1/2 x)) 1)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 2) 2)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4) 4)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4)) 8)
(+.f32 x (/.f32 -1/2 x))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4)) (*.f32 2 (*.f32 (+.f32 x (/.f32 -1/2 x)) 4))) 16)
(+.f32 x (/.f32 -1/2 x))
(+.f32 -1 (/.f32 -1/2 x))
(+.f32 (+.f32 -1 (/.f32 -1/2 x)) 0)
(+.f32 -1 (/.f32 -1/2 x))
(+.f32 0 (+.f32 -1 (/.f32 -1/2 x)))
(+.f32 -1 (/.f32 -1/2 x))
(+.f32 (/.f32 -1/2 x) -1)
(+.f32 -1 (/.f32 -1/2 x))
(*.f32 -1 (+.f32 (/.f32 1/2 x) 1))
(+.f32 -1 (/.f32 -1/2 x))
(*.f32 1/2 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 2))
(+.f32 -1 (/.f32 -1/2 x))
(*.f32 (/.f32 1/2 x) (neg.f32 (+.f32 x (+.f32 x 1))))
(+.f32 -1 (/.f32 -1/2 x))
(*.f32 (+.f32 -1 (/.f32 -1/2 x)) 1)
(+.f32 -1 (/.f32 -1/2 x))
(*.f32 1 (+.f32 -1 (/.f32 -1/2 x)))
(+.f32 -1 (/.f32 -1/2 x))
(*.f32 2 (*.f32 1/2 (+.f32 -1 (/.f32 -1/2 x))))
(+.f32 -1 (/.f32 -1/2 x))
(*.f32 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 2) 1/2)
(+.f32 -1 (/.f32 -1/2 x))
(*.f32 4 (/.f32 (+.f32 -1 (/.f32 -1/2 x)) 4))
(+.f32 -1 (/.f32 -1/2 x))
(*.f32 (+.f32 (/.f32 1/2 x) 1) -1)
(+.f32 -1 (/.f32 -1/2 x))
(*.f32 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4) 1/4)
(+.f32 -1 (/.f32 -1/2 x))
(*.f32 (*.f32 1/2 (+.f32 -1 (/.f32 -1/2 x))) 2)
(+.f32 -1 (/.f32 -1/2 x))
(/.f32 (+.f32 -1 (/.f32 -1/2 x)) 1)
(+.f32 -1 (/.f32 -1/2 x))
(/.f32 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 2) 2)
(+.f32 -1 (/.f32 -1/2 x))
(/.f32 (+.f32 (/.f32 1/2 x) 1) -1)
(+.f32 -1 (/.f32 -1/2 x))
(/.f32 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4) 4)
(+.f32 -1 (/.f32 -1/2 x))
(/.f32 (*.f32 2 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4)) 8)
(+.f32 -1 (/.f32 -1/2 x))
(/.f32 (*.f32 2 (+.f32 (/.f32 1/2 x) 1)) -2)
(+.f32 -1 (/.f32 -1/2 x))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4)) (*.f32 2 (*.f32 (+.f32 -1 (/.f32 -1/2 x)) 4))) 16)
(+.f32 -1 (/.f32 -1/2 x))
(/.f32 (neg.f32 (*.f32 2 (+.f32 (/.f32 1/2 x) 1))) 2)
(+.f32 -1 (/.f32 -1/2 x))
(neg.f32 (+.f32 (/.f32 1/2 x) 1))
(+.f32 -1 (/.f32 -1/2 x))

localize18.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(+.f32 (log.f32 2) (log.f32 x))
Compiler

Compiled 12 to 8 computations (33.3% saved)

series0.0ms (0%)

Counts
1 → 8
Calls

3 calls:

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

rewrite94.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1746×bool.json-1
1746×bool.json-2
1712×rational.json-1
1712×rational.json-2
1130×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
17815
220815
341515
485215
5185915
6399715
7675315
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(+.f32 (log.f32 2) (log.f32 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (log.f32 2) (log.f32 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (+.f32 (*.f32 (log.f32 2) 1/2) (*.f32 (log.f32 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (log.f32 2) (log.f32 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (log.f32 2) (log.f32 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (*.f32 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (*.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (+.f32 (*.f32 2 (log.f32 2)) (*.f32 2 (log.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (log.f32 2) (log.f32 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 (log.f32 2) (log.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 (log.f32 2) (log.f32 x)) (+.f32 (log.f32 2) (log.f32 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 (log.f32 2) (log.f32 x)) (+.f32 (log.f32 2) (log.f32 x)))))))

simplify941.0ms (9.2%)

Algorithm
egg-herbie
Rules
6450×rational.json-simplify-51
2088×rational.json-simplify-35
2060×rational.json-simplify-1
1798×rational.json-simplify-2
1446×rational.json-simplify-41
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
066586
1135570
2329570
3790570
41273570
53158570
63555570
73608570
83650570
93692570
103730570
114565570
124624570
134668570
144703570
154738570
164773570
174808570
184843570
195564570
205954570
215994570
226033570
236071570
246109570
256147570
266185570
276223570
286261570
296299570
306337570
316375570
326413570
336451570
346489570
356489570
366527570
Stop Event
node limit
Counts
30 → 28
Calls
Call 1
Inputs
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(-.f32 (+.f32 (log.f32 2) (log.f32 x)) 0)
(*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2))
(*.f32 2 (+.f32 (*.f32 (log.f32 2) 1/2) (*.f32 (log.f32 x) 1/2)))
(*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1)
(*.f32 1 (+.f32 (log.f32 2) (log.f32 x)))
(*.f32 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))) 1/2)
(*.f32 4 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4))
(*.f32 4 (*.f32 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 1))
(*.f32 4 (*.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2) 1/2))
(*.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 1/4)
(*.f32 1/2 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))))
(*.f32 1/2 (+.f32 (*.f32 2 (log.f32 2)) (*.f32 2 (log.f32 x))))
(*.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2) 2)
(*.f32 1/4 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4))
(*.f32 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 4)
(/.f32 (+.f32 (log.f32 2) (log.f32 x)) 1)
(/.f32 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))) 2)
(/.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 4)
(/.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8) 8)
(/.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8)) 16)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8))) 32)
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8)))) 64)
Outputs
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(-.f32 (+.f32 (log.f32 2) (log.f32 x)) 0)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 2 (+.f32 (*.f32 (log.f32 2) 1/2) (*.f32 (log.f32 x) 1/2)))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1 (+.f32 (log.f32 2) (log.f32 x)))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))) 1/2)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 4 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 4 (*.f32 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 1))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 4 (*.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2) 1/2))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 1/4)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1/2 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1/2 (+.f32 (*.f32 2 (log.f32 2)) (*.f32 2 (log.f32 x))))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 1/2) 2)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1/4 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (/.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 4)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (+.f32 (log.f32 2) (log.f32 x)) 1)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 2 (+.f32 (log.f32 2) (log.f32 x))) 2)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 4) 4)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8) 8)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8)) 16)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8))) 32)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 2) (log.f32 x)) 8)))) 64)
(+.f32 (log.f32 2) (log.f32 x))

eval183.0ms (1.8%)

Compiler

Compiled 9410 to 7357 computations (21.8% saved)

prune77.0ms (0.8%)

Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New5482550
Fresh000
Picked011
Done257
Total5508558
Error
0.0b
Counts
558 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
0.6b
(-.f32 (+.f32 (log.f32 x) (log.f32 2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6))))))
1.3b
(+.f32 (log.f32 2) (log.f32 x))
31.0b
(log.f32 (/.f32 1/2 x))
0.7b
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
0.7b
(log.f32 (+.f32 (-.f32 x (/.f32 1/2 x)) x))
0.7b
(log.f32 (+.f32 (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 x -1)) x))
16.0b
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
1.1b
(log.f32 (+.f32 x x))
Compiler

Compiled 87 to 67 computations (23% saved)

localize45.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

Compiled 47 to 35 computations (25.5% saved)

series1.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite73.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1294×rational.json-simplify-35
1174×bool.json-1
1174×bool.json-2
1136×rational.json-1
1136×rational.json-2
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01291
112291
233191
374991
4169773
5402567
Stop Event
node limit
Counts
3 → 58
Calls
Call 1
Inputs
(log.f32 (+.f32 (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 x -1)) x))
(+.f32 (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 x -1)) x)
(+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 x -1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))) (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 x (+.f32 x (-.f32 -1 (/.f32 1/2 x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 x (-.f32 -1 (/.f32 1/2 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 x (neg.f32 (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (+.f32 x (neg.f32 (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 1/2 (+.f32 x (neg.f32 (/.f32 1/2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 x (neg.f32 (/.f32 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 x (neg.f32 (/.f32 1/2 x))) (+.f32 x (neg.f32 (/.f32 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 x (neg.f32 (/.f32 1/2 x))) (+.f32 x (neg.f32 (/.f32 1/2 x))))))))

simplify154.0ms (1.5%)

Algorithm
egg-herbie
Rules
1238×rational.json-simplify-1
1174×rational.json-simplify-35
956×rational.json-simplify-2
856×rational.json-simplify-48
840×rational.json-simplify-46
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01612428
13102172
27572172
315362172
428592172
537352172
641312172
750592172
871152172
Stop Event
node limit
Counts
94 → 121
Calls
Call 1
Inputs
(+.f32 (log.f32 -1/2) (*.f32 -1 (log.f32 x)))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -1 (log.f32 x))))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(/.f32 -1/2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(/.f32 -1/2 x)
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(+.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 0)
(+.f32 0 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))))
(+.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))) (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))))
(-.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 0)
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 2))
(*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 1)
(*.f32 1 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))))
(*.f32 2 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))))
(*.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 2) 1/2)
(*.f32 4 (/.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4))
(*.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4) 1/4)
(*.f32 1/4 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4))
(*.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))) 2)
(*.f32 (/.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4) 4)
(/.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 1)
(/.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 2) 2)
(/.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4)) 8)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4))) 16)
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4)))) 32)
(-.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 0)
(-.f32 (+.f32 x (+.f32 x (-.f32 -1 (/.f32 1/2 x)))) -1)
(*.f32 1/2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 2))
(*.f32 1/2 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2)))
(*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 1)
(*.f32 1 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(*.f32 2 (*.f32 1/2 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))))
(*.f32 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 2) 1/2)
(*.f32 4 (/.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4))
(*.f32 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4) 1/4)
(*.f32 1/4 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4))
(*.f32 (*.f32 1/2 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 2)
(*.f32 (/.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4) 4)
(*.f32 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2)) 1/2)
(/.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 1)
(/.f32 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 2) 2)
(/.f32 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4)) 8)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4))) 16)
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4)))) 32)
(-.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 0)
(-.f32 (+.f32 x (-.f32 -1 (/.f32 1/2 x))) -1)
(*.f32 1/2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2))
(*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 1)
(*.f32 1 (+.f32 x (neg.f32 (/.f32 1/2 x))))
(*.f32 2 (*.f32 1/2 (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(*.f32 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2) 1/2)
(*.f32 4 (/.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4))
(*.f32 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4) 1/4)
(*.f32 1/4 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4))
(*.f32 (*.f32 1/2 (+.f32 x (neg.f32 (/.f32 1/2 x)))) 2)
(*.f32 (/.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4) 4)
(/.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 1)
(/.f32 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2) 2)
(/.f32 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4) 4)
(/.f32 (*.f32 2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4)) 8)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4))) 16)
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4)))) 32)
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 -4 (pow.f32 x 2)) (*.f32 -1 (log.f32 x))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -1 (log.f32 x)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -4 (pow.f32 x 2)))))
(+.f32 (log.f32 -1/2) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -4 (pow.f32 x 2)) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (neg.f32 (log.f32 x)) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (neg.f32 (log.f32 x)) (+.f32 (+.f32 (log.f32 -1/2) (*.f32 -8 (pow.f32 x 4))) (*.f32 -4 (pow.f32 x 2))))
(+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (log.f32 -1/2) (*.f32 -8 (pow.f32 x 4)))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -1 (log.f32 x))))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (+.f32 (*.f32 -1 (log.f32 x)) (*.f32 -64/3 (pow.f32 x 6))))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -64/3 (pow.f32 x 6)) (*.f32 -8 (pow.f32 x 4))))))
(+.f32 (log.f32 -1/2) (+.f32 (*.f32 -4 (pow.f32 x 2)) (+.f32 (neg.f32 (log.f32 x)) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -64/3 (pow.f32 x 6))))))
(+.f32 (+.f32 (neg.f32 (log.f32 x)) (*.f32 -4 (pow.f32 x 2))) (+.f32 (log.f32 -1/2) (+.f32 (*.f32 -8 (pow.f32 x 4)) (*.f32 -64/3 (pow.f32 x 6)))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (log.f32 2) (-.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (log.f32 2) (-.f32 (neg.f32 (log.f32 (/.f32 1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(+.f32 (neg.f32 (log.f32 (/.f32 1 x))) (-.f32 (log.f32 2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(+.f32 (log.f32 2) (-.f32 (neg.f32 (log.f32 (/.f32 1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 x))) (log.f32 2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(-.f32 (+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6))))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6))))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2)))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(-.f32 (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))
(+.f32 (log.f32 -2) (-.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4))))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (log.f32 -2)) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/4 (/.f32 1 (pow.f32 x 2))))))
(+.f32 (log.f32 -2) (-.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/192 (/.f32 1 (pow.f32 x 6))) (*.f32 1/32 (/.f32 1 (pow.f32 x 4)))))))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (-.f32 (log.f32 -2) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(+.f32 (log.f32 -2) (-.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 1/32 (/.f32 1 (pow.f32 x 4))) (*.f32 1/192 (/.f32 1 (pow.f32 x 6)))))))
(/.f32 -1/2 x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(*.f32 x 2)
(+.f32 x x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(*.f32 2 x)
(*.f32 x 2)
(+.f32 x x)
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 2 x) (*.f32 1/2 (/.f32 1 x)))
(-.f32 (*.f32 x 2) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 (/.f32 1 x) 1/2))
(-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x)))
(/.f32 -1/2 x)
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
x
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(-.f32 x (*.f32 1/2 (/.f32 1 x)))
(-.f32 x (*.f32 (/.f32 1 x) 1/2))
(+.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 0)
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(+.f32 0 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))))
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(+.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))) (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))))
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(-.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 0)
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(*.f32 1/2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 2))
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 1)
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(*.f32 1 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))))
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(*.f32 2 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))))
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(*.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 2) 1/2)
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(*.f32 4 (/.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4))
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(*.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4) 1/4)
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(*.f32 1/4 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4))
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(*.f32 (*.f32 1/2 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))) 2)
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(*.f32 (/.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4) 4)
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(/.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 1)
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(/.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 2) 2)
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(/.f32 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4) 4)
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(/.f32 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4)) 8)
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4))) 16)
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4))) (*.f32 2 (*.f32 2 (*.f32 (log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 4)))) 32)
(log.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(log.f32 (+.f32 x (+.f32 x (/.f32 -1/2 x))))
(log.f32 (+.f32 (/.f32 -1/2 x) (+.f32 x x)))
(-.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 0)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(-.f32 (+.f32 x (+.f32 x (-.f32 -1 (/.f32 1/2 x)))) -1)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(*.f32 1/2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 2))
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(*.f32 1/2 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2)))
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 1)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(*.f32 1 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(*.f32 2 (*.f32 1/2 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))))
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(*.f32 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 2) 1/2)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(*.f32 4 (/.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4))
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(*.f32 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4) 1/4)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(*.f32 1/4 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4))
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(*.f32 (*.f32 1/2 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))) 2)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(*.f32 (/.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4) 4)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(*.f32 (+.f32 (+.f32 x x) (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2)) 1/2)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(/.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 1)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(/.f32 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 2) 2)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(/.f32 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4) 4)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(/.f32 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4)) 8)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4))) 16)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x)))) 4)))) 32)
(+.f32 x (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (+.f32 x (/.f32 -1/2 x)))
(+.f32 (/.f32 -1/2 x) (+.f32 x x))
(-.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 0)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(-.f32 (+.f32 x (-.f32 -1 (/.f32 1/2 x))) -1)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 1/2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 1)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 1 (+.f32 x (neg.f32 (/.f32 1/2 x))))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 2 (*.f32 1/2 (+.f32 x (neg.f32 (/.f32 1/2 x)))))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2) 1/2)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 4 (/.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4) 1/4)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 1/4 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4))
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (*.f32 1/2 (+.f32 x (neg.f32 (/.f32 1/2 x)))) 2)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(*.f32 (/.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4) 4)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 1)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 2) 2)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4) 4)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4)) 8)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4))) 16)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 x (neg.f32 (/.f32 1/2 x))) 4)))) 32)
(+.f32 x (neg.f32 (/.f32 1/2 x)))
(+.f32 x (/.f32 -1/2 x))

localize112.0ms (1.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f32 1 (pow.f32 x 4))
0.3b
(+.f32 (log.f32 x) (log.f32 2))
0.4b
(/.f32 1 (pow.f32 x 6))
1.0b
(/.f32 1 (pow.f32 x 2))
Compiler

Compiled 130 to 107 computations (17.7% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite96.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1746×bool.json-1
1746×bool.json-2
1712×rational.json-1
1712×rational.json-2
1130×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
17815
220815
341515
485215
5185815
6399315
7674915
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(+.f32 (log.f32 x) (log.f32 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (log.f32 x) (log.f32 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (+.f32 (*.f32 (log.f32 2) 1/2) (*.f32 (log.f32 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (log.f32 x) (log.f32 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (log.f32 x) (log.f32 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (+.f32 (log.f32 x) (log.f32 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (/.f32 (+.f32 (log.f32 x) (log.f32 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (*.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (*.f32 (/.f32 (+.f32 (log.f32 x) (log.f32 2)) 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 2 (+.f32 (log.f32 x) (log.f32 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (+.f32 (*.f32 (log.f32 x) 2) (*.f32 2 (log.f32 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (log.f32 x) (log.f32 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (log.f32 x) (log.f32 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (+.f32 (log.f32 x) (log.f32 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f32 (log.f32 x) (log.f32 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f32 (log.f32 x) (log.f32 2)) (+.f32 (log.f32 x) (log.f32 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f32 (log.f32 x) (log.f32 2)) (+.f32 (log.f32 x) (log.f32 2)))))))

simplify941.0ms (9.2%)

Algorithm
egg-herbie
Rules
6414×rational.json-simplify-51
2104×rational.json-simplify-35
2038×rational.json-simplify-1
1794×rational.json-simplify-2
1422×rational.json-simplify-41
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
067646
1135630
2333630
3784630
41274630
53149630
63548630
73605630
83647630
93689630
103727630
114553630
124612630
134656630
144691630
154726630
164761630
174796630
184831630
195587630
205979630
216019630
226058630
236096630
246134630
256172630
266210630
276248630
286286630
296324630
306362630
316400630
326438630
336476630
346514630
356514630
366552630
Stop Event
node limit
Counts
34 → 28
Calls
Call 1
Inputs
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(-.f32 (+.f32 (log.f32 x) (log.f32 2)) 0)
(*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 1/2))
(*.f32 2 (+.f32 (*.f32 (log.f32 2) 1/2) (*.f32 (log.f32 x) 1/2)))
(*.f32 (+.f32 (log.f32 x) (log.f32 2)) 1)
(*.f32 1 (+.f32 (log.f32 x) (log.f32 2)))
(*.f32 (*.f32 2 (+.f32 (log.f32 x) (log.f32 2))) 1/2)
(*.f32 4 (/.f32 (+.f32 (log.f32 x) (log.f32 2)) 4))
(*.f32 4 (*.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 1/2) 1/2))
(*.f32 4 (*.f32 (/.f32 (+.f32 (log.f32 x) (log.f32 2)) 4) 1))
(*.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 4) 1/4)
(*.f32 1/2 (*.f32 2 (+.f32 (log.f32 x) (log.f32 2))))
(*.f32 1/2 (+.f32 (*.f32 (log.f32 x) 2) (*.f32 2 (log.f32 2))))
(*.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 1/2) 2)
(*.f32 1/4 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 4))
(*.f32 (/.f32 (+.f32 (log.f32 x) (log.f32 2)) 4) 4)
(/.f32 (+.f32 (log.f32 x) (log.f32 2)) 1)
(/.f32 (*.f32 2 (+.f32 (log.f32 x) (log.f32 2))) 2)
(/.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 4) 4)
(/.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8) 8)
(/.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8)) 16)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8))) 32)
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8)))) 64)
Outputs
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (*.f32 -1 (log.f32 (/.f32 1 x))))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (+.f32 (log.f32 2) (log.f32 -1)))
(+.f32 (log.f32 2) (+.f32 (neg.f32 (log.f32 (/.f32 -1 x))) (log.f32 -1)))
(-.f32 (+.f32 (log.f32 x) (log.f32 2)) 0)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 1/2))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 2 (+.f32 (*.f32 (log.f32 2) 1/2) (*.f32 (log.f32 x) 1/2)))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (+.f32 (log.f32 x) (log.f32 2)) 1)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1 (+.f32 (log.f32 x) (log.f32 2)))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (*.f32 2 (+.f32 (log.f32 x) (log.f32 2))) 1/2)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 4 (/.f32 (+.f32 (log.f32 x) (log.f32 2)) 4))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 4 (*.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 1/2) 1/2))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 4 (*.f32 (/.f32 (+.f32 (log.f32 x) (log.f32 2)) 4) 1))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 4) 1/4)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1/2 (*.f32 2 (+.f32 (log.f32 x) (log.f32 2))))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1/2 (+.f32 (*.f32 (log.f32 x) 2) (*.f32 2 (log.f32 2))))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 1/2) 2)
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 1/4 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 4))
(+.f32 (log.f32 2) (log.f32 x))
(*.f32 (/.f32 (+.f32 (log.f32 x) (log.f32 2)) 4) 4)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (+.f32 (log.f32 x) (log.f32 2)) 1)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 2 (+.f32 (log.f32 x) (log.f32 2))) 2)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 4) 4)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8) 8)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8)) 16)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8))) 32)
(+.f32 (log.f32 2) (log.f32 x))
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8))) (*.f32 2 (*.f32 2 (*.f32 (+.f32 (log.f32 x) (log.f32 2)) 8)))) 64)
(+.f32 (log.f32 2) (log.f32 x))

eval82.0ms (0.8%)

Compiler

Compiled 4291 to 3511 computations (18.2% saved)

prune31.0ms (0.3%)

Pruning

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New2110211
Fresh000
Picked011
Done077
Total2118219
Error
0.0b
Counts
219 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
0.6b
(-.f32 (+.f32 (log.f32 x) (log.f32 2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6))))))
1.3b
(+.f32 (log.f32 2) (log.f32 x))
31.0b
(log.f32 (/.f32 1/2 x))
0.7b
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
0.7b
(log.f32 (+.f32 (-.f32 x (/.f32 1/2 x)) x))
0.7b
(log.f32 (+.f32 (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 x -1)) x))
16.0b
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
1.1b
(log.f32 (+.f32 x x))
Compiler

Compiled 87 to 67 computations (23% saved)

regimes26.0ms (0.3%)

Counts
14 → 1
Calls
Call 1
Inputs
(log.f32 (+.f32 x x))
(log.f32 (/.f32 1/2 x))
(log.f32 (+.f32 (-.f32 x (/.f32 1/2 x)) x))
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (*.f32 1/2 (/.f32 1 x)))))
(log.f32 (-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x))))
(log.f32 (+.f32 (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 x -1)) x))
(log.f32 (+.f32 x (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (neg.f32 x)))))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
(-.f32 (+.f32 (log.f32 x) (log.f32 2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6))))))
(-.f32 (-.f32 (log.f32 2) (neg.f32 (log.f32 x))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6))))))
(-.f32 (+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x)))) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6))))))
Outputs
(-.f32 (+.f32 (log.f32 x) (log.f32 2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6))))))
Calls

3 calls:

8.0ms
x
6.0ms
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
6.0ms
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1)))
Results
ErrorSegmentsBranch
0.6b1x
0.6b1(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
0.6b1(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1)))
Compiler

Compiled 204 to 155 computations (24% saved)

regimes20.0ms (0.2%)

Counts
11 → 1
Calls
Call 1
Inputs
(log.f32 (+.f32 x x))
(log.f32 (/.f32 1/2 x))
(log.f32 (+.f32 (-.f32 x (/.f32 1/2 x)) x))
(log.f32 (-.f32 (+.f32 x x) (/.f32 1/2 x)))
(log.f32 (+.f32 x (-.f32 x (*.f32 1/2 (/.f32 1 x)))))
(log.f32 (-.f32 (+.f32 x x) (*.f32 1/2 (/.f32 1 x))))
(log.f32 (+.f32 (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 x -1)) x))
(log.f32 (+.f32 x (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 1 (neg.f32 x)))))
(+.f32 (log.f32 2) (log.f32 x))
(+.f32 (log.f32 2) (neg.f32 (log.f32 (/.f32 1 x))))
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
Outputs
(log.f32 (+.f32 (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 x -1)) x))
Calls

3 calls:

7.0ms
x
5.0ms
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
5.0ms
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1)))
Results
ErrorSegmentsBranch
0.7b1x
0.7b1(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1))))
0.7b1(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) 1)))
Compiler

Compiled 113 to 78 computations (31% saved)

regimes6.0ms (0.1%)

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

1 calls:

4.0ms
x
Results
ErrorSegmentsBranch
0.7b1x
Compiler

Compiled 47 to 29 computations (38.3% saved)

regimes3.0ms (0%)

Accuracy

Total -30.0b remaining (-2782.2%)

Threshold costs -30.0b (-2782.2%)

Counts
2 → 1
Calls
Call 1
Inputs
(log.f32 (+.f32 x x))
(log.f32 (/.f32 1/2 x))
Outputs
(log.f32 (+.f32 x x))
Calls

1 calls:

3.0ms
x
Results
ErrorSegmentsBranch
1.1b1x
Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039156
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f32 (+.f32 (log.f32 x) (log.f32 2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6))))))
(log.f32 (+.f32 (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 x -1)) x))
(log.f32 (+.f32 (-.f32 x (/.f32 1/2 x)) x))
(log.f32 (+.f32 x x))
Outputs
(-.f32 (+.f32 (log.f32 x) (log.f32 2)) (+.f32 (*.f32 1/4 (/.f32 1 (pow.f32 x 2))) (+.f32 (*.f32 3/32 (/.f32 1 (pow.f32 x 4))) (*.f32 5/96 (/.f32 1 (pow.f32 x 6))))))
(log.f32 (+.f32 (+.f32 (-.f32 -1 (/.f32 1/2 x)) (-.f32 x -1)) x))
(log.f32 (+.f32 (-.f32 x (/.f32 1/2 x)) x))
(log.f32 (+.f32 x x))
Compiler

Compiled 57 to 45 computations (21.1% saved)

soundness672.0ms (6.6%)

Algorithm
egg-herbie
Rules
3738×rational.json-simplify-48
2868×rational.json-simplify-1
2010×rational.json-simplify-35
1240×rational.json-simplify-41
946×rational.json-simplify-19
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01962847
13932831
27562831
316432831
430042831
549552831
663762831
0941122
11611114
22561114
35071114
410631114
525921114
629061114
730191114
831031114
931701114
1032401114
1139421114
1240411114
1342531114
1448221114
1549231114
1649731114
1750231114
1850731114
1951231114
2062501114
2168041114
2269911114
2370521114
2471041114
2576461114
2678031114
2778031114
Stop Event
node limit
node limit
Compiler

Compiled 257 to 223 computations (13.2% saved)

end36.0ms (0.4%)

Compiler

Compiled 54 to 42 computations (22.2% saved)

Profiling

Loading profile data...