Details

Time bar (total: 1.9s)

analyze0.0ms (0%)

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

Compiled 13 to 12 computations (7.7% saved)

sample1.4s (72.7%)

Results
626.0ms2073×body1024valid
473.0ms4952×body256valid
192.0ms1022×body512valid
78.0ms209×body2048valid
Bogosity

preprocess5.0ms (0.3%)

Algorithm
egg-herbie
Rules
40×rational.json-simplify-2
36×rational.json-simplify-27
36×rational.json-simplify-9
34×rational.json-simplify-31
24×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01858
13258
24058
35558
47458
58958
610758
712358
813758
914258
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 y)))) 1)
Outputs
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 y)))) 1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 y)))) -1)
Compiler

Compiled 14 to 13 computations (7.1% saved)

simplify6.0ms (0.3%)

Algorithm
egg-herbie
Rules
20×rational.json-simplify-2
18×rational.json-simplify-31
18×rational.json-simplify-27
18×rational.json-simplify-9
12×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01229
12029
22429
33229
44229
55029
66029
76829
87529
97829
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
Outputs
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)

eval1.0ms (0%)

Compiler

Compiled 22 to 20 computations (9.1% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
27.9b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
27.9b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
Compiler

Compiled 12 to 11 computations (8.3% saved)

localize17.0ms (0.9%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (exp.f64 (*.f64 -2 x)))
0.0b
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))
2.0b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
Compiler

Compiled 37 to 31 computations (16.2% saved)

series3.0ms (0.2%)

Counts
3 → 20
Calls

9 calls:

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

rewrite8.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
42×bool.json-1
38×rational.json-simplify-2
32×rational.json-1
32×rational.json-2
32×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01269
15969
29769
312469
414769
516169
Stop Event
saturated
Counts
3 → 20
Calls
Call 1
Inputs
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))
(+.f64 1 (exp.f64 (*.f64 -2 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 1 (exp.f64 (*.f64 -2 x))) (+.f64 1 (exp.f64 (*.f64 -2 x))))))))

simplify30.0ms (1.6%)

Algorithm
egg-herbie
Rules
162×rational.json-simplify-1
96×rational.json-simplify-33
70×rational.json-simplify-2
48×rational.json-simplify-31
22×rational.json-simplify-40
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0681076
11171076
21801076
32541076
42921076
53031076
63171076
73271076
83421076
93461076
Stop Event
saturated
Counts
40 → 54
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
(+.f64 (*.f64 -17/315 (pow.f64 x 7)) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x)))
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
1
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 x 3)) x))
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5)))))
2
(+.f64 2 (*.f64 -2 x))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 -2 x)))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (+.f64 (*.f64 -2 x) (*.f64 -4/3 (pow.f64 x 3)))))
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)
(+.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 0)
(+.f64 0 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))
(+.f64 -1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 1 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))
(*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1)
(*.f64 -1 (-.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(*.f64 (-.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))) -1)
(neg.f64 (-.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 0)
(+.f64 0 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 0)
(-.f64 0 (neg.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(*.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(*.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(*.f64 -1 (neg.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(*.f64 (neg.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))) -1)
(neg.f64 (neg.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(*.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1)
Outputs
x
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5))))
(+.f64 (*.f64 -17/315 (pow.f64 x 7)) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x)))
(+.f64 (*.f64 -17/315 (pow.f64 x 7)) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5)))))
(+.f64 (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (+.f64 x (*.f64 2/15 (pow.f64 x 5)))) (*.f64 -1/3 (pow.f64 x 3)))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (+.f64 x (*.f64 2/15 (pow.f64 x 5)))))
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
(-.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))) 1)
(+.f64 (*.f64 2 (/.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))) -1)
1
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 x 3)) x))
(+.f64 (+.f64 x (*.f64 -1/3 (pow.f64 x 3))) 1)
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) 1))
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5)))))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 1 (+.f64 x (*.f64 2/15 (pow.f64 x 5)))))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) (+.f64 x 1)))
2
(+.f64 2 (*.f64 -2 x))
(+.f64 2 (*.f64 x -2))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 -2 x)))
(+.f64 (+.f64 2 (*.f64 x -2)) (*.f64 2 (pow.f64 x 2)))
(+.f64 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 x -2)) 2)
(+.f64 2 (+.f64 (*.f64 x -2) (*.f64 2 (pow.f64 x 2))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (+.f64 (*.f64 -2 x) (*.f64 -4/3 (pow.f64 x 3)))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) -4/3))))
(+.f64 2 (+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) -4/3))))
(+.f64 2 (+.f64 (*.f64 x -2) (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 (pow.f64 x 3) -4/3))))
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 0)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 0 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 -1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 1 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1))
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) -1) 1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 -1 (-.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(*.f64 (-.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(neg.f64 (-.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2)))) -1)
(+.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 0)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(+.f64 0 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 0)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(-.f64 0 (neg.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 1 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 -1 (neg.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (neg.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))) -1)
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(neg.f64 (neg.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))))
(/.f64 2 (+.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 1 (+.f64 1 (exp.f64 (*.f64 -2 x))))
(*.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 -2 x))) 1)
(*.f64 1 (+.f64 1 (exp.f64 (*.f64 x -2))))

eval14.0ms (0.7%)

Compiler

Compiled 677 to 586 computations (13.4% saved)

prune9.0ms (0.5%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New50454
Fresh000
Picked011
Done000
Total50555
Error
0.0b
Counts
55 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
44.8b
(-.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
27.9b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
33.6b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
33.9b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
32.4b
x
Compiler

Compiled 50 to 42 computations (16% saved)

localize8.0ms (0.4%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 -1/3 (pow.f64 x 3))
Compiler

Compiled 20 to 15 computations (25% saved)

series2.0ms (0.1%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 -1/3 (pow.f64 x 3))
0.0ms
x
@inf
(*.f64 -1/3 (pow.f64 x 3))
0.0ms
x
@-inf
(*.f64 -1/3 (pow.f64 x 3))

rewrite5.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
22×bool.json-1
16×rational.json-simplify-2
14×rational.json-1
14×rational.json-2
14×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
13313
25513
36013
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 -1/3 (pow.f64 x 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/3 (pow.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/3 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -1/3 (pow.f64 x 3)))))))

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
11138
Stop Event
saturated
Counts
2 → 2
Calls
Call 1
Inputs
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) 0)
(+.f64 0 (*.f64 -1/3 (pow.f64 x 3)))
Outputs
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) 0)
(+.f64 0 (*.f64 -1/3 (pow.f64 x 3)))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) 0)

localize18.0ms (0.9%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 2/15 (pow.f64 x 5))
0.1b
(*.f64 -1/3 (pow.f64 x 3))
20.2b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
Compiler

Compiled 43 to 33 computations (23.3% saved)

series2.0ms (0.1%)

Counts
2 → 10
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
0.0ms
x
@0
(*.f64 2/15 (pow.f64 x 5))
0.0ms
x
@-inf
(*.f64 2/15 (pow.f64 x 5))
0.0ms
x
@inf
(*.f64 2/15 (pow.f64 x 5))
0.0ms
x
@0
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))

rewrite6.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
40×bool.json-1
38×rational.json-simplify-1
30×rational.json-simplify-2
28×rational.json-1
28×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01350
16250
29950
311450
411850
Stop Event
saturated
Counts
2 → 4
Calls
Call 1
Inputs
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
(*.f64 2/15 (pow.f64 x 5))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2/15 (pow.f64 x 5)) (+.f64 x (*.f64 -1/3 (pow.f64 x 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 2/15 (pow.f64 x 5)) (+.f64 x (*.f64 -1/3 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 2/15 (pow.f64 x 5)) (+.f64 x (*.f64 -1/3 (pow.f64 x 3)))) (+.f64 (*.f64 2/15 (pow.f64 x 5)) (+.f64 x (*.f64 -1/3 (pow.f64 x 3)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/15 (pow.f64 x 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2/15 (pow.f64 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 2/15 (pow.f64 x 5)) (*.f64 2/15 (pow.f64 x 5)))))))

simplify7.0ms (0.4%)

Algorithm
egg-herbie
Rules
14×rational.json-simplify-1
rational.json-simplify-2
rational.json-simplify-33
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023380
129380
230380
331380
Stop Event
saturated
Counts
14 → 11
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
(*.f64 2/15 (pow.f64 x 5))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5)))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5))))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5))))
(*.f64 2/15 (pow.f64 x 5))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5)))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5))))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5))))
(*.f64 (+.f64 (*.f64 2/15 (pow.f64 x 5)) (+.f64 x (*.f64 -1/3 (pow.f64 x 3)))) 1)
(*.f64 1 (+.f64 (*.f64 2/15 (pow.f64 x 5)) (+.f64 x (*.f64 -1/3 (pow.f64 x 3)))))
(+.f64 (*.f64 2/15 (pow.f64 x 5)) 0)
(+.f64 0 (*.f64 2/15 (pow.f64 x 5)))
Outputs
x
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(*.f64 2/15 (pow.f64 x 5))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5)))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5))))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5))))
(*.f64 2/15 (pow.f64 x 5))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5)))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5))))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5))))
(*.f64 (+.f64 (*.f64 2/15 (pow.f64 x 5)) (+.f64 x (*.f64 -1/3 (pow.f64 x 3)))) 1)
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5)))) 1)
(*.f64 1 (+.f64 (*.f64 2/15 (pow.f64 x 5)) (+.f64 x (*.f64 -1/3 (pow.f64 x 3)))))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 x (*.f64 2/15 (pow.f64 x 5)))) 1)
(+.f64 (*.f64 2/15 (pow.f64 x 5)) 0)
(+.f64 0 (*.f64 2/15 (pow.f64 x 5)))
(+.f64 (*.f64 2/15 (pow.f64 x 5)) 0)

localize11.0ms (0.6%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 25 computations (16.7% saved)

series1.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

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

rewrite9.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
40×bool.json-1
36×rational.json-simplify-2
30×rational.json-1
30×rational.json-2
30×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01044
15244
28944
311844
414244
515644
Stop Event
saturated
Counts
2 → 18
Calls
Call 1
Inputs
(-.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
(/.f64 2 (+.f64 2 (*.f64 x -2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 2 (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 2 (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 2 (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 2 (+.f64 2 (*.f64 x -2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 2 (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 2 (+.f64 2 (*.f64 x -2))) (/.f64 2 (+.f64 2 (*.f64 x -2))))))))

simplify60.0ms (3.2%)

Algorithm
egg-herbie
Rules
820×rational.json-simplify-27
604×rational.json-simplify-1
510×rational.json-simplify-41
398×rational.json-simplify-33
372×rational.json-simplify-40
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0651014
11301014
22651014
35051014
48481014
513621014
620371014
723811014
825731014
926471014
1026501014
1126501014
Stop Event
saturated
Counts
42 → 65
Calls
Call 1
Inputs
x
(+.f64 (pow.f64 x 2) x)
(+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 3) x))
(+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 4) (+.f64 (pow.f64 x 3) x)))
-1
(neg.f64 (+.f64 1 (/.f64 1 x)))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))))
-1
(neg.f64 (+.f64 1 (/.f64 1 x)))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))))
1
(+.f64 1 x)
(+.f64 1 (+.f64 (pow.f64 x 2) x))
(+.f64 1 (+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 3) x)))
(/.f64 -1 x)
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)))))
(/.f64 -1 x)
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)))))
(+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1)
(+.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 0)
(+.f64 0 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 1 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1))
(*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1)
(*.f64 -1 (-.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2)))))
(*.f64 (-.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2)))) -1)
(neg.f64 (-.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2)))))
(+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 0)
(+.f64 0 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(-.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 0)
(-.f64 0 (neg.f64 (/.f64 2 (+.f64 2 (*.f64 x -2)))))
(*.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
(*.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 -1 (neg.f64 (/.f64 2 (+.f64 2 (*.f64 x -2)))))
(*.f64 (neg.f64 (/.f64 2 (+.f64 2 (*.f64 x -2)))) -1)
(neg.f64 (neg.f64 (/.f64 2 (+.f64 2 (*.f64 x -2)))))
Outputs
x
(+.f64 (pow.f64 x 2) x)
(+.f64 x (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 3) x))
(+.f64 (pow.f64 x 2) (+.f64 x (pow.f64 x 3)))
(+.f64 x (+.f64 (pow.f64 x 2) (pow.f64 x 3)))
(+.f64 (+.f64 x (pow.f64 x 2)) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 4) (+.f64 (pow.f64 x 3) x)))
(+.f64 (pow.f64 x 2) (+.f64 (+.f64 x (pow.f64 x 3)) (pow.f64 x 4)))
(+.f64 (pow.f64 x 2) (+.f64 x (+.f64 (pow.f64 x 3) (pow.f64 x 4))))
(+.f64 (pow.f64 x 3) (+.f64 x (+.f64 (pow.f64 x 2) (pow.f64 x 4))))
(+.f64 x (+.f64 (pow.f64 x 4) (+.f64 (pow.f64 x 2) (pow.f64 x 3))))
-1
(neg.f64 (+.f64 1 (/.f64 1 x)))
(-.f64 -1 (/.f64 1 x))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x))))
(-.f64 -1 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))))
(-.f64 -1 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(-.f64 -1 (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))))
(-.f64 -1 (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 3))))
-1
(neg.f64 (+.f64 1 (/.f64 1 x)))
(-.f64 -1 (/.f64 1 x))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x))))
(-.f64 -1 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))))
(-.f64 -1 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(-.f64 -1 (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))))
(-.f64 -1 (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 3))))
1
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (pow.f64 x 2) x))
(+.f64 (+.f64 x (pow.f64 x 2)) 1)
(+.f64 x (+.f64 (pow.f64 x 2) 1))
(+.f64 1 (+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 3) x)))
(+.f64 (+.f64 (pow.f64 x 2) (+.f64 x (pow.f64 x 3))) 1)
(+.f64 (+.f64 x (pow.f64 x 3)) (+.f64 (pow.f64 x 2) 1))
(+.f64 x (+.f64 (pow.f64 x 3) (+.f64 (pow.f64 x 2) 1)))
(+.f64 (pow.f64 x 2) (+.f64 x (+.f64 (pow.f64 x 3) 1)))
(/.f64 -1 x)
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x)))
(-.f64 (neg.f64 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(-.f64 (neg.f64 (/.f64 1 x)) (/.f64 1 (pow.f64 x 2)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x))))
(-.f64 (neg.f64 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
(-.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 3)))
(-.f64 (-.f64 (neg.f64 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x)) (/.f64 1 (pow.f64 x 3)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)))))
(-.f64 (neg.f64 (/.f64 1 (pow.f64 x 4))) (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(-.f64 (neg.f64 (/.f64 1 (pow.f64 x 4))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))))
(-.f64 (neg.f64 (/.f64 1 (pow.f64 x 4))) (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 3))))
(-.f64 (-.f64 (neg.f64 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 4))))
(-.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 1 (pow.f64 x 3))) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 4))))
(/.f64 -1 x)
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 x)))
(-.f64 (neg.f64 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(-.f64 (neg.f64 (/.f64 1 x)) (/.f64 1 (pow.f64 x 2)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x))))
(-.f64 (neg.f64 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
(-.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 3)))
(-.f64 (-.f64 (neg.f64 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x)) (/.f64 1 (pow.f64 x 3)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)))))
(-.f64 (neg.f64 (/.f64 1 (pow.f64 x 4))) (+.f64 (/.f64 1 (pow.f64 x 2)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(-.f64 (neg.f64 (/.f64 1 (pow.f64 x 4))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))))
(-.f64 (neg.f64 (/.f64 1 (pow.f64 x 4))) (+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 3))))
(-.f64 (-.f64 (neg.f64 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 4))))
(-.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 1 (pow.f64 x 3))) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 4))))
(+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1)
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(+.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 0)
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(+.f64 0 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 1 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 (+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) -1) 1)
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 -1 (-.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(*.f64 (-.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2)))) -1)
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(neg.f64 (-.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2)))))
(+.f64 -1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(+.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 0)
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(+.f64 0 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(-.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 0)
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(-.f64 0 (neg.f64 (/.f64 2 (+.f64 2 (*.f64 x -2)))))
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(*.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(*.f64 1 (/.f64 2 (+.f64 2 (*.f64 x -2))))
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(*.f64 -1 (neg.f64 (/.f64 2 (+.f64 2 (*.f64 x -2)))))
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(*.f64 (neg.f64 (/.f64 2 (+.f64 2 (*.f64 x -2)))) -1)
(/.f64 2 (+.f64 2 (*.f64 x -2)))
(neg.f64 (neg.f64 (/.f64 2 (+.f64 2 (*.f64 x -2)))))
(/.f64 2 (+.f64 2 (*.f64 x -2)))

eval20.0ms (1.1%)

Compiler

Compiled 952 to 776 computations (18.5% saved)

prune11.0ms (0.6%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New79180
Fresh011
Picked101
Done033
Total80585
Error
0.0b
Counts
85 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
27.9b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
33.6b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
33.9b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
32.4b
x
45.6b
-1
Compiler

Compiled 42 to 35 computations (16.7% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0.1%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done033
Total055
Error
0.0b
Counts
5 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
27.9b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
33.6b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
33.9b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
32.4b
x
45.6b
-1
Compiler

Compiled 42 to 35 computations (16.7% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune4.0ms (0.2%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done033
Total055
Error
0.0b
Counts
5 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
27.9b
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
33.6b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
33.9b
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
32.4b
x
45.6b
-1
Compiler

Compiled 42 to 35 computations (16.7% saved)

regimes83.0ms (4.4%)

Counts
6 → 3
Calls
Call 1
Inputs
-1
x
(-.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
Outputs
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x))
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
Calls

7 calls:

37.0ms
y
13.0ms
(*.f64 -2 x)
12.0ms
x
5.0ms
(+.f64 1 (exp.f64 (*.f64 -2 x)))
5.0ms
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
Results
ErrorSegmentsBranch
0.0b3x
20.6b9y
0.0b3(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
0.0b3(/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))
0.0b3(+.f64 1 (exp.f64 (*.f64 -2 x)))
0.0b3(exp.f64 (*.f64 -2 x))
0.0b3(*.f64 -2 x)
Compiler

Compiled 90 to 75 computations (16.7% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.9970739728270587e-15
0.19278850137181214
0.0ms
-142873.72163346977
-0.006278234931160745
Compiler

Compiled 17 to 15 computations (11.8% saved)

regimes78.0ms (4.1%)

Counts
5 → 3
Calls
Call 1
Inputs
-1
x
(-.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
Outputs
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
Calls

7 calls:

34.0ms
y
11.0ms
(*.f64 -2 x)
11.0ms
x
5.0ms
(+.f64 1 (exp.f64 (*.f64 -2 x)))
5.0ms
(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
Results
ErrorSegmentsBranch
0.1b3x
20.6b9y
0.1b3(-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)
0.1b3(/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x))))
0.1b3(+.f64 1 (exp.f64 (*.f64 -2 x)))
0.1b3(exp.f64 (*.f64 -2 x))
0.1b3(*.f64 -2 x)
Compiler

Compiled 77 to 65 computations (15.6% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0004003902643015
1.0031391071546054
0.0ms
0.9039032041568669
0.9999999999999987
Compiler

Compiled 17 to 15 computations (11.8% saved)

regimes13.0ms (0.7%)

Accuracy

Total -46.6b remaining (-286%)

Threshold costs -46.6b (-286%)

Counts
4 → 2
Calls
Call 1
Inputs
-1
x
(-.f64 (/.f64 2 (+.f64 2 (*.f64 x -2))) 1)
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) x)
Outputs
-1
x
Calls

2 calls:

8.0ms
x
4.0ms
y
Results
ErrorSegmentsBranch
16.3b2x
32.4b1y
Compiler

Compiled 26 to 20 computations (23.1% saved)

bsearch18.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
-18808638676394800.0
-0.09639425068590607
Results
17.0ms160×body256valid
Compiler

Compiled 97 to 85 computations (12.4% saved)

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041276
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 -2 x) -100000) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1) (if (<=.f64 (*.f64 -2 x) 6338253001141147/1267650600228229401496703205376) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x)) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)))
(if (<=.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 4278419646001971/4503599627370496) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1) (if (<=.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 4512606826625237/4503599627370496) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) x) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)))
(if (<=.f64 x -1) -1 x)
-1
Outputs
(if (<=.f64 (*.f64 -2 x) -100000) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1) (if (<=.f64 (*.f64 -2 x) 6338253001141147/1267650600228229401496703205376) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 2/15 (pow.f64 x 5)) x)) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)))
(if (<=.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 4278419646001971/4503599627370496) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1) (if (<=.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 4512606826625237/4503599627370496) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) x) (-.f64 (/.f64 2 (+.f64 1 (exp.f64 (*.f64 -2 x)))) 1)))
(if (<=.f64 x -1) -1 x)
-1
Compiler

Compiled 109 to 94 computations (13.8% saved)

soundness0.0ms (0%)

end57.0ms (3%)

Compiler

Compiled 103 to 88 computations (14.6% saved)

Profiling

Loading profile data...