Details

Time bar (total: 8.0s)

analyze0.0ms (0%)

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

Compiled 4 to 3 computations (25% saved)

sample561.0ms (7%)

Results
551.0ms8256×body256valid
Bogosity

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

Compiled 14 to 10 computations (28.6% saved)

simplify92.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

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

eval0.0ms (0%)

Compiler

Compiled 13 to 9 computations (30.8% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 13 to 9 computations (30.8% saved)

localize19.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))
3.3b
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1))))
14.4b
(sqrt.f64 (+.f64 (*.f64 x x) 1))
Compiler

Compiled 50 to 24 computations (52% saved)

series3.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite71.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

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

simplify87.0ms (1.1%)

Algorithm
egg-herbie
Rules
1606×rational.json-simplify-35
1088×rational.json-simplify-2
1018×rational.json-simplify-40
846×rational.json-simplify-41
776×rational.json-simplify-38
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01892813
14022743
28212743
319242721
449932721
Stop Event
node limit
Counts
79 → 155
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 1/2 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/16 (pow.f64 x 6)) (*.f64 -1/8 (pow.f64 x 4)))))
x
(+.f64 (*.f64 1/2 (/.f64 1 x)) x)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) x) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))
(*.f64 -1 x)
(-.f64 (*.f64 -1 x) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 -1 x)) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 -1 x)) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 1 (pow.f64 x 5)))))
(log.f64 (+.f64 1 (fabs.f64 x)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x))))
(+.f64 (*.f64 -1/24 (*.f64 (+.f64 (*.f64 3 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))) (pow.f64 x 4))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x)))))
(+.f64 (*.f64 -1/24 (*.f64 (+.f64 (*.f64 3 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))) (pow.f64 x 4))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 45 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (+.f64 (*.f64 30 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 3))) (*.f64 45 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))))) (pow.f64 x 6))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x))))))
(*.f64 -1 (log.f64 (/.f64 1 x)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x)))
(+.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 -3 (fabs.f64 x)) (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x))))
(*.f64 -1 (log.f64 (/.f64 -1 x)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (*.f64 -1 (/.f64 (fabs.f64 x) x)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (*.f64 -1 (/.f64 (fabs.f64 x) x))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (*.f64 -1 (/.f64 (fabs.f64 x) x)) (*.f64 -1/6 (/.f64 (+.f64 (*.f64 2 (pow.f64 (fabs.f64 x) 3)) (*.f64 -3 (fabs.f64 x))) (pow.f64 x 3))))))
(+.f64 1 (fabs.f64 x))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (fabs.f64 x)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (fabs.f64 x))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/16 (pow.f64 x 6)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (fabs.f64 x)))))
x
(+.f64 (fabs.f64 x) x)
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))
(*.f64 -1 x)
(+.f64 (fabs.f64 x) (*.f64 -1 x))
(-.f64 (+.f64 (fabs.f64 x) (*.f64 -1 x)) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (+.f64 (fabs.f64 x) (*.f64 -1 x))) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 0)
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 x x) 1)))
(-.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 0)
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 x x) 1)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 1)
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 1/2)
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 2)
(/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 1)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4))) 16)
(pow.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 1)
(+.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 0)
(+.f64 0 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))))
(-.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 0)
(*.f64 1 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))))
(*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 1)
(*.f64 2 (/.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 2))
(*.f64 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 2) 1/2)
(*.f64 1/2 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 2))
(*.f64 (/.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 2) 2)
(/.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 1)
(/.f64 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 2) 2)
(/.f64 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 4)) (*.f64 2 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 4))) 16)
(pow.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 1)
(-.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 0)
(*.f64 1 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)))
(*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 1)
(*.f64 2 (/.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 2))
(*.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 2))
(*.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 2) 2)
(/.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 1)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 2) 2)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 4)) (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 4))) 16)
(pow.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 1)
Outputs
1
(+.f64 1 (*.f64 1/2 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 4))))
(+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 1 (*.f64 -1/8 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/16 (pow.f64 x 6)) (*.f64 -1/8 (pow.f64 x 4)))))
(+.f64 1 (+.f64 (*.f64 1/16 (pow.f64 x 6)) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 4)))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/16 (pow.f64 x 6)))))
(+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/16 (pow.f64 x 6)))))
(+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/16 (pow.f64 x 6)) (+.f64 1 (*.f64 -1/8 (pow.f64 x 4)))))
x
(+.f64 (*.f64 1/2 (/.f64 1 x)) x)
(+.f64 x (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) x) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))
(+.f64 x (-.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (-.f64 x (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))
(+.f64 (+.f64 x (*.f64 1/16 (/.f64 1 (pow.f64 x 5)))) (-.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (-.f64 (+.f64 x (*.f64 1/16 (/.f64 1 (pow.f64 x 5)))) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))))
(+.f64 x (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) (-.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))))
(*.f64 -1 x)
(*.f64 x -1)
(neg.f64 x)
(-.f64 (*.f64 -1 x) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (*.f64 x -1) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (neg.f64 x) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 -1 x)) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (*.f64 x -1) (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x))))
(+.f64 (neg.f64 x) (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x))))
(+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (-.f64 (neg.f64 x) (*.f64 1/2 (/.f64 1 x))))
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 -1 x)) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 1 (pow.f64 x 5)))))
(+.f64 (*.f64 x -1) (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 1 (pow.f64 x 5))))))
(+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (-.f64 (neg.f64 x) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 1 (pow.f64 x 5))))))
(log.f64 (+.f64 1 (fabs.f64 x)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(+.f64 (*.f64 -1/24 (*.f64 (+.f64 (*.f64 3 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))) (pow.f64 x 4))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x)))))
(+.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))) (*.f64 (+.f64 (*.f64 3 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))) (*.f64 (pow.f64 x 4) -1/24)))
(+.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))) (*.f64 (pow.f64 x 4) (*.f64 (*.f64 3 (+.f64 (/.f64 1 (+.f64 1 (fabs.f64 x))) (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))) -1/24)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 3 (*.f64 (+.f64 (/.f64 -1 (-.f64 -1 (fabs.f64 x))) (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))) (*.f64 (pow.f64 x 4) -1/24)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 3 (*.f64 (*.f64 (pow.f64 x 4) -1/24) (+.f64 (/.f64 1 (+.f64 1 (fabs.f64 x))) (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 3 (*.f64 (*.f64 (pow.f64 x 4) -1/24) (+.f64 (/.f64 -1 (-.f64 -1 (fabs.f64 x))) (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))))))
(+.f64 (*.f64 -1/24 (*.f64 (+.f64 (*.f64 3 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))) (pow.f64 x 4))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 45 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (+.f64 (*.f64 30 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 3))) (*.f64 45 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))))) (pow.f64 x 6))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x))))))
(+.f64 (*.f64 (+.f64 (*.f64 3 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))) (*.f64 (pow.f64 x 4) -1/24)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (+.f64 (*.f64 30 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 3))) (+.f64 (*.f64 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)) 45) (*.f64 (/.f64 1 (+.f64 1 (fabs.f64 x))) 45))) (*.f64 (pow.f64 x 6) 1/720)))))
(+.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))) (+.f64 (*.f64 (pow.f64 x 4) (*.f64 (*.f64 3 (+.f64 (/.f64 1 (+.f64 1 (fabs.f64 x))) (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))) -1/24)) (*.f64 (pow.f64 x 6) (*.f64 (+.f64 (*.f64 30 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 3))) (*.f64 45 (+.f64 (/.f64 1 (+.f64 1 (fabs.f64 x))) (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))))) 1/720))))
(+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 3 (*.f64 (+.f64 (/.f64 -1 (-.f64 -1 (fabs.f64 x))) (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))) (*.f64 (pow.f64 x 4) -1/24))))) (*.f64 (pow.f64 x 6) (*.f64 1/720 (+.f64 (*.f64 30 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 3))) (*.f64 45 (+.f64 (/.f64 -1 (-.f64 -1 (fabs.f64 x))) (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))))))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (+.f64 (*.f64 3 (*.f64 (*.f64 (pow.f64 x 4) -1/24) (+.f64 (/.f64 1 (+.f64 1 (fabs.f64 x))) (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (*.f64 (pow.f64 x 6) (*.f64 1/720 (+.f64 (*.f64 30 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 3))) (*.f64 45 (+.f64 (/.f64 1 (+.f64 1 (fabs.f64 x))) (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))))))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (+.f64 (*.f64 3 (*.f64 (*.f64 (pow.f64 x 4) -1/24) (+.f64 (/.f64 -1 (-.f64 -1 (fabs.f64 x))) (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))))) (*.f64 (pow.f64 x 6) (*.f64 1/720 (+.f64 (*.f64 30 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 3))) (*.f64 45 (+.f64 (/.f64 -1 (-.f64 -1 (fabs.f64 x))) (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))))))))))
(*.f64 -1 (log.f64 (/.f64 1 x)))
(neg.f64 (log.f64 (/.f64 1 x)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x))
(+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x))
(+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (/.f64 x (fabs.f64 x)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (/.f64 (fabs.f64 x) x) (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2)))))
(+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (+.f64 (/.f64 (fabs.f64 x) x) (*.f64 1/2 (/.f64 (+.f64 1 (neg.f64 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2)))))
(+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 1 (pow.f64 (fabs.f64 x) 2)) (pow.f64 x 2))) (/.f64 x (fabs.f64 x))))
(+.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 -3 (fabs.f64 x)) (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x)) (*.f64 1/6 (/.f64 (+.f64 (*.f64 (fabs.f64 x) -3) (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3)))))
(+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (+.f64 (+.f64 (/.f64 (fabs.f64 x) x) (*.f64 1/2 (/.f64 (+.f64 1 (neg.f64 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2)))) (*.f64 1/6 (/.f64 (+.f64 (*.f64 (fabs.f64 x) -3) (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3)))))
(+.f64 (+.f64 (/.f64 (fabs.f64 x) x) (*.f64 1/2 (/.f64 (+.f64 1 (neg.f64 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2)))) (+.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 (fabs.f64 x) -3) (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3))) (neg.f64 (log.f64 (/.f64 1 x)))))
(+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (+.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 (fabs.f64 x) -3) (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 1 (pow.f64 (fabs.f64 x) 2)) (pow.f64 x 2))) (/.f64 x (fabs.f64 x)))))
(+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 1 (pow.f64 (fabs.f64 x) 2)) (pow.f64 x 2))) (+.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 (fabs.f64 x) -3) (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3))) (/.f64 x (fabs.f64 x)))))
(*.f64 -1 (log.f64 (/.f64 -1 x)))
(neg.f64 (log.f64 (/.f64 -1 x)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (*.f64 -1 (/.f64 (fabs.f64 x) x)))
(*.f64 -1 (+.f64 (/.f64 (fabs.f64 x) x) (log.f64 (/.f64 -1 x))))
(neg.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (*.f64 -1 (/.f64 (fabs.f64 x) x))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (neg.f64 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (*.f64 -1 (+.f64 (/.f64 (fabs.f64 x) x) (log.f64 (/.f64 -1 x)))))
(+.f64 (*.f64 1/2 (/.f64 (-.f64 1 (pow.f64 (fabs.f64 x) 2)) (pow.f64 x 2))) (neg.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (*.f64 -1 (/.f64 (fabs.f64 x) x)) (*.f64 -1/6 (/.f64 (+.f64 (*.f64 2 (pow.f64 (fabs.f64 x) 3)) (*.f64 -3 (fabs.f64 x))) (pow.f64 x 3))))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (*.f64 -1 (/.f64 (fabs.f64 x) x)) (*.f64 -1/6 (/.f64 (+.f64 (*.f64 (fabs.f64 x) -3) (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3))))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (neg.f64 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1/6 (/.f64 (+.f64 (*.f64 (fabs.f64 x) -3) (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3))) (*.f64 -1 (+.f64 (/.f64 (fabs.f64 x) x) (log.f64 (/.f64 -1 x))))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (neg.f64 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (+.f64 (/.f64 (fabs.f64 x) x) (log.f64 (/.f64 -1 x)))) (*.f64 -1/6 (/.f64 (+.f64 (*.f64 (fabs.f64 x) -3) (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3)))))
(+.f64 (*.f64 1/2 (/.f64 (-.f64 1 (pow.f64 (fabs.f64 x) 2)) (pow.f64 x 2))) (+.f64 (neg.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x)))) (*.f64 -1/6 (/.f64 (+.f64 (*.f64 (fabs.f64 x) -3) (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3)))))
(+.f64 1 (fabs.f64 x))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (fabs.f64 x)))
(+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 1 (fabs.f64 x)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (fabs.f64 x))))
(+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (fabs.f64 x)) 1))
(+.f64 (+.f64 1 (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (fabs.f64 x)))
(+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (+.f64 1 (fabs.f64 x))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/16 (pow.f64 x 6)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (fabs.f64 x)))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (fabs.f64 x) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/16 (pow.f64 x 6))))))
(+.f64 1 (+.f64 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (fabs.f64 x)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/16 (pow.f64 x 6)))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/16 (pow.f64 x 6))) (fabs.f64 x))))
(+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (+.f64 (*.f64 1/16 (pow.f64 x 6)) (+.f64 1 (fabs.f64 x)))))
x
(+.f64 (fabs.f64 x) x)
(+.f64 x (fabs.f64 x))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 x (fabs.f64 x)))
(+.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (fabs.f64 x)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))
(+.f64 (+.f64 x (fabs.f64 x)) (-.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))))
(+.f64 (+.f64 x (*.f64 1/2 (/.f64 1 x))) (-.f64 (fabs.f64 x) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))))
(+.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (fabs.f64 x)) (-.f64 x (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))))
(+.f64 x (+.f64 (-.f64 (fabs.f64 x) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))) (*.f64 1/2 (/.f64 1 x))))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) (-.f64 x (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))))
(*.f64 -1 x)
(*.f64 x -1)
(neg.f64 x)
(+.f64 (fabs.f64 x) (*.f64 -1 x))
(+.f64 (*.f64 x -1) (fabs.f64 x))
(+.f64 (neg.f64 x) (fabs.f64 x))
(-.f64 (+.f64 (fabs.f64 x) (*.f64 -1 x)) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (*.f64 x -1) (-.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x))))
(-.f64 (+.f64 (neg.f64 x) (fabs.f64 x)) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (neg.f64 x) (-.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x))))
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (+.f64 (fabs.f64 x) (*.f64 -1 x))) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (+.f64 (*.f64 x -1) (fabs.f64 x)) (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x))))
(+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (-.f64 (+.f64 (neg.f64 x) (fabs.f64 x)) (*.f64 1/2 (/.f64 1 x))))
(+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (+.f64 (neg.f64 x) (-.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 0)
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 x x) 1)))
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(-.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 0)
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 x x) 1)))
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 1)
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2))
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 1/2)
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2))
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 2)
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 1)
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 2)
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4) 4)
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4)) 8)
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4))) 16)
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(pow.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 1)
(sqrt.f64 (+.f64 1 (*.f64 x x)))
(+.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 0)
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(+.f64 0 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))))
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(-.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 0)
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(*.f64 1 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))))
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 1)
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(*.f64 2 (/.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 2))
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(*.f64 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 2) 1/2)
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(*.f64 1/2 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 2))
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(*.f64 (/.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 2) 2)
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(/.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 1)
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(/.f64 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 2) 2)
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(/.f64 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 4) 4)
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(/.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 4)) 8)
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 4)) (*.f64 2 (*.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 4))) 16)
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(pow.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x))) 1)
(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x)))))
(-.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 0)
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x))))
(*.f64 1 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x))))
(*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 1)
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x))))
(*.f64 2 (/.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 2))
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x))))
(*.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 2) 1/2)
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x))))
(*.f64 1/2 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 2))
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x))))
(*.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 2) 2)
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x))))
(/.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 1)
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x))))
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 2) 2)
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x))))
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 4) 4)
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 4)) 8)
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 4)) (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 4))) 16)
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x))))
(pow.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) (fabs.f64 x)) 1)
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 1 (*.f64 x x))))

eval167.0ms (2.1%)

Compiler

Compiled 3533 to 2425 computations (31.4% saved)

prune28.0ms (0.3%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New14510155
Fresh000
Picked011
Done000
Total14511156
Error
27.3b
Counts
156 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
60.4b
(copysign.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x)))) x)
58.4b
(copysign.f64 (+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x)) x)
56.6b
(copysign.f64 (neg.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x)))) x)
58.7b
(copysign.f64 (neg.f64 (log.f64 (/.f64 1 x))) x)
57.0b
(copysign.f64 (neg.f64 (log.f64 (/.f64 -1 x))) x)
43.6b
(copysign.f64 (log.f64 (-.f64 (+.f64 (neg.f64 x) (fabs.f64 x)) (*.f64 1/2 (/.f64 1 x)))) x)
48.8b
(copysign.f64 (log.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))) x)
43.6b
(copysign.f64 (log.f64 (+.f64 (neg.f64 x) (fabs.f64 x))) x)
43.1b
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x)
48.8b
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) x)) x)
51.4b
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) x)
Compiler

Compiled 243 to 173 computations (28.8% saved)

localize50.0ms (0.6%)

Compiler

Compiled 58 to 30 computations (48.3% saved)

localize12.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 16 computations (27.3% saved)

series107.0ms (1.3%)

Counts
1 → 8
Calls

3 calls:

TimeVariablePointExpression
88.0ms
x
@0
(log.f64 (/.f64 -1 x))
13.0ms
x
@-inf
(log.f64 (/.f64 -1 x))
6.0ms
x
@inf
(log.f64 (/.f64 -1 x))

rewrite105.0ms (1.3%)

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

Useful iterations: 0 (0.0ms)

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

simplify787.0ms (9.9%)

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

Useful iterations: 1 (0.0ms)

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

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.2b
(log.f64 (+.f64 (fabs.f64 x) 1))
Compiler

Compiled 21 to 12 computations (42.9% saved)

series49.0ms (0.6%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
28.0ms
x
@inf
(log.f64 (+.f64 (fabs.f64 x) 1))
11.0ms
x
@0
(log.f64 (+.f64 (fabs.f64 x) 1))
10.0ms
x
@-inf
(log.f64 (+.f64 (fabs.f64 x) 1))

rewrite54.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1426×rational.json-simplify-35
1192×rational.json-1
1192×rational.json-2
1192×rational.json-3
1190×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
16315
215915
350515
4375115
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(log.f64 (+.f64 (fabs.f64 x) 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (+.f64 (fabs.f64 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (+.f64 (fabs.f64 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 4)) (*.f64 2 (*.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) 1)))))

simplify637.0ms (8%)

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

Useful iterations: 0 (0.0ms)

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

localize10.0ms (0.1%)

Compiler

Compiled 25 to 6 computations (76% saved)

localize24.0ms (0.3%)

Local error

Found 1 expressions with local error:

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

Compiled 43 to 24 computations (44.2% saved)

series7.0ms (0.1%)

Counts
1 → 8
Calls

3 calls:

TimeVariablePointExpression
6.0ms
x
@0
(log.f64 (/.f64 1 x))
0.0ms
x
@-inf
(log.f64 (/.f64 1 x))
0.0ms
x
@inf
(log.f64 (/.f64 1 x))

rewrite90.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1672×rational.json-simplify-35
1050×rational.json-1
1050×rational.json-2
1050×rational.json-3
1040×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
15611
213411
326511
453411
5141511
6411811
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(log.f64 (/.f64 1 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 1 x))) (log.f64 (sqrt.f64 (/.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (sqrt.f64 (/.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (log.f64 (/.f64 1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (/.f64 1 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (/.f64 1 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (log.f64 (/.f64 1 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (log.f64 (/.f64 1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (sqrt.f64 (/.f64 1 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (log.f64 (/.f64 1 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 (/.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (/.f64 1 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (/.f64 1 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (/.f64 1 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (log.f64 (/.f64 1 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (/.f64 1 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (/.f64 1 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 (/.f64 1 x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 1 x)) 1)))))

simplify850.0ms (10.7%)

Algorithm
egg-herbie
Rules
7014×rational.json-simplify-41
2036×rational.json-simplify-35
1820×rational.json-simplify-2
1180×rational.json-simplify-49
1038×rational.json-simplify-51
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
054370
1102362
2255362
3747362
41240362
52416362
63041362
73099362
83142362
93179362
103212362
113245362
123299362
133332362
143365362
153398362
163431362
173464362
183497362
194351362
204817362
214917362
224954362
234990362
245026362
255062362
265098362
275134362
285170362
295206362
305242362
315278362
325314362
335350362
345386362
355422362
365422362
375422362
Stop Event
node limit
Counts
30 → 26
Calls
Call 1
Inputs
(*.f64 -1 (log.f64 x))
(*.f64 -1 (log.f64 x))
(*.f64 -1 (log.f64 x))
(*.f64 -1 (log.f64 x))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 1 x)) 0)
(+.f64 0 (log.f64 (/.f64 1 x)))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 x))) (log.f64 (sqrt.f64 (/.f64 1 x))))
(-.f64 (log.f64 (/.f64 1 x)) 0)
(*.f64 1 (log.f64 (/.f64 1 x)))
(*.f64 (log.f64 (/.f64 1 x)) 1)
(*.f64 2 (log.f64 (sqrt.f64 (/.f64 1 x))))
(*.f64 4 (/.f64 (log.f64 (/.f64 1 x)) 4))
(*.f64 (*.f64 (log.f64 (/.f64 1 x)) 2) 1/2)
(*.f64 (*.f64 (log.f64 (/.f64 1 x)) 4) 1/4)
(*.f64 1/2 (*.f64 (log.f64 (/.f64 1 x)) 2))
(*.f64 1/4 (*.f64 (log.f64 (/.f64 1 x)) 4))
(*.f64 (log.f64 (sqrt.f64 (/.f64 1 x))) 2)
(*.f64 (/.f64 (log.f64 (/.f64 1 x)) 4) 4)
(/.f64 (log.f64 (/.f64 1 x)) 1)
(/.f64 (*.f64 (log.f64 (/.f64 1 x)) 2) 2)
(/.f64 (*.f64 (log.f64 (/.f64 1 x)) 4) 4)
(/.f64 (*.f64 (log.f64 (/.f64 1 x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (log.f64 (/.f64 1 x)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (/.f64 1 x)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (/.f64 1 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 (/.f64 1 x)) 8)))) 64)
(pow.f64 (log.f64 (/.f64 1 x)) 1)
Outputs
(*.f64 -1 (log.f64 x))
(neg.f64 (log.f64 x))
(*.f64 -1 (log.f64 x))
(neg.f64 (log.f64 x))
(*.f64 -1 (log.f64 x))
(neg.f64 (log.f64 x))
(*.f64 -1 (log.f64 x))
(neg.f64 (log.f64 x))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 1 x)) 0)
(log.f64 (/.f64 1 x))
(+.f64 0 (log.f64 (/.f64 1 x)))
(log.f64 (/.f64 1 x))
(+.f64 (log.f64 (sqrt.f64 (/.f64 1 x))) (log.f64 (sqrt.f64 (/.f64 1 x))))
(log.f64 (/.f64 1 x))
(-.f64 (log.f64 (/.f64 1 x)) 0)
(log.f64 (/.f64 1 x))
(*.f64 1 (log.f64 (/.f64 1 x)))
(log.f64 (/.f64 1 x))
(*.f64 (log.f64 (/.f64 1 x)) 1)
(log.f64 (/.f64 1 x))
(*.f64 2 (log.f64 (sqrt.f64 (/.f64 1 x))))
(log.f64 (/.f64 1 x))
(*.f64 4 (/.f64 (log.f64 (/.f64 1 x)) 4))
(log.f64 (/.f64 1 x))
(*.f64 (*.f64 (log.f64 (/.f64 1 x)) 2) 1/2)
(log.f64 (/.f64 1 x))
(*.f64 (*.f64 (log.f64 (/.f64 1 x)) 4) 1/4)
(log.f64 (/.f64 1 x))
(*.f64 1/2 (*.f64 (log.f64 (/.f64 1 x)) 2))
(log.f64 (/.f64 1 x))
(*.f64 1/4 (*.f64 (log.f64 (/.f64 1 x)) 4))
(log.f64 (/.f64 1 x))
(*.f64 (log.f64 (sqrt.f64 (/.f64 1 x))) 2)
(log.f64 (/.f64 1 x))
(*.f64 (/.f64 (log.f64 (/.f64 1 x)) 4) 4)
(log.f64 (/.f64 1 x))
(/.f64 (log.f64 (/.f64 1 x)) 1)
(log.f64 (/.f64 1 x))
(/.f64 (*.f64 (log.f64 (/.f64 1 x)) 2) 2)
(log.f64 (/.f64 1 x))
(/.f64 (*.f64 (log.f64 (/.f64 1 x)) 4) 4)
(log.f64 (/.f64 1 x))
(/.f64 (*.f64 (log.f64 (/.f64 1 x)) 8) 8)
(log.f64 (/.f64 1 x))
(/.f64 (*.f64 2 (*.f64 (log.f64 (/.f64 1 x)) 8)) 16)
(log.f64 (/.f64 1 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (/.f64 1 x)) 8))) 32)
(log.f64 (/.f64 1 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (/.f64 1 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 (/.f64 1 x)) 8)))) 64)
(log.f64 (/.f64 1 x))
(pow.f64 (log.f64 (/.f64 1 x)) 1)
(log.f64 (/.f64 1 x))

eval16.0ms (0.2%)

Compiler

Compiled 899 to 629 computations (30% saved)

prune17.0ms (0.2%)

Pruning

11 alts after pruning (6 fresh and 5 done)

PrunedKeptTotal
New70171
Fresh055
Picked101
Done055
Total711182
Error
27.3b
Counts
82 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
60.4b
(copysign.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x)))) x)
58.4b
(copysign.f64 (+.f64 (neg.f64 (neg.f64 (log.f64 x))) (/.f64 (fabs.f64 x) x)) x)
56.6b
(copysign.f64 (neg.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x)))) x)
58.7b
(copysign.f64 (neg.f64 (log.f64 (/.f64 1 x))) x)
57.0b
(copysign.f64 (neg.f64 (log.f64 (/.f64 -1 x))) x)
43.6b
(copysign.f64 (log.f64 (-.f64 (+.f64 (neg.f64 x) (fabs.f64 x)) (*.f64 1/2 (/.f64 1 x)))) x)
48.8b
(copysign.f64 (log.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))) x)
43.6b
(copysign.f64 (log.f64 (+.f64 (neg.f64 x) (fabs.f64 x))) x)
43.1b
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x)
48.8b
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) x)) x)
51.4b
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) x)
Compiler

Compiled 201 to 142 computations (29.4% saved)

localize19.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
Compiler

Compiled 52 to 29 computations (44.2% saved)

series1.0ms (0%)

Counts
1 → 8
Calls

3 calls:

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

rewrite62.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1598×rational.json-simplify-35
1346×exponential.json-3
1346×rational.json-1
1346×rational.json-2
1346×rational.json-4
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01129
18829
221329
363723
4405823
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 x x) (/.f64 (+.f64 x (fabs.f64 x)) (*.f64 (+.f64 x (fabs.f64 x)) (+.f64 x (fabs.f64 x))))) (*.f64 (+.f64 x x) (/.f64 (+.f64 x (fabs.f64 x)) (*.f64 (+.f64 x (fabs.f64 x)) (+.f64 x (fabs.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (+.f64 x (fabs.f64 x)) (*.f64 (+.f64 x (fabs.f64 x)) (+.f64 x (fabs.f64 x)))) (+.f64 x x)) (*.f64 (/.f64 (+.f64 x (fabs.f64 x)) (*.f64 (+.f64 x (fabs.f64 x)) (+.f64 x (fabs.f64 x)))) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4)) (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)))))

simplify78.0ms (1%)

Algorithm
egg-herbie
Rules
1444×rational.json-simplify-2
1276×rational.json-simplify-47
1270×rational.json-simplify-44
948×rational.json-simplify-51
852×rational.json-simplify-61
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049457
1112457
2276457
3860457
45337457
Stop Event
node limit
Counts
23 → 24
Calls
Call 1
Inputs
(/.f64 1/2 x)
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (+.f64 (*.f64 1/2 (/.f64 1 x)) x))
(+.f64 (fabs.f64 x) (+.f64 (*.f64 1/2 (/.f64 1 x)) x))
x
(+.f64 (fabs.f64 x) x)
x
(+.f64 (fabs.f64 x) x)
(-.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 0)
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2))
(*.f64 1 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))))
(*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)
(*.f64 2 (/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2))
(*.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 1/2)
(*.f64 (/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 2)
(/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)
(/.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 2)
(/.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4)) 8)
(/.f64 (+.f64 (+.f64 x x) (/.f64 (+.f64 x (fabs.f64 x)) (*.f64 (+.f64 x (fabs.f64 x)) (+.f64 x (fabs.f64 x))))) (*.f64 (+.f64 x x) (/.f64 (+.f64 x (fabs.f64 x)) (*.f64 (+.f64 x (fabs.f64 x)) (+.f64 x (fabs.f64 x))))))
(/.f64 (+.f64 (/.f64 (+.f64 x (fabs.f64 x)) (*.f64 (+.f64 x (fabs.f64 x)) (+.f64 x (fabs.f64 x)))) (+.f64 x x)) (*.f64 (/.f64 (+.f64 x (fabs.f64 x)) (*.f64 (+.f64 x (fabs.f64 x)) (+.f64 x (fabs.f64 x)))) (+.f64 x x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4)) (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4))) 16)
(pow.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)
Outputs
(/.f64 1/2 x)
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (+.f64 (*.f64 1/2 (/.f64 1 x)) x))
(+.f64 (fabs.f64 x) (+.f64 x (*.f64 1/2 (/.f64 1 x))))
(+.f64 x (+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x))))
(+.f64 (fabs.f64 x) (+.f64 (*.f64 1/2 (/.f64 1 x)) x))
(+.f64 (fabs.f64 x) (+.f64 x (*.f64 1/2 (/.f64 1 x))))
(+.f64 x (+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x))))
x
(+.f64 (fabs.f64 x) x)
(+.f64 x (fabs.f64 x))
x
(+.f64 (fabs.f64 x) x)
(+.f64 x (fabs.f64 x))
(-.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 0)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2))
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(*.f64 1 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))))
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(*.f64 2 (/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2))
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(*.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 1/2)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(*.f64 (/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 2)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(/.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 2)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(/.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4) 4)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4)) 8)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(/.f64 (+.f64 (+.f64 x x) (/.f64 (+.f64 x (fabs.f64 x)) (*.f64 (+.f64 x (fabs.f64 x)) (+.f64 x (fabs.f64 x))))) (*.f64 (+.f64 x x) (/.f64 (+.f64 x (fabs.f64 x)) (*.f64 (+.f64 x (fabs.f64 x)) (+.f64 x (fabs.f64 x))))))
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(/.f64 (+.f64 (/.f64 (+.f64 x (fabs.f64 x)) (*.f64 (+.f64 x (fabs.f64 x)) (+.f64 x (fabs.f64 x)))) (+.f64 x x)) (*.f64 (/.f64 (+.f64 x (fabs.f64 x)) (*.f64 (+.f64 x (fabs.f64 x)) (+.f64 x (fabs.f64 x)))) (+.f64 x x)))
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4)) (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4))) 16)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(pow.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 16 computations (27.3% saved)

localize8.0ms (0.1%)

Compiler

Compiled 20 to 5 computations (75% saved)

localize12.0ms (0.2%)

Compiler

Compiled 37 to 8 computations (78.4% saved)

localize628.0ms (7.9%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (/.f64 -1 x))
0.0b
(+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x)))
Compiler

Compiled 47 to 24 computations (48.9% saved)

series1.0ms (0%)

Counts
1 → 9
Calls

3 calls:

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

rewrite56.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1396×rational.json-simplify-35
1230×rational.json-1
1230×rational.json-2
1230×rational.json-3
1228×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01027
17527
220627
371827
4382827
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 4)) (*.f64 2 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 1)))))

simplify103.0ms (1.3%)

Algorithm
egg-herbie
Rules
1720×rational.json-simplify-35
1338×rational.json-simplify-2
1146×rational.json-simplify-1
832×rational.json-simplify-41
728×rational.json-simplify-59
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
045616
193608
2204608
3553608
42061608
55009608
67464608
Stop Event
node limit
Counts
22 → 23
Calls
Call 1
Inputs
(+.f64 (log.f64 -1) (*.f64 -1 (log.f64 x)))
(+.f64 (log.f64 -1) (+.f64 (/.f64 x (fabs.f64 x)) (*.f64 -1 (log.f64 x))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 x (fabs.f64 x)) (*.f64 -1 (log.f64 x))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 x (fabs.f64 x)) (*.f64 -1 (log.f64 x))))
(/.f64 x (fabs.f64 x))
(+.f64 (log.f64 (/.f64 1 x)) (+.f64 (log.f64 -1) (/.f64 x (fabs.f64 x))))
(+.f64 (log.f64 (/.f64 1 x)) (+.f64 (log.f64 -1) (/.f64 x (fabs.f64 x))))
(+.f64 (log.f64 (/.f64 1 x)) (+.f64 (log.f64 -1) (/.f64 x (fabs.f64 x))))
(/.f64 x (fabs.f64 x))
(-.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 0)
(*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 1)
(*.f64 1 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))))
(*.f64 2 (/.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2))
(*.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2))
(*.f64 (/.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2) 2)
(/.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 1)
(/.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2) 2)
(/.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 4)) (*.f64 2 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 4))) 16)
(pow.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 1)
Outputs
(+.f64 (log.f64 -1) (*.f64 -1 (log.f64 x)))
(+.f64 (log.f64 -1) (neg.f64 (log.f64 x)))
(+.f64 (log.f64 -1) (+.f64 (/.f64 x (fabs.f64 x)) (*.f64 -1 (log.f64 x))))
(+.f64 (log.f64 -1) (+.f64 (*.f64 -1 (log.f64 x)) (/.f64 x (fabs.f64 x))))
(+.f64 (log.f64 -1) (+.f64 (neg.f64 (log.f64 x)) (/.f64 x (fabs.f64 x))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 x (fabs.f64 x)) (*.f64 -1 (log.f64 x))))
(+.f64 (log.f64 -1) (+.f64 (*.f64 -1 (log.f64 x)) (/.f64 x (fabs.f64 x))))
(+.f64 (log.f64 -1) (+.f64 (neg.f64 (log.f64 x)) (/.f64 x (fabs.f64 x))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 x (fabs.f64 x)) (*.f64 -1 (log.f64 x))))
(+.f64 (log.f64 -1) (+.f64 (*.f64 -1 (log.f64 x)) (/.f64 x (fabs.f64 x))))
(+.f64 (log.f64 -1) (+.f64 (neg.f64 (log.f64 x)) (/.f64 x (fabs.f64 x))))
(/.f64 x (fabs.f64 x))
(+.f64 (log.f64 (/.f64 1 x)) (+.f64 (log.f64 -1) (/.f64 x (fabs.f64 x))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 1 x))))
(+.f64 (/.f64 x (fabs.f64 x)) (+.f64 (log.f64 (/.f64 1 x)) (log.f64 -1)))
(+.f64 (log.f64 (/.f64 1 x)) (+.f64 (log.f64 -1) (/.f64 x (fabs.f64 x))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 1 x))))
(+.f64 (/.f64 x (fabs.f64 x)) (+.f64 (log.f64 (/.f64 1 x)) (log.f64 -1)))
(+.f64 (log.f64 (/.f64 1 x)) (+.f64 (log.f64 -1) (/.f64 x (fabs.f64 x))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 1 x))))
(+.f64 (/.f64 x (fabs.f64 x)) (+.f64 (log.f64 (/.f64 1 x)) (log.f64 -1)))
(/.f64 x (fabs.f64 x))
(-.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 0)
(+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 -1 x)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 1)
(+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 -1 x)))
(*.f64 1 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))))
(+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 -1 x)))
(*.f64 2 (/.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2))
(+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 -1 x)))
(*.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2) 1/2)
(+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 -1 x)))
(*.f64 1/2 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2))
(+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 -1 x)))
(*.f64 (/.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2) 2)
(+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 -1 x)))
(/.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 1)
(+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 -1 x)))
(/.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 2) 2)
(+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 -1 x)))
(/.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 4) 4)
(+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 -1 x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 4)) 8)
(+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 -1 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 4)) (*.f64 2 (*.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 4))) 16)
(+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 -1 x)))
(pow.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x))) 1)
(+.f64 (/.f64 x (fabs.f64 x)) (log.f64 (/.f64 -1 x)))

eval22.0ms (0.3%)

Compiler

Compiled 1452 to 906 computations (37.6% saved)

prune48.0ms (0.6%)

Pruning

10 alts after pruning (5 fresh and 5 done)

PrunedKeptTotal
New984102
Fresh011
Picked101
Done459
Total10310113
Error
27.3b
Counts
113 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
60.4b
(copysign.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x)))) x)
57.5b
(copysign.f64 (neg.f64 (/.f64 x (fabs.f64 x))) x)
57.0b
(copysign.f64 (neg.f64 (log.f64 (/.f64 -1 x))) x)
48.8b
(copysign.f64 (log.f64 (/.f64 1/2 x)) x)
43.6b
(copysign.f64 (log.f64 (-.f64 (+.f64 (neg.f64 x) (fabs.f64 x)) (*.f64 1/2 (/.f64 1 x)))) x)
43.6b
(copysign.f64 (log.f64 (+.f64 (neg.f64 x) (fabs.f64 x))) x)
43.1b
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x)
51.4b
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) x)
48.8b
(copysign.f64 (log.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))) x)
58.7b
(copysign.f64 (log.f64 x) x)
Compiler

Compiled 155 to 108 computations (30.3% saved)

localize17.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
0.5b
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
Compiler

Compiled 42 to 23 computations (45.2% saved)

series333.0ms (4.2%)

Counts
2 → 24
Calls

6 calls:

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

rewrite71.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1544×rational.json-simplify-35
1308×exponential.json-3
1308×rational.json-1
1308×rational.json-2
1308×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0940
16640
217340
361340
4411940
Stop Event
node limit
Counts
2 → 35
Calls
Call 1
Inputs
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4)) (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 1/2 x) (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (*.f64 x (/.f64 2 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x)))) (*.f64 2 (*.f64 x (/.f64 2 (fabs.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (+.f64 x x)) (/.f64 1 (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (neg.f64 x) -1/2) (/.f64 1 (fabs.f64 x))) (*.f64 (/.f64 (neg.f64 x) -1/2) (/.f64 1 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 (neg.f64 x) -1/2)) (*.f64 (/.f64 1 (fabs.f64 x)) (/.f64 (neg.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x)))) (*.f64 2 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))))) (+.f64 (*.f64 2 (*.f64 x (/.f64 2 (fabs.f64 x)))) (*.f64 2 (*.f64 x (/.f64 2 (fabs.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 4)) (*.f64 2 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (+.f64 x x)) (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (+.f64 x x))) (/.f64 2 (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x)))) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 1)))))

simplify110.0ms (1.4%)

Algorithm
egg-herbie
Rules
1416×rational.json-simplify-35
928×rational.json-simplify-2
854×rational.json-simplify-46
798×rational.json-simplify-41
556×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0881125
12131125
25591125
319001125
451961125
570211125
Stop Event
node limit
Counts
59 → 48
Calls
Call 1
Inputs
(/.f64 1/2 x)
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (+.f64 (*.f64 1/2 (/.f64 1 x)) x))
(+.f64 (fabs.f64 x) (+.f64 (*.f64 1/2 (/.f64 1 x)) x))
x
(+.f64 (fabs.f64 x) x)
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
x
(+.f64 (fabs.f64 x) x)
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
(/.f64 1/2 x)
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(fabs.f64 x)
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(fabs.f64 x)
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 0)
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2))
(*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)
(*.f64 1 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))))
(*.f64 2 (/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2))
(*.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 1/2)
(*.f64 (/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 2)
(/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)
(/.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 2)
(/.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4)) (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4))) 16)
(pow.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)
(-.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 0)
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2))
(*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 1)
(*.f64 1 (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(*.f64 2 (/.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2))
(*.f64 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2) 1/2)
(*.f64 (/.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2) 2)
(/.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 1)
(/.f64 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2) 2)
(/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (*.f64 x (/.f64 2 (fabs.f64 x))))
(/.f64 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 4) 4)
(/.f64 (*.f64 2 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x)))) (*.f64 2 (*.f64 x (/.f64 2 (fabs.f64 x)))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 4)) 8)
(/.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (+.f64 x x)) (/.f64 1 (fabs.f64 x)))
(/.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (+.f64 x x))
(/.f64 (+.f64 (/.f64 (neg.f64 x) -1/2) (/.f64 1 (fabs.f64 x))) (*.f64 (/.f64 (neg.f64 x) -1/2) (/.f64 1 (fabs.f64 x))))
(/.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 (neg.f64 x) -1/2)) (*.f64 (/.f64 1 (fabs.f64 x)) (/.f64 (neg.f64 x) -1/2)))
(/.f64 (+.f64 (*.f64 2 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x)))) (*.f64 2 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))))) (+.f64 (*.f64 2 (*.f64 x (/.f64 2 (fabs.f64 x)))) (*.f64 2 (*.f64 x (/.f64 2 (fabs.f64 x))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 4)) (*.f64 2 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 4))) 16)
(/.f64 (+.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (+.f64 x x)) (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (+.f64 x x))) (/.f64 2 (fabs.f64 x)))
(/.f64 (+.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x)))) (*.f64 x 4))
(pow.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 1)
Outputs
(/.f64 1/2 x)
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (+.f64 (*.f64 1/2 (/.f64 1 x)) x))
(+.f64 (fabs.f64 x) (+.f64 x (*.f64 1/2 (/.f64 1 x))))
(+.f64 x (+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x))))
(+.f64 (fabs.f64 x) (+.f64 (*.f64 1/2 (/.f64 1 x)) x))
(+.f64 (fabs.f64 x) (+.f64 x (*.f64 1/2 (/.f64 1 x))))
(+.f64 x (+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x))))
x
(+.f64 (fabs.f64 x) x)
(+.f64 x (fabs.f64 x))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
(+.f64 (fabs.f64 x) (+.f64 x (*.f64 1/2 (/.f64 1 x))))
(+.f64 x (+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x))))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
(+.f64 (fabs.f64 x) (+.f64 x (*.f64 1/2 (/.f64 1 x))))
(+.f64 x (+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x))))
x
(+.f64 (fabs.f64 x) x)
(+.f64 x (fabs.f64 x))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
(+.f64 (fabs.f64 x) (+.f64 x (*.f64 1/2 (/.f64 1 x))))
(+.f64 x (+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x))))
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
(+.f64 (fabs.f64 x) (+.f64 x (*.f64 1/2 (/.f64 1 x))))
(+.f64 x (+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x))))
(/.f64 1/2 x)
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(fabs.f64 x)
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(fabs.f64 x)
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 0)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (+.f64 x (/.f64 1/2 x)))
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2))
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (+.f64 x (/.f64 1/2 x)))
(*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (+.f64 x (/.f64 1/2 x)))
(*.f64 1 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))))
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (+.f64 x (/.f64 1/2 x)))
(*.f64 2 (/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2))
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (+.f64 x (/.f64 1/2 x)))
(*.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 1/2)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (+.f64 x (/.f64 1/2 x)))
(*.f64 (/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 2)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (+.f64 x (/.f64 1/2 x)))
(/.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (+.f64 x (/.f64 1/2 x)))
(/.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 2) 2)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (+.f64 x (/.f64 1/2 x)))
(/.f64 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4) 4)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (+.f64 x (/.f64 1/2 x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4)) 8)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (+.f64 x (/.f64 1/2 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4)) (*.f64 2 (*.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 4))) 16)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (+.f64 x (/.f64 1/2 x)))
(pow.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x))) 1)
(+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (fabs.f64 x) (+.f64 x (/.f64 1/2 x)))
(-.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 0)
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2))
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 1)
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(*.f64 1 (+.f64 (/.f64 1/2 x) (fabs.f64 x)))
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(*.f64 2 (/.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2))
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(*.f64 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2) 1/2)
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(*.f64 (/.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2) 2)
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 1)
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 2) 2)
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (*.f64 x (/.f64 2 (fabs.f64 x))))
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 4) 4)
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (*.f64 2 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x)))) (*.f64 2 (*.f64 x (/.f64 2 (fabs.f64 x)))))
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 4)) 8)
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (+.f64 x x)) (/.f64 1 (fabs.f64 x)))
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (+.f64 x x))
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (+.f64 (/.f64 (neg.f64 x) -1/2) (/.f64 1 (fabs.f64 x))) (*.f64 (/.f64 (neg.f64 x) -1/2) (/.f64 1 (fabs.f64 x))))
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 (neg.f64 x) -1/2)) (*.f64 (/.f64 1 (fabs.f64 x)) (/.f64 (neg.f64 x) -1/2)))
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (+.f64 (*.f64 2 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x)))) (*.f64 2 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))))) (+.f64 (*.f64 2 (*.f64 x (/.f64 2 (fabs.f64 x)))) (*.f64 2 (*.f64 x (/.f64 2 (fabs.f64 x))))))
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 4)) (*.f64 2 (*.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 4))) 16)
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (+.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (+.f64 x x)) (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (+.f64 x x))) (/.f64 2 (fabs.f64 x)))
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(/.f64 (+.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 (+.f64 (+.f64 x x) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x)))) (*.f64 x 4))
(+.f64 (/.f64 1/2 x) (fabs.f64 x))
(pow.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) 1)
(+.f64 (/.f64 1/2 x) (fabs.f64 x))

localize5.0ms (0.1%)

Compiler

Compiled 8 to 3 computations (62.5% saved)

localize11.0ms (0.1%)

Compiler

Compiled 16 to 11 computations (31.3% saved)

localize7.0ms (0.1%)

Compiler

Compiled 20 to 5 computations (75% saved)

localize27.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
0.0b
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x))))
3.2b
(log.f64 (+.f64 1 (fabs.f64 x)))
14.5b
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
Compiler

Compiled 71 to 47 computations (33.8% saved)

series58.0ms (0.7%)

Counts
4 → 3
Calls

12 calls:

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

rewrite501.0ms (6.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
014116
1105116
2247116
3739116
44472116
Stop Event
node limit
Counts
4 → 77
Calls
Call 1
Inputs
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(log.f64 (+.f64 1 (fabs.f64 x)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 2) (/.f64 1 (+.f64 1 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 2) (*.f64 2 (*.f64 1/2 (/.f64 1 (+.f64 1 (fabs.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 x 2) (-.f64 -1 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 1/2 (/.f64 1 (+.f64 1 (fabs.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 x 2)) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 2) 4) (/.f64 1 (*.f64 (+.f64 1 (fabs.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 1 (fabs.f64 x))) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 x 2)) (/.f64 1 (-.f64 -1 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (*.f64 2 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (+.f64 1 (fabs.f64 x))) (*.f64 2 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 1/2 (/.f64 1 (+.f64 1 (fabs.f64 x))))) (pow.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 x 2) (-.f64 -1 (fabs.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (+.f64 1 (fabs.f64 x)) 4)) (*.f64 (pow.f64 x 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 -1 (fabs.f64 x))) (neg.f64 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 x 2) (-.f64 -1 (fabs.f64 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (+.f64 1 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (+.f64 1 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (log.f64 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 4) (*.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 4) (*.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 2 (/.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 x 2) (+.f64 2 (*.f64 2 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 (+.f64 1 (fabs.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 2) 4) (*.f64 2 (*.f64 (+.f64 1 (fabs.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 x 2)) (*.f64 2 (-.f64 -1 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 x 2)) (neg.f64 (+.f64 2 (*.f64 2 (fabs.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (*.f64 4 (*.f64 (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2)) (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 2) 4)) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (fabs.f64 x)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (pow.f64 x 2))) (*.f64 2 (*.f64 2 (-.f64 -1 (fabs.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (pow.f64 x 2))) (*.f64 2 (neg.f64 (+.f64 2 (*.f64 2 (fabs.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (pow.f64 x 2))) (+.f64 2 (*.f64 2 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 x 2) 2) (+.f64 1 (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 x 2)) 2) (-.f64 -1 (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 x 2))) 2) (+.f64 1 (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) 4) (*.f64 (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2)) (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 1)))))

simplify113.0ms (1.4%)

Algorithm
egg-herbie
Rules
934×rational.json-simplify-1
928×rational.json-simplify-50
852×rational.json-simplify-44
776×rational.json-simplify-47
726×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01402226
13522226
29692226
342232226
464562226
Stop Event
node limit
Counts
80 → 91
Calls
Call 1
Inputs
(log.f64 (+.f64 1 (fabs.f64 x)))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(+.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 0)
(+.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(+.f64 0 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 0)
(*.f64 2 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(*.f64 (pow.f64 x 2) (/.f64 1 (+.f64 1 (fabs.f64 x))))
(*.f64 (pow.f64 x 2) (*.f64 2 (*.f64 1/2 (/.f64 1 (+.f64 1 (fabs.f64 x))))))
(*.f64 1 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 1)
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(*.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 2)
(*.f64 -1 (/.f64 (pow.f64 x 2) (-.f64 -1 (fabs.f64 x))))
(*.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 1/2 (/.f64 1 (+.f64 1 (fabs.f64 x)))))
(*.f64 (*.f64 2 (pow.f64 x 2)) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))
(*.f64 (*.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) 1/2)
(*.f64 (*.f64 (pow.f64 x 2) 4) (/.f64 1 (*.f64 (+.f64 1 (fabs.f64 x)) 4)))
(*.f64 (/.f64 1 (+.f64 1 (fabs.f64 x))) (pow.f64 x 2))
(*.f64 (neg.f64 (pow.f64 x 2)) (/.f64 1 (-.f64 -1 (fabs.f64 x))))
(*.f64 (*.f64 1/2 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (*.f64 2 (pow.f64 x 2)))
(*.f64 (/.f64 1/2 (+.f64 1 (fabs.f64 x))) (*.f64 2 (pow.f64 x 2)))
(*.f64 (*.f64 2 (*.f64 1/2 (/.f64 1 (+.f64 1 (fabs.f64 x))))) (pow.f64 x 2))
(*.f64 (/.f64 (pow.f64 x 2) (-.f64 -1 (fabs.f64 x))) -1)
(*.f64 (/.f64 1 (*.f64 (+.f64 1 (fabs.f64 x)) 4)) (*.f64 (pow.f64 x 2) 4))
(*.f64 (/.f64 1 (-.f64 -1 (fabs.f64 x))) (neg.f64 (pow.f64 x 2)))
(pow.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 1)
(neg.f64 (/.f64 (pow.f64 x 2) (-.f64 -1 (fabs.f64 x))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 0)
(+.f64 0 (log.f64 (+.f64 1 (fabs.f64 x))))
(-.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 0)
(*.f64 2 (/.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 2))
(*.f64 1 (log.f64 (+.f64 1 (fabs.f64 x))))
(*.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 1)
(*.f64 1/2 (log.f64 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))
(*.f64 (log.f64 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)) 1/2)
(*.f64 (/.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 2) 2)
(/.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 1)
(/.f64 (log.f64 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)) 2)
(/.f64 (*.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 4) 4)
(/.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 4) (*.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 4)) 8)
(pow.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 1)
(-.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 0)
(*.f64 2 (/.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 2))
(*.f64 1 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))))
(*.f64 1/2 (*.f64 2 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))))
(*.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 1)
(*.f64 (*.f64 2 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))) 1/2)
(*.f64 (/.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 2) 2)
(/.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 1)
(/.f64 (*.f64 2 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))) 2)
(/.f64 (*.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 4) 4)
(/.f64 (+.f64 (*.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 4) (*.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 4)) 8)
(pow.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 1)
(+.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 0)
(+.f64 0 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(-.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 0)
(/.f64 2 (*.f64 2 (/.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))))
(/.f64 (pow.f64 x 2) (+.f64 2 (*.f64 2 (fabs.f64 x))))
(/.f64 1 (/.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(/.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 2)
(/.f64 1/2 (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2)))
(/.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 1)
(/.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 (+.f64 1 (fabs.f64 x)) 4))
(/.f64 (*.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) 4)
(/.f64 (*.f64 (pow.f64 x 2) 4) (*.f64 2 (*.f64 (+.f64 1 (fabs.f64 x)) 4)))
(/.f64 (neg.f64 (pow.f64 x 2)) (*.f64 2 (-.f64 -1 (fabs.f64 x))))
(/.f64 (neg.f64 (pow.f64 x 2)) (neg.f64 (+.f64 2 (*.f64 2 (fabs.f64 x)))))
(/.f64 (/.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (*.f64 4 (*.f64 (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2)) (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2)))))
(/.f64 (*.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 4) 8)
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 2) 4)) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (fabs.f64 x)) 4))))
(/.f64 (*.f64 2 (neg.f64 (pow.f64 x 2))) (*.f64 2 (*.f64 2 (-.f64 -1 (fabs.f64 x)))))
(/.f64 (neg.f64 (*.f64 2 (pow.f64 x 2))) (*.f64 2 (neg.f64 (+.f64 2 (*.f64 2 (fabs.f64 x))))))
(/.f64 (neg.f64 (neg.f64 (pow.f64 x 2))) (+.f64 2 (*.f64 2 (fabs.f64 x))))
(/.f64 (/.f64 (pow.f64 x 2) 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (/.f64 (neg.f64 (pow.f64 x 2)) 2) (-.f64 -1 (fabs.f64 x)))
(/.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 x 2))) 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (/.f64 (/.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) 4) (*.f64 (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2)) (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2))))
(pow.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 1)
Outputs
(log.f64 (+.f64 1 (fabs.f64 x)))
(log.f64 (-.f64 (fabs.f64 x) -1))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(+.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 0)
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(+.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(+.f64 0 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(-.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 0)
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 2 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (pow.f64 x 2) (/.f64 1 (+.f64 1 (fabs.f64 x))))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (pow.f64 x 2) (*.f64 2 (*.f64 1/2 (/.f64 1 (+.f64 1 (fabs.f64 x))))))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 1 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 1)
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 2)
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 -1 (/.f64 (pow.f64 x 2) (-.f64 -1 (fabs.f64 x))))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 1/2 (/.f64 1 (+.f64 1 (fabs.f64 x)))))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (*.f64 2 (pow.f64 x 2)) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (*.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) 1/2)
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (*.f64 (pow.f64 x 2) 4) (/.f64 1 (*.f64 (+.f64 1 (fabs.f64 x)) 4)))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (/.f64 1 (+.f64 1 (fabs.f64 x))) (pow.f64 x 2))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (neg.f64 (pow.f64 x 2)) (/.f64 1 (-.f64 -1 (fabs.f64 x))))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (*.f64 1/2 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (*.f64 2 (pow.f64 x 2)))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (/.f64 1/2 (+.f64 1 (fabs.f64 x))) (*.f64 2 (pow.f64 x 2)))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (*.f64 2 (*.f64 1/2 (/.f64 1 (+.f64 1 (fabs.f64 x))))) (pow.f64 x 2))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (/.f64 (pow.f64 x 2) (-.f64 -1 (fabs.f64 x))) -1)
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (/.f64 1 (*.f64 (+.f64 1 (fabs.f64 x)) 4)) (*.f64 (pow.f64 x 2) 4))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(*.f64 (/.f64 1 (-.f64 -1 (fabs.f64 x))) (neg.f64 (pow.f64 x 2)))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(pow.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 1)
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(neg.f64 (/.f64 (pow.f64 x 2) (-.f64 -1 (fabs.f64 x))))
(/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))
(/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 0)
(log.f64 (+.f64 1 (fabs.f64 x)))
(log.f64 (-.f64 (fabs.f64 x) -1))
(+.f64 0 (log.f64 (+.f64 1 (fabs.f64 x))))
(log.f64 (+.f64 1 (fabs.f64 x)))
(log.f64 (-.f64 (fabs.f64 x) -1))
(-.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 0)
(log.f64 (+.f64 1 (fabs.f64 x)))
(log.f64 (-.f64 (fabs.f64 x) -1))
(*.f64 2 (/.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 2))
(log.f64 (+.f64 1 (fabs.f64 x)))
(log.f64 (-.f64 (fabs.f64 x) -1))
(*.f64 1 (log.f64 (+.f64 1 (fabs.f64 x))))
(log.f64 (+.f64 1 (fabs.f64 x)))
(log.f64 (-.f64 (fabs.f64 x) -1))
(*.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 1)
(log.f64 (+.f64 1 (fabs.f64 x)))
(log.f64 (-.f64 (fabs.f64 x) -1))
(*.f64 1/2 (log.f64 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))
(log.f64 (sqrt.f64 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))
(log.f64 (pow.f64 (sqrt.f64 (-.f64 (fabs.f64 x) -1)) 2))
(log.f64 (pow.f64 (sqrt.f64 (+.f64 1 (fabs.f64 x))) 2))
(*.f64 (log.f64 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)) 1/2)
(log.f64 (sqrt.f64 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))
(log.f64 (pow.f64 (sqrt.f64 (-.f64 (fabs.f64 x) -1)) 2))
(log.f64 (pow.f64 (sqrt.f64 (+.f64 1 (fabs.f64 x))) 2))
(*.f64 (/.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 2) 2)
(log.f64 (+.f64 1 (fabs.f64 x)))
(log.f64 (-.f64 (fabs.f64 x) -1))
(/.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 1)
(log.f64 (+.f64 1 (fabs.f64 x)))
(log.f64 (-.f64 (fabs.f64 x) -1))
(/.f64 (log.f64 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)) 2)
(/.f64 (log.f64 (pow.f64 (-.f64 (fabs.f64 x) -1) 2)) 2)
(/.f64 (*.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 4) 4)
(log.f64 (+.f64 1 (fabs.f64 x)))
(log.f64 (-.f64 (fabs.f64 x) -1))
(/.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 4) (*.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 4)) 8)
(log.f64 (+.f64 1 (fabs.f64 x)))
(log.f64 (-.f64 (fabs.f64 x) -1))
(pow.f64 (log.f64 (+.f64 1 (fabs.f64 x))) 1)
(log.f64 (+.f64 1 (fabs.f64 x)))
(log.f64 (-.f64 (fabs.f64 x) -1))
(-.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 0)
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(+.f64 (log.f64 (-.f64 (fabs.f64 x) -1)) (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(*.f64 2 (/.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 2))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(+.f64 (log.f64 (-.f64 (fabs.f64 x) -1)) (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(*.f64 1 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(+.f64 (log.f64 (-.f64 (fabs.f64 x) -1)) (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(*.f64 1/2 (*.f64 2 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(+.f64 (log.f64 (-.f64 (fabs.f64 x) -1)) (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(*.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 1)
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(+.f64 (log.f64 (-.f64 (fabs.f64 x) -1)) (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(*.f64 (*.f64 2 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))) 1/2)
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(+.f64 (log.f64 (-.f64 (fabs.f64 x) -1)) (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(*.f64 (/.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 2) 2)
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(+.f64 (log.f64 (-.f64 (fabs.f64 x) -1)) (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(/.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 1)
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(+.f64 (log.f64 (-.f64 (fabs.f64 x) -1)) (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(/.f64 (*.f64 2 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))) 2)
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(+.f64 (log.f64 (-.f64 (fabs.f64 x) -1)) (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(/.f64 (*.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 4) 4)
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(+.f64 (log.f64 (-.f64 (fabs.f64 x) -1)) (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(/.f64 (+.f64 (*.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 4) (*.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 4)) 8)
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(+.f64 (log.f64 (-.f64 (fabs.f64 x) -1)) (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(pow.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 1)
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(+.f64 (log.f64 (-.f64 (fabs.f64 x) -1)) (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))))
(+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(+.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 0)
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(+.f64 0 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(-.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 0)
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 2 (*.f64 2 (/.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (pow.f64 x 2) (+.f64 2 (*.f64 2 (fabs.f64 x))))
(/.f64 (pow.f64 x 2) (+.f64 2 (*.f64 (fabs.f64 x) 2)))
(/.f64 1 (/.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 2)
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 1/2 (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2)))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 1)
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 (+.f64 1 (fabs.f64 x)) 4))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (*.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) 4)
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (*.f64 (pow.f64 x 2) 4) (*.f64 2 (*.f64 (+.f64 1 (fabs.f64 x)) 4)))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (neg.f64 (pow.f64 x 2)) (*.f64 2 (-.f64 -1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (neg.f64 (pow.f64 x 2)) (neg.f64 (+.f64 2 (*.f64 2 (fabs.f64 x)))))
(/.f64 (pow.f64 x 2) (+.f64 2 (*.f64 (fabs.f64 x) 2)))
(/.f64 (/.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (*.f64 4 (*.f64 (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2)) (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2)))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (*.f64 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))) 4) 8)
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 2) 4)) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (fabs.f64 x)) 4))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (*.f64 2 (neg.f64 (pow.f64 x 2))) (*.f64 2 (*.f64 2 (-.f64 -1 (fabs.f64 x)))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (neg.f64 (*.f64 2 (pow.f64 x 2))) (*.f64 2 (neg.f64 (+.f64 2 (*.f64 2 (fabs.f64 x))))))
(/.f64 (pow.f64 x 2) (+.f64 2 (*.f64 (fabs.f64 x) 2)))
(/.f64 (neg.f64 (neg.f64 (pow.f64 x 2))) (+.f64 2 (*.f64 2 (fabs.f64 x))))
(/.f64 (pow.f64 x 2) (+.f64 2 (*.f64 (fabs.f64 x) 2)))
(/.f64 (/.f64 (pow.f64 x 2) 2) (+.f64 1 (fabs.f64 x)))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (/.f64 (neg.f64 (pow.f64 x 2)) 2) (-.f64 -1 (fabs.f64 x)))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 x 2))) 2) (+.f64 1 (fabs.f64 x)))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(/.f64 (/.f64 (/.f64 2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) 4) (*.f64 (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2)) (/.f64 (+.f64 1 (fabs.f64 x)) (pow.f64 x 2))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))
(pow.f64 (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x)))) 1)
(*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x))))
(*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1)))

eval132.0ms (1.7%)

Compiler

Compiled 2698 to 1828 computations (32.2% saved)

prune439.0ms (5.5%)

Pruning

13 alts after pruning (3 fresh and 10 done)

PrunedKeptTotal
New1363139
Fresh000
Picked011
Done099
Total13613149
Error
27.3b
Counts
149 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
60.4b
(copysign.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (/.f64 (log.f64 (pow.f64 (-.f64 (fabs.f64 x) -1) 2)) 2)) x)
60.4b
(copysign.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x)))) x)
60.4b
(copysign.f64 (*.f64 (/.f64 (+.f64 (log.f64 (+.f64 1 (fabs.f64 x))) (*.f64 (pow.f64 x 2) (/.f64 1/2 (+.f64 1 (fabs.f64 x))))) 2) 2) x)
60.7b
(copysign.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))) x)
57.5b
(copysign.f64 (neg.f64 (/.f64 x (fabs.f64 x))) x)
57.0b
(copysign.f64 (neg.f64 (log.f64 (/.f64 -1 x))) x)
48.8b
(copysign.f64 (log.f64 (/.f64 1/2 x)) x)
43.6b
(copysign.f64 (log.f64 (-.f64 (+.f64 (neg.f64 x) (fabs.f64 x)) (*.f64 1/2 (/.f64 1 x)))) x)
43.6b
(copysign.f64 (log.f64 (+.f64 (neg.f64 x) (fabs.f64 x))) x)
43.1b
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x)
51.4b
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) x)
48.8b
(copysign.f64 (log.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))) x)
58.7b
(copysign.f64 (log.f64 x) x)
Compiler

Compiled 163 to 119 computations (27% saved)

regimes38.0ms (0.5%)

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

2 calls:

19.0ms
x
14.0ms
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x)
Results
ErrorSegmentsBranch
28.4b2x
27.6b3(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x)
Compiler

Compiled 228 to 138 computations (39.5% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5.034486883201034
20.008849188522863
0.0ms
-inf
-351.10196303043114
Compiler

Compiled 17 to 12 computations (29.4% saved)

regimes19.0ms (0.2%)

Counts
15 → 2
Calls
Call 1
Inputs
(copysign.f64 (log.f64 x) x)
(copysign.f64 (log.f64 (/.f64 1/2 x)) x)
(copysign.f64 (neg.f64 (log.f64 (/.f64 -1 x))) x)
(copysign.f64 (neg.f64 (log.f64 (/.f64 1 x))) x)
(copysign.f64 (neg.f64 (/.f64 x (fabs.f64 x))) x)
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) x)
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) x)) x)
(copysign.f64 (log.f64 (+.f64 (neg.f64 x) (fabs.f64 x))) x)
(copysign.f64 (log.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))) x)
(copysign.f64 (+.f64 (neg.f64 (neg.f64 (log.f64 x))) (/.f64 (fabs.f64 x) x)) x)
(copysign.f64 (neg.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x)))) x)
(copysign.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))) x)
(copysign.f64 (+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x)) x)
(copysign.f64 (log.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))) x)
(copysign.f64 (log.f64 (-.f64 (+.f64 (neg.f64 x) (fabs.f64 x)) (*.f64 1/2 (/.f64 1 x)))) x)
Outputs
(copysign.f64 (log.f64 (-.f64 (+.f64 (neg.f64 x) (fabs.f64 x)) (*.f64 1/2 (/.f64 1 x)))) x)
(copysign.f64 (log.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))) x)
Calls

1 calls:

15.0ms
x
Results
ErrorSegmentsBranch
28.4b2x
Compiler

Compiled 141 to 78 computations (44.7% saved)

bsearch95.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
95.0ms
-1.262553387535137e-279
1.9969588321310066e-302
Results
93.0ms128×body2048valid
Compiler

Compiled 249 to 180 computations (27.7% saved)

regimes49.0ms (0.6%)

Counts
14 → 2
Calls
Call 1
Inputs
(copysign.f64 (log.f64 x) x)
(copysign.f64 (log.f64 (/.f64 1/2 x)) x)
(copysign.f64 (neg.f64 (log.f64 (/.f64 -1 x))) x)
(copysign.f64 (neg.f64 (log.f64 (/.f64 1 x))) x)
(copysign.f64 (neg.f64 (/.f64 x (fabs.f64 x))) x)
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) x)
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) x)) x)
(copysign.f64 (log.f64 (+.f64 (neg.f64 x) (fabs.f64 x))) x)
(copysign.f64 (log.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))) x)
(copysign.f64 (+.f64 (neg.f64 (neg.f64 (log.f64 x))) (/.f64 (fabs.f64 x) x)) x)
(copysign.f64 (neg.f64 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 x (fabs.f64 x)))) x)
(copysign.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (-.f64 (fabs.f64 x) -1))) x)
(copysign.f64 (+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x)) x)
(copysign.f64 (log.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))) x)
Outputs
(copysign.f64 (log.f64 (+.f64 (neg.f64 x) (fabs.f64 x))) x)
(copysign.f64 (log.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))) x)
Calls

1 calls:

46.0ms
x
Results
ErrorSegmentsBranch
28.4b2x
Compiler

Compiled 127 to 71 computations (44.1% saved)

bsearch571.0ms (7.2%)

Algorithm
binary-search
Steps
TimeLeftRight
571.0ms
-1.262553387535137e-279
1.9969588321310066e-302
Results
569.0ms128×body2048valid
Compiler

Compiled 201 to 140 computations (30.3% saved)

regimes15.0ms (0.2%)

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

1 calls:

10.0ms
x
Results
ErrorSegmentsBranch
28.5b2x
Compiler

Compiled 56 to 33 computations (41.1% saved)

bsearch99.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
99.0ms
-1.262553387535137e-279
1.9969588321310066e-302
Results
96.0ms128×body2048valid
Compiler

Compiled 161 to 116 computations (28% saved)

regimes11.0ms (0.1%)

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

1 calls:

9.0ms
x
Results
ErrorSegmentsBranch
41.5b2x
Compiler

Compiled 48 to 29 computations (39.6% saved)

bsearch58.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
58.0ms
6.006325328116584e-154
8.166537165352387e-151
Results
56.0ms128×body1024valid
Compiler

Compiled 153 to 116 computations (24.2% saved)

regimes10.0ms (0.1%)

Counts
5 → 2
Calls
Call 1
Inputs
(copysign.f64 (log.f64 x) x)
(copysign.f64 (log.f64 (/.f64 1/2 x)) x)
(copysign.f64 (neg.f64 (log.f64 (/.f64 -1 x))) x)
(copysign.f64 (neg.f64 (log.f64 (/.f64 1 x))) x)
(copysign.f64 (neg.f64 (/.f64 x (fabs.f64 x))) x)
Outputs
(copysign.f64 (neg.f64 (log.f64 (/.f64 -1 x))) x)
(copysign.f64 (log.f64 (/.f64 1/2 x)) x)
Calls

1 calls:

9.0ms
x
Results
ErrorSegmentsBranch
41.8b2x
Compiler

Compiled 34 to 22 computations (35.3% saved)

bsearch100.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
100.0ms
-1.262553387535137e-279
1.9969588321310066e-302
Results
98.0ms128×body2048valid
Compiler

Compiled 153 to 116 computations (24.2% saved)

regimes4.0ms (0%)

Accuracy

Total -9.8b remaining (-20.2%)

Threshold costs -9.8b (-20.2%)

Counts
2 → 1
Calls
Call 1
Inputs
(copysign.f64 (log.f64 x) x)
(copysign.f64 (log.f64 (/.f64 1/2 x)) x)
Outputs
(copysign.f64 (log.f64 (/.f64 1/2 x)) x)
Calls

1 calls:

3.0ms
x
Results
ErrorSegmentsBranch
48.8b1x
Compiler

Compiled 13 to 8 computations (38.5% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057494
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x) -inf.0) (copysign.f64 (log.f64 (+.f64 (neg.f64 x) (fabs.f64 x))) x) (if (<=.f64 (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x) 10) (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x) (copysign.f64 (log.f64 (/.f64 1/2 x)) x)))
(if (<=.f64 x -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (copysign.f64 (log.f64 (-.f64 (+.f64 (neg.f64 x) (fabs.f64 x)) (*.f64 1/2 (/.f64 1 x)))) x) (copysign.f64 (log.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))) x))
(if (<=.f64 x -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (copysign.f64 (log.f64 (+.f64 (neg.f64 x) (fabs.f64 x))) x) (copysign.f64 (log.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))) x))
(if (<=.f64 x -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (copysign.f64 (log.f64 (+.f64 (neg.f64 x) (fabs.f64 x))) x) (copysign.f64 (log.f64 (/.f64 1/2 x)) x))
(if (<=.f64 x 7547924849643083/3773962424821541352241554580988268890916921220416440428376206300245624162392148852086126725177658767541468375030763844899770584629924792632561434251432696043649395326976) (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) x) (copysign.f64 (log.f64 (/.f64 1/2 x)) x))
(if (<=.f64 x -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (copysign.f64 (neg.f64 (log.f64 (/.f64 -1 x))) x) (copysign.f64 (log.f64 (/.f64 1/2 x)) x))
(copysign.f64 (log.f64 (/.f64 1/2 x)) x)
(copysign.f64 (log.f64 x) x)
Outputs
(if (<=.f64 (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x) -inf.0) (copysign.f64 (log.f64 (+.f64 (neg.f64 x) (fabs.f64 x))) x) (if (<=.f64 (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x) 10) (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x) (copysign.f64 (log.f64 (/.f64 1/2 x)) x)))
(if (<=.f64 x -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (copysign.f64 (log.f64 (-.f64 (+.f64 (neg.f64 x) (fabs.f64 x)) (*.f64 1/2 (/.f64 1 x)))) x) (copysign.f64 (log.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))) x))
(if (<=.f64 x -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (copysign.f64 (log.f64 (+.f64 (neg.f64 x) (fabs.f64 x))) x) (copysign.f64 (log.f64 (+.f64 x (+.f64 (/.f64 1/2 x) (fabs.f64 x)))) x))
(if (<=.f64 x -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (copysign.f64 (log.f64 (+.f64 (neg.f64 x) (fabs.f64 x))) x) (copysign.f64 (log.f64 (/.f64 1/2 x)) x))
(if (<=.f64 x 7547924849643083/3773962424821541352241554580988268890916921220416440428376206300245624162392148852086126725177658767541468375030763844899770584629924792632561434251432696043649395326976) (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) 1)) x) (copysign.f64 (log.f64 (/.f64 1/2 x)) x))
(if (<=.f64 x -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (copysign.f64 (neg.f64 (log.f64 (/.f64 -1 x))) x) (copysign.f64 (log.f64 (/.f64 1/2 x)) x))
(copysign.f64 (log.f64 (/.f64 1/2 x)) x)
(copysign.f64 (log.f64 x) x)
Compiler

Compiled 178 to 117 computations (34.3% saved)

soundness92.0ms (1.2%)

Algorithm
egg-herbie
Rules
1606×rational.json-simplify-35
1088×rational.json-simplify-2
1018×rational.json-simplify-40
846×rational.json-simplify-41
776×rational.json-simplify-38
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01892813
14022743
28212743
319242721
449932721
Stop Event
node limit
Compiler

Compiled 36 to 21 computations (41.7% saved)

end80.0ms (1%)

Compiler

Compiled 171 to 96 computations (43.9% saved)

Profiling

Loading profile data...