Details

Time bar (total: 4.5s)

analyze7.0ms (0.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
50%50%50%0%0%0%0%3
66.7%50%25%0%25%0%0%4
83.3%62.5%12.5%0%25%0%0%5
91.7%68.7%6.2%0%25%0%0%6
95.8%71.8%3.1%0%25%0%0%7
97.9%73.4%1.6%0%25%0%0%8
99%74.2%0.8%0%25%0%0%9
99.5%74.6%0.4%0%25%0%0%10
99.7%74.8%0.2%0%25%0%0%11
99.9%74.9%0.1%0%25%0%0%12
Compiler

Compiled 11 to 9 computations (18.2% saved)

sample1.1s (23.3%)

Results
506.0ms2705×body1024valid
307.0ms3875×body256valid
161.0ms1376×body512valid
65.0ms300×body2048valid
0.0msbody256infinite
Bogosity

preprocess96.0ms (2.1%)

Algorithm
egg-herbie
Rules
1412×rational.json-simplify-53
998×rational.json-simplify-59
926×rational.json-simplify-19
790×rational.json-simplify-41
708×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0725
11225
21825
33825
420825
5267625
6629425
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
Outputs
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(+.f64 (*.f64 (-.f64 -1 x) (-.f64 -1 x)) -1)
Compiler

Compiled 11 to 9 computations (18.2% saved)

simplify93.0ms (2%)

Algorithm
egg-herbie
Rules
1412×rational.json-simplify-53
998×rational.json-simplify-59
926×rational.json-simplify-19
790×rational.json-simplify-41
708×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0725
11225
21825
33825
420825
5267625
6629425
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
Outputs
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(+.f64 (*.f64 (-.f64 -1 x) (-.f64 -1 x)) -1)

eval1.0ms (0%)

Compiler

Compiled 28 to 22 computations (21.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New213
Fresh011
Picked000
Done000
Total224
Error
41.1b
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
41.1b
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
Compiler

Compiled 10 to 8 computations (20% saved)

localize8.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 x 1) (+.f64 x 1))
4.5b
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
Compiler

Compiled 22 to 16 computations (27.3% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite86.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1680×bool.json-1
1680×bool.json-2
1652×rational.json-1
1652×rational.json-2
1292×bool.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0744
18044
225744
356744
4178844
5561144
Stop Event
node limit
Counts
2 → 118
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
(*.f64 (+.f64 x 1) (+.f64 x 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 x 1) (-.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x 1) (/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (-.f64 0 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (fabs.f64 (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (/.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))) (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))) (fabs.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x 2)) (+.f64 (/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 (+.f64 x 1)) (/.f64 1 (fabs.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 (+.f64 x 1)) (fabs.f64 (/.f64 1 (fabs.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 (+.f64 x 1)) (/.f64 (*.f64 2 (/.f64 1 (fabs.f64 (+.f64 x 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 (+.f64 x 1)) (/.f64 (+.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (/.f64 1 (fabs.f64 (+.f64 x 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 (+.f64 x 1)) (fabs.f64 (/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)) (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (*.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))) (*.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (+.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))) (*.f64 (+.f64 x 1) (-.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (+.f64 x 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1)))) (fabs.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (fabs.f64 (+.f64 x 1))) (+.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (/.f64 1 (fabs.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 1 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (fabs.f64 (/.f64 1 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (*.f64 2 (/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (+.f64 x 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (*.f64 4 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (*.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)) (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (/.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (/.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 (/.f64 1 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 1 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (/.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x))) (+.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))) (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))) (+.f64 (/.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x (+.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 2 (fabs.f64 (+.f64 x 1)))) (*.f64 2 (fabs.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))) (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))) (/.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (-.f64 0 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1))) (*.f64 2 (fabs.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (/.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (*.f64 (+.f64 x 1) (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1)) (+.f64 x (+.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (/.f64 1 (+.f64 x 1)) (*.f64 (+.f64 x 1) (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (neg.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (-.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))))) (neg.f64 (fabs.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1)))) (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fabs.f64 (+.f64 x 1)) (-.f64 -1 x)) (*.f64 (fabs.f64 (+.f64 x 1)) (-.f64 -1 x))) (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (-.f64 -1 x))) (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (-.f64 -1 x)))) (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1))) (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1)))) (*.f64 4 (fabs.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))) (*.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (*.f64 (+.f64 x 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 2 (fabs.f64 (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 2 (fabs.f64 (+.f64 x 1))))) (*.f64 4 (fabs.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))) (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))))) (+.f64 (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x))) (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1)) (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1))) (*.f64 (+.f64 x 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (neg.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (+.f64 (neg.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2)))) (neg.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (+.f64 (-.f64 -1 x) (-.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))))) (neg.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1)))))) (+.f64 (neg.f64 (fabs.f64 (+.f64 x 1))) (neg.f64 (fabs.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1)))) (-.f64 0 (*.f64 2 (fabs.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (-.f64 0 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (neg.f64 (+.f64 x (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 2 (fabs.f64 (+.f64 x 1))))) (-.f64 0 (*.f64 2 (fabs.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1))) (neg.f64 (+.f64 x (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (+.f64 x 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (-.f64 0 (-.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1)))))) (fabs.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (*.f64 2 (fabs.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))))) (fabs.f64 (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1)))) (*.f64 2 (fabs.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1))) (*.f64 2 (fabs.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (fabs.f64 (+.f64 x 1)) (-.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (-.f64 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (+.f64 x 1) (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))

simplify84.0ms (1.9%)

Algorithm
egg-herbie
Rules
1344×rational.json-simplify-2
1036×rational.json-simplify-61
982×rational.json-simplify-35
828×rational.json-simplify-50
662×rational.json-simplify-53
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02663176
19833008
252922964
Stop Event
node limit
Counts
142 → 137
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
1
(+.f64 (*.f64 2 x) 1)
(+.f64 (*.f64 2 x) (+.f64 1 (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 1 (pow.f64 x 2)))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (+.f64 1 (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 1 (pow.f64 x 2)))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (+.f64 1 (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 1 (pow.f64 x 2)))
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(+.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 0)
(+.f64 0 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 1 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1))
(*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 1)
(*.f64 2 (/.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2))
(*.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2))
(*.f64 (/.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2) 2)
(/.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 1)
(/.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 4))) 16)
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 0)
(+.f64 0 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 0)
(-.f64 0 (*.f64 (+.f64 x 1) (-.f64 -1 x)))
(/.f64 1 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))
(/.f64 1 (/.f64 (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) 2))
(/.f64 1 (/.f64 (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) 4))
(/.f64 (+.f64 x 1) (/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
(/.f64 -1 (-.f64 0 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))))
(/.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))))
(/.f64 2 (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))))
(/.f64 2 (fabs.f64 (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (+.f64 x 1)))
(/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (/.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))) 2)
(/.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))) (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))) (fabs.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(/.f64 (+.f64 x (+.f64 x 2)) (+.f64 (/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(/.f64 4 (*.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 4 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 4 (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))))
(/.f64 4 (+.f64 (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(/.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 (fabs.f64 (+.f64 x 1)) (/.f64 1 (fabs.f64 (+.f64 x 1))))
(/.f64 (fabs.f64 (+.f64 x 1)) (fabs.f64 (/.f64 1 (fabs.f64 (+.f64 x 1)))))
(/.f64 (fabs.f64 (+.f64 x 1)) (/.f64 (*.f64 2 (/.f64 1 (fabs.f64 (+.f64 x 1)))) 2))
(/.f64 (fabs.f64 (+.f64 x 1)) (/.f64 (+.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (/.f64 1 (fabs.f64 (+.f64 x 1)))) 2))
(/.f64 (fabs.f64 (+.f64 x 1)) (fabs.f64 (/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(/.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)) -1)
(/.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)) (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(/.f64 8 (+.f64 (*.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))) (*.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))))
(/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) 4)
(/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (+.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(/.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))) (*.f64 (+.f64 x 1) (-.f64 -1 x)))
(/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1)))) (fabs.f64 (+.f64 x 1)))
(/.f64 (*.f64 2 (fabs.f64 (+.f64 x 1))) (+.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (/.f64 1 (fabs.f64 (+.f64 x 1)))))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 1 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (+.f64 x 1))))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (fabs.f64 (/.f64 1 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (*.f64 2 (/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (+.f64 x 1)))) 2))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2)))))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (*.f64 4 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (*.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)) (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (/.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))))))
(/.f64 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (/.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 (/.f64 1 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 1 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(/.f64 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (/.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x))) (+.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))) (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))))))
(/.f64 (*.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))) (+.f64 (/.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)))
(/.f64 (*.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x (+.f64 x 2)))
(/.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 2 (fabs.f64 (+.f64 x 1)))) (*.f64 2 (fabs.f64 (+.f64 x 1))))
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))) (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x))))
(/.f64 (/.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))) (/.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1))))
(/.f64 -2 (-.f64 0 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1))) (*.f64 2 (fabs.f64 (+.f64 x 1))))
(/.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (/.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (*.f64 (+.f64 x 1) (+.f64 x 1))))
(/.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1)) (+.f64 x (+.f64 x 2)))
(/.f64 (/.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (/.f64 1 (+.f64 x 1)) (*.f64 (+.f64 x 1) (+.f64 x 1))))
(/.f64 (neg.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (neg.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2)))))
(/.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (-.f64 -1 x))
(/.f64 (neg.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))))) (neg.f64 (fabs.f64 (+.f64 x 1))))
(/.f64 (*.f64 (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1)))) (*.f64 (+.f64 x 1) (+.f64 x 1)))
(/.f64 (*.f64 (*.f64 (fabs.f64 (+.f64 x 1)) (-.f64 -1 x)) (*.f64 (fabs.f64 (+.f64 x 1)) (-.f64 -1 x))) (*.f64 (+.f64 x 1) (+.f64 x 1)))
(/.f64 (*.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (-.f64 -1 x))) (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (-.f64 -1 x)))) (*.f64 (+.f64 x 1) (+.f64 x 1)))
(/.f64 (+.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1))) (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1)))) (*.f64 4 (fabs.f64 (+.f64 x 1))))
(/.f64 (+.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))) (*.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (*.f64 (+.f64 x 1) 4))
(/.f64 (+.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 2 (fabs.f64 (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 2 (fabs.f64 (+.f64 x 1))))) (*.f64 4 (fabs.f64 (+.f64 x 1))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))) (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))))) (+.f64 (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x))) (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x)))))
(/.f64 (+.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1)) (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1))) (*.f64 (+.f64 x 1) 4))
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (neg.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (+.f64 (neg.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2)))) (neg.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))))))
(/.f64 (+.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (+.f64 (-.f64 -1 x) (-.f64 -1 x)))
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))))) (neg.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1)))))) (+.f64 (neg.f64 (fabs.f64 (+.f64 x 1))) (neg.f64 (fabs.f64 (+.f64 x 1)))))
(/.f64 (neg.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1)))) (-.f64 0 (*.f64 2 (fabs.f64 (+.f64 x 1)))))
(/.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (-.f64 0 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (neg.f64 (+.f64 x (+.f64 x 2))))
(/.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 2 (fabs.f64 (+.f64 x 1))))) (-.f64 0 (*.f64 2 (fabs.f64 (+.f64 x 1)))))
(/.f64 (neg.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1))) (neg.f64 (+.f64 x (+.f64 x 2))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (+.f64 x 1))
(/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (-.f64 0 (-.f64 -1 x)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1)))))) (fabs.f64 (+.f64 x 1)))
(/.f64 (fabs.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (*.f64 2 (fabs.f64 (+.f64 x 1))))
(/.f64 (fabs.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))))) (fabs.f64 (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x)))))
(/.f64 (fabs.f64 (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x)))) 2)
(/.f64 (fabs.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1)))) (*.f64 2 (fabs.f64 (+.f64 x 1))))
(/.f64 (fabs.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1))) (*.f64 2 (fabs.f64 (+.f64 x 1))))
(neg.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)))
(fabs.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(fabs.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)))
(fabs.f64 (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))))
(fabs.f64 (*.f64 (fabs.f64 (+.f64 x 1)) (-.f64 -1 x)))
(fabs.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (-.f64 -1 x))))
Outputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
1
(+.f64 (*.f64 2 x) 1)
(+.f64 (*.f64 2 x) (+.f64 1 (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 x 2) 1))
(+.f64 (*.f64 2 x) (+.f64 1 (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 x 2) 1))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (+.f64 1 (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 x 2) 1))
(+.f64 (*.f64 2 x) (+.f64 1 (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 x 2) 1))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (+.f64 1 (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 x 2) 1))
(+.f64 (*.f64 2 x) (+.f64 1 (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 x 2) 1))
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(+.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 0)
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(+.f64 0 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1))
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(*.f64 1 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1))
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 1)
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(*.f64 2 (/.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2))
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(*.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2) 1/2)
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2))
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(*.f64 (/.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2) 2)
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(/.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 1)
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(/.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 2) 2)
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(/.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 4) 4)
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 4)) 8)
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1) 4))) 16)
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) -1)
(+.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 0)
(*.f64 (+.f64 x 1) (+.f64 x 1))
(+.f64 0 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 0)
(*.f64 (+.f64 x 1) (+.f64 x 1))
(-.f64 0 (*.f64 (+.f64 x 1) (-.f64 -1 x)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 1 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 1 (/.f64 (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) 2))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 1 (/.f64 (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) 4))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (+.f64 x 1) (/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 -1 (-.f64 0 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 2 (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 2 (fabs.f64 (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 2 (fabs.f64 (/.f64 (+.f64 x (+.f64 2 x)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 2 (fabs.f64 (/.f64 (+.f64 2 (+.f64 x x)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 2 (fabs.f64 (/.f64 (+.f64 (/.f64 1 (+.f64 x 1)) (/.f64 1 (+.f64 x 1))) (+.f64 x 1))))
(/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (/.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))) 2)
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))) (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))) (fabs.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (+.f64 x (+.f64 x 2)) (+.f64 (/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 4 (*.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 4 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 4 (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 4 (+.f64 (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (/.f64 (+.f64 x (+.f64 x 2)) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (fabs.f64 (+.f64 x 1)) (/.f64 1 (fabs.f64 (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (fabs.f64 (+.f64 x 1)) (fabs.f64 (/.f64 1 (fabs.f64 (+.f64 x 1)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (fabs.f64 (+.f64 x 1)) (/.f64 (*.f64 2 (/.f64 1 (fabs.f64 (+.f64 x 1)))) 2))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (fabs.f64 (+.f64 x 1)) (/.f64 (+.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (/.f64 1 (fabs.f64 (+.f64 x 1)))) 2))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (fabs.f64 (+.f64 x 1)) (fabs.f64 (/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)) -1)
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)) (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))))
(/.f64 (*.f64 (+.f64 x 1) (*.f64 (-.f64 -1 x) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (-.f64 -1 x)))))
(*.f64 (+.f64 x 1) (/.f64 (-.f64 -1 x) (/.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (+.f64 x 1))) (-.f64 -1 x))))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 8 (+.f64 (*.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))) (*.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (/.f64 (*.f64 (+.f64 x 1) 4) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) 4)
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (+.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))) (*.f64 (+.f64 x 1) (-.f64 -1 x)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))) (+.f64 x 1))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1)))) (fabs.f64 (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 2 (fabs.f64 (+.f64 x 1))) (+.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (/.f64 1 (fabs.f64 (+.f64 x 1)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 1 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (fabs.f64 (/.f64 1 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (*.f64 2 (/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (+.f64 x 1)))) 2))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (*.f64 4 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (*.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)) (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (/.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (/.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 (/.f64 1 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 1 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (/.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x))) (+.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))) (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))))))
(/.f64 (*.f64 (+.f64 x 1) (*.f64 (-.f64 -1 x) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (-.f64 -1 x)))))
(*.f64 (+.f64 x 1) (/.f64 (-.f64 -1 x) (/.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (+.f64 x 1))) (-.f64 -1 x))))
(/.f64 (*.f64 2 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))) (+.f64 (/.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (/.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))) 8)
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x (+.f64 x 2)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 2 (fabs.f64 (+.f64 x 1)))) (*.f64 2 (fabs.f64 (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))) (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))) (/.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1))))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (/.f64 -1 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (-.f64 -1 x))))))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)) (/.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (/.f64 (-.f64 -1 x) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (+.f64 x 1))))))
(/.f64 -2 (-.f64 0 (*.f64 2 (/.f64 1 (*.f64 (+.f64 x 1) (+.f64 x 1))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1))) (*.f64 2 (fabs.f64 (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (/.f64 (/.f64 1 (fabs.f64 (+.f64 x 1))) (*.f64 (+.f64 x 1) (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1)) (+.f64 x (+.f64 x 2)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (/.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (/.f64 1 (+.f64 x 1)) (*.f64 (+.f64 x 1) (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (neg.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (neg.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (-.f64 -1 x))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (neg.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))))) (neg.f64 (fabs.f64 (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1)))) (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (*.f64 (fabs.f64 (+.f64 x 1)) (-.f64 -1 x)) (*.f64 (fabs.f64 (+.f64 x 1)) (-.f64 -1 x))) (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (*.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (-.f64 -1 x))) (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (-.f64 -1 x)))) (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (+.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1))) (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1)))) (*.f64 4 (fabs.f64 (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (+.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (+.f64 x 1))) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))) (*.f64 2 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)))) 16)
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (*.f64 (+.f64 x 1) 4))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (+.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 2 (fabs.f64 (+.f64 x 1)))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 2 (fabs.f64 (+.f64 x 1))))) (*.f64 4 (fabs.f64 (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x)))) (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))))) (+.f64 (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x))) (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (+.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1)) (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1))) (*.f64 (+.f64 x 1) 4))
(/.f64 (+.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x (+.f64 2 x)) (+.f64 x 1))) (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x (+.f64 2 x)) (+.f64 x 1)))) (*.f64 (+.f64 x 1) 4))
(/.f64 (+.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (+.f64 2 (+.f64 x x))) (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (+.f64 2 (+.f64 x x)))) (*.f64 (+.f64 x 1) 4))
(/.f64 (*.f64 (+.f64 2 (+.f64 x x)) (*.f64 (+.f64 x 1) (+.f64 2 (+.f64 x x)))) (*.f64 (+.f64 x 1) 4))
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))))) (neg.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (+.f64 (neg.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2)))) (neg.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (+.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1)))) (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (+.f64 (-.f64 -1 x) (-.f64 -1 x)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))))) (neg.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1)))))) (+.f64 (neg.f64 (fabs.f64 (+.f64 x 1))) (neg.f64 (fabs.f64 (+.f64 x 1)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (neg.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1)))) (-.f64 0 (*.f64 2 (fabs.f64 (+.f64 x 1)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4)) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (-.f64 0 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) 4))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (neg.f64 (+.f64 x (+.f64 x 2))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 2 (fabs.f64 (+.f64 x 1))))) (-.f64 0 (*.f64 2 (fabs.f64 (+.f64 x 1)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (neg.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1))) (neg.f64 (+.f64 x (+.f64 x 2))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))))) (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (+.f64 x 1))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (-.f64 0 (-.f64 -1 x)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1)))))) (fabs.f64 (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (fabs.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1))) (/.f64 (+.f64 x 1) (+.f64 x 1))))) (*.f64 2 (fabs.f64 (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (fabs.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) (*.f64 (+.f64 x 1) (-.f64 -1 x))))) (fabs.f64 (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x)))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (fabs.f64 (*.f64 2 (*.f64 (+.f64 x 1) (-.f64 -1 x)))) 2)
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (fabs.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (fabs.f64 (+.f64 x 1)))) (*.f64 2 (fabs.f64 (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(/.f64 (fabs.f64 (/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (+.f64 x 1))) (*.f64 2 (fabs.f64 (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(neg.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(fabs.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(fabs.f64 (*.f64 (+.f64 x 1) (-.f64 -1 x)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(fabs.f64 (*.f64 (+.f64 x 1) (fabs.f64 (+.f64 x 1))))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(fabs.f64 (*.f64 (fabs.f64 (+.f64 x 1)) (-.f64 -1 x)))
(*.f64 (+.f64 x 1) (+.f64 x 1))
(fabs.f64 (/.f64 (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (+.f64 x 1)))) (*.f64 (+.f64 x 1) (-.f64 -1 x))))
(*.f64 (+.f64 x 1) (+.f64 x 1))

eval56.0ms (1.2%)

Compiler

Compiled 3777 to 2964 computations (21.5% saved)

prune19.0ms (0.4%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1325137
Fresh000
Picked011
Done000
Total1326138
Error
0b
Counts
138 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
41.1b
(-.f64 (/.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))) 2) 1)
59.8b
(-.f64 (+.f64 (*.f64 2 x) 1) 1)
41.1b
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
61.2b
(-.f64 1 1)
0.0b
(+.f64 (*.f64 2 x) (pow.f64 x 2))
19.2b
(*.f64 2 x)
Compiler

Compiled 86 to 70 computations (18.6% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 2 x) (pow.f64 x 2))
Compiler

Compiled 16 to 11 computations (31.3% saved)

series1.0ms (0%)

Counts
1 → 3
Calls

3 calls:

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

rewrite93.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1636×bool.json-1
1636×bool.json-2
1590×rational.json-1
1590×rational.json-2
1084×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
17019
219219
338719
478719
5174819
6399619
7665219
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(+.f64 (*.f64 2 x) (pow.f64 x 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x (*.f64 (pow.f64 x 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (+.f64 x x) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (+.f64 x x) (pow.f64 x 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (+.f64 (*.f64 x 1/2) (*.f64 (pow.f64 x 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (+.f64 x x) (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 (pow.f64 x 2) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (+.f64 x x) (pow.f64 x 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (+.f64 x x) (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (+.f64 x x) (pow.f64 x 2)) (+.f64 (+.f64 x x) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (+.f64 x x) (pow.f64 x 2)) (+.f64 (+.f64 x x) (pow.f64 x 2)))))))

simplify977.0ms (21.6%)

Algorithm
egg-herbie
Rules
5864×rational.json-simplify-51
1976×rational.json-simplify-35
1722×rational.json-simplify-2
1398×rational.json-simplify-1
1046×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054456
1110456
2252456
3750456
41181456
52633456
63509456
73561456
83592456
93618456
103644456
113670456
123720456
133746456
143772456
153798456
163824456
173850456
183876456
194617456
205002456
215034456
225064456
235093456
245122456
255151456
265180456
275209456
285238456
295267456
305296456
315325456
325354456
335383456
345412456
355441456
365470456
375499456
385528456
395557456
405557456
Stop Event
node limit
Counts
24 → 25
Calls
Call 1
Inputs
(*.f64 2 x)
(pow.f64 x 2)
(pow.f64 x 2)
(-.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 0)
(*.f64 2 (+.f64 x (*.f64 (pow.f64 x 2) 1/2)))
(*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 1)
(*.f64 1 (+.f64 (+.f64 x x) (pow.f64 x 2)))
(*.f64 (*.f64 2 (+.f64 (+.f64 x x) (pow.f64 x 2))) 1/2)
(*.f64 4 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 1/4))
(*.f64 4 (+.f64 (*.f64 x 1/2) (*.f64 (pow.f64 x 2) 1/4)))
(*.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 4) 1/4)
(*.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8) 1/8)
(*.f64 1/2 (*.f64 2 (+.f64 (+.f64 x x) (pow.f64 x 2))))
(*.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 x 4)))
(*.f64 (+.f64 x (*.f64 (pow.f64 x 2) 1/2)) 2)
(*.f64 1/4 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 4))
(*.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 1/4) 4)
(/.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 1)
(/.f64 (*.f64 2 (+.f64 (+.f64 x x) (pow.f64 x 2))) 2)
(/.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 4) 4)
(/.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8)))) 64)
Outputs
(*.f64 2 x)
(pow.f64 x 2)
(pow.f64 x 2)
(-.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 0)
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(*.f64 2 (+.f64 x (*.f64 (pow.f64 x 2) 1/2)))
(*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 1)
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(*.f64 1 (+.f64 (+.f64 x x) (pow.f64 x 2)))
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(*.f64 (*.f64 2 (+.f64 (+.f64 x x) (pow.f64 x 2))) 1/2)
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(*.f64 4 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 1/4))
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(*.f64 4 (+.f64 (*.f64 x 1/2) (*.f64 (pow.f64 x 2) 1/4)))
(*.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 4) 1/4)
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(*.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8) 1/8)
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(*.f64 1/2 (*.f64 2 (+.f64 (+.f64 x x) (pow.f64 x 2))))
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(*.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 x 4)))
(*.f64 (+.f64 x (*.f64 (pow.f64 x 2) 1/2)) 2)
(*.f64 2 (+.f64 x (*.f64 (pow.f64 x 2) 1/2)))
(*.f64 1/4 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 4))
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(*.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 1/4) 4)
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(/.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 1)
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(/.f64 (*.f64 2 (+.f64 (+.f64 x x) (pow.f64 x 2))) 2)
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(/.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 4) 4)
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(/.f64 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8) 8)
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8)) 16)
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8))) 32)
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (pow.f64 x 2)) 8)))) 64)
(+.f64 (pow.f64 x 2) (+.f64 x x))
(+.f64 x (+.f64 x (pow.f64 x 2)))

localize2.0ms (0.1%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize2.0ms (0.1%)

Compiler

Compiled 5 to 5 computations (0% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.6b
(-.f64 (+.f64 (*.f64 2 x) 1) 1)
Compiler

Compiled 19 to 15 computations (21.1% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite76.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1424×bool.json-1
1424×bool.json-2
1372×rational.json-1
1372×rational.json-2
1372×rational.json-4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0819
1907
22727
35177
410797
525907
655837
Stop Event
node limit
Counts
1 → 40
Calls
Call 1
Inputs
(-.f64 (+.f64 (*.f64 2 x) 1) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 (+.f64 x x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (+.f64 1 (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (+.f64 -1 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 x (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 x 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 x (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 2 (+.f64 x x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 x x) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 2 (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -1) (+.f64 x 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 3 (+.f64 (+.f64 x x) -3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 x x) -3) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 x x) 3) -3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x 1) (+.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -3 (+.f64 (+.f64 x x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 x -1)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (+.f64 x 1)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 2 (+.f64 x -1)) (+.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -2 (+.f64 x 1)) (+.f64 x 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 8) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 16) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 16)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x x) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x x) (+.f64 x x))))))

simplify338.0ms (7.5%)

Algorithm
egg-herbie
Rules
3006×rational.json-simplify-48
2946×rational.json-simplify-51
1762×rational.json-simplify-1
1334×rational.json-simplify-2
1166×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
075364
1150364
2384364
31230364
42343364
53057364
63312364
73460364
83604364
93745364
104737364
115458364
125528364
135823364
145907364
155987364
166067364
176431364
186511364
196591364
206671364
217471364
Stop Event
node limit
Counts
52 → 40
Calls
Call 1
Inputs
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(+.f64 2 (+.f64 (+.f64 x x) -2))
(+.f64 x x)
(+.f64 x (+.f64 1 (+.f64 x -1)))
(+.f64 x (+.f64 -1 (+.f64 x 1)))
(+.f64 (+.f64 x x) 0)
(+.f64 1 (+.f64 x (+.f64 x -1)))
(+.f64 (+.f64 x (+.f64 x 1)) -1)
(+.f64 0 (+.f64 x x))
(+.f64 -1 (+.f64 x (+.f64 x 1)))
(+.f64 (+.f64 x (+.f64 x -1)) 1)
(+.f64 (+.f64 2 (+.f64 x x)) -2)
(+.f64 (+.f64 (+.f64 x x) -2) 2)
(+.f64 -2 (+.f64 2 (+.f64 x x)))
(+.f64 (+.f64 x -1) (+.f64 x 1))
(+.f64 3 (+.f64 (+.f64 x x) -3))
(+.f64 (+.f64 (+.f64 x x) -3) 3)
(+.f64 (+.f64 (+.f64 x x) 3) -3)
(+.f64 (+.f64 x 1) (+.f64 x -1))
(+.f64 -3 (+.f64 (+.f64 x x) 3))
(+.f64 (+.f64 1 (+.f64 x -1)) x)
(+.f64 (+.f64 -1 (+.f64 x 1)) x)
(+.f64 (+.f64 2 (+.f64 x -1)) (+.f64 x -1))
(+.f64 (+.f64 -2 (+.f64 x 1)) (+.f64 x 1))
(*.f64 2 x)
(*.f64 x 2)
(*.f64 (+.f64 x x) 1)
(*.f64 1 (+.f64 x x))
(*.f64 4 (*.f64 x 1/2))
(*.f64 (*.f64 x 4) 1/2)
(*.f64 (*.f64 x 8) 1/4)
(*.f64 1/2 (*.f64 x 4))
(*.f64 (*.f64 x 1/2) 4)
(*.f64 1/4 (*.f64 x 8))
(*.f64 (*.f64 x 1/4) 8)
(/.f64 (+.f64 x x) 1)
(/.f64 (*.f64 x 4) 2)
(/.f64 (*.f64 x 8) 4)
(/.f64 (*.f64 x 16) 8)
(/.f64 (*.f64 2 (*.f64 x 16)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) 32)
Outputs
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(+.f64 2 (+.f64 (+.f64 x x) -2))
(*.f64 2 x)
(+.f64 x x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x (+.f64 1 (+.f64 x -1)))
(*.f64 2 x)
(+.f64 x x)
(+.f64 x (+.f64 -1 (+.f64 x 1)))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 x x) 0)
(*.f64 2 x)
(+.f64 x x)
(+.f64 1 (+.f64 x (+.f64 x -1)))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 x (+.f64 x 1)) -1)
(*.f64 2 x)
(+.f64 x x)
(+.f64 0 (+.f64 x x))
(*.f64 2 x)
(+.f64 x x)
(+.f64 -1 (+.f64 x (+.f64 x 1)))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 x (+.f64 x -1)) 1)
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 2 (+.f64 x x)) -2)
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 (+.f64 x x) -2) 2)
(*.f64 2 x)
(+.f64 x x)
(+.f64 -2 (+.f64 2 (+.f64 x x)))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 x -1) (+.f64 x 1))
(*.f64 2 x)
(+.f64 x x)
(+.f64 3 (+.f64 (+.f64 x x) -3))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 (+.f64 x x) -3) 3)
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 (+.f64 x x) 3) -3)
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 x 1) (+.f64 x -1))
(*.f64 2 x)
(+.f64 x x)
(+.f64 -3 (+.f64 (+.f64 x x) 3))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 1 (+.f64 x -1)) x)
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 -1 (+.f64 x 1)) x)
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 2 (+.f64 x -1)) (+.f64 x -1))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (+.f64 -2 (+.f64 x 1)) (+.f64 x 1))
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 x 2)
(*.f64 2 x)
(+.f64 x x)
(*.f64 (+.f64 x x) 1)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1 (+.f64 x x))
(*.f64 2 x)
(+.f64 x x)
(*.f64 4 (*.f64 x 1/2))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 4) 1/2)
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 8) 1/4)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1/2 (*.f64 x 4))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 1/2) 4)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1/4 (*.f64 x 8))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 1/4) 8)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (+.f64 x x) 1)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 4) 2)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 8) 4)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 16) 8)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 x 16)) 16)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) 32)
(*.f64 2 x)
(+.f64 x x)

localize16.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 48 to 34 computations (29.2% saved)

series1.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite93.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1760×bool.json-1
1760×bool.json-2
1092×bool.json-3
1026×rational.json-1
1026×rational.json-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01175
112375
236375
374263
4162463
5353763
6707863
Stop Event
node limit
Counts
3 → 50
Calls
Call 1
Inputs
(-.f64 (/.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))) 2) 1)
(+.f64 x (+.f64 x 2))
(*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (*.f64 (-.f64 x -1) (-.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1/2) (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (-.f64 x -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 1/2 (-.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 x -1)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (-.f64 x -1)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (-.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x -1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 8 (-.f64 x -1)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 8 (-.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (-.f64 x -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 8 (-.f64 x -1)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 8 (-.f64 x -1))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 8 (-.f64 x -1)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 8 (-.f64 x -1)))) (*.f64 2 (*.f64 2 (*.f64 8 (-.f64 x -1))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (+.f64 x 2)) (+.f64 x (+.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (+.f64 x 2)) (+.f64 x (+.f64 x 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) (*.f64 (-.f64 x -1) (-.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 8 (-.f64 x -1))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 8 (-.f64 x -1)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 8 (-.f64 x -1))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))))))))

simplify86.0ms (1.9%)

Algorithm
egg-herbie
Rules
1086×rational.json-simplify-53
1052×rational.json-simplify-35
854×rational.json-simplify-2
788×rational.json-simplify-1
734×rational.json-simplify-19
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0991634
12091634
25151634
320671634
464541634
Stop Event
node limit
Counts
86 → 73
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
2
(+.f64 (*.f64 2 x) 2)
(+.f64 (*.f64 2 x) 2)
(+.f64 (*.f64 2 x) 2)
(*.f64 2 x)
(+.f64 2 (*.f64 2 x))
(+.f64 2 (*.f64 2 x))
(+.f64 2 (*.f64 2 x))
(*.f64 2 x)
(+.f64 2 (*.f64 2 x))
(+.f64 2 (*.f64 2 x))
(+.f64 2 (*.f64 2 x))
2
(+.f64 2 (*.f64 4 x))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 4 x)))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 4 x)))
(*.f64 2 (pow.f64 x 2))
(+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 4 x))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 4 x)))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 4 x)))
(*.f64 2 (pow.f64 x 2))
(+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 4 x))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 4 x)))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 4 x)))
(+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1)
(+.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 0)
(+.f64 0 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1))
(+.f64 -1 (*.f64 (-.f64 x -1) (-.f64 x -1)))
(+.f64 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1/2) (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1/2))
(*.f64 1 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1))
(*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1/2))
(*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1)
(*.f64 4 (/.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4))
(*.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) -2) 1/2)
(*.f64 1/2 (+.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) -2))
(*.f64 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1/2) 2)
(*.f64 (/.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4) 4)
(/.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) -2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4)))) 32)
(-.f64 (+.f64 x (+.f64 x 2)) 0)
(-.f64 (+.f64 x (-.f64 x -1)) -1)
(*.f64 1 (+.f64 x (+.f64 x 2)))
(*.f64 2 (-.f64 x -1))
(*.f64 (+.f64 x (+.f64 x 2)) 1)
(*.f64 4 (*.f64 1/2 (-.f64 x -1)))
(*.f64 (*.f64 1/2 (-.f64 x -1)) 4)
(*.f64 (*.f64 4 (-.f64 x -1)) 1/2)
(*.f64 1/2 (*.f64 4 (-.f64 x -1)))
(*.f64 (-.f64 x -1) 2)
(*.f64 (*.f64 8 (-.f64 x -1)) 1/4)
(*.f64 1/4 (*.f64 8 (-.f64 x -1)))
(/.f64 (+.f64 x (+.f64 x 2)) 1)
(/.f64 (*.f64 4 (-.f64 x -1)) 2)
(/.f64 (*.f64 8 (-.f64 x -1)) 4)
(/.f64 (*.f64 2 (*.f64 8 (-.f64 x -1))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 8 (-.f64 x -1)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 8 (-.f64 x -1)))) (*.f64 2 (*.f64 2 (*.f64 8 (-.f64 x -1))))) 32)
(+.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) 0)
(+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) (*.f64 (-.f64 x -1) (-.f64 x -1)))
(+.f64 0 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))))
(-.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) 0)
(/.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) 1)
(/.f64 (*.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) 4) 2)
(/.f64 (*.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) 8) 4)
(/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 8 (-.f64 x -1))) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 8 (-.f64 x -1)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 8 (-.f64 x -1))))) 32)
(fabs.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))))
Outputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
2
(+.f64 (*.f64 2 x) 2)
(+.f64 2 (*.f64 2 x))
(+.f64 (*.f64 2 x) 2)
(+.f64 2 (*.f64 2 x))
(+.f64 (*.f64 2 x) 2)
(+.f64 2 (*.f64 2 x))
(*.f64 2 x)
(+.f64 2 (*.f64 2 x))
(+.f64 2 (*.f64 2 x))
(+.f64 2 (*.f64 2 x))
(*.f64 2 x)
(+.f64 2 (*.f64 2 x))
(+.f64 2 (*.f64 2 x))
(+.f64 2 (*.f64 2 x))
2
(+.f64 2 (*.f64 4 x))
(+.f64 2 (*.f64 x 4))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 4 x)))
(+.f64 (+.f64 2 (*.f64 x 4)) (*.f64 2 (pow.f64 x 2)))
(+.f64 2 (+.f64 (*.f64 x 4) (*.f64 2 (pow.f64 x 2))))
(+.f64 (*.f64 x 4) (+.f64 2 (*.f64 2 (pow.f64 x 2))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 4 x)))
(+.f64 (+.f64 2 (*.f64 x 4)) (*.f64 2 (pow.f64 x 2)))
(+.f64 2 (+.f64 (*.f64 x 4) (*.f64 2 (pow.f64 x 2))))
(+.f64 (*.f64 x 4) (+.f64 2 (*.f64 2 (pow.f64 x 2))))
(*.f64 2 (pow.f64 x 2))
(+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 4 x))
(+.f64 (*.f64 x 4) (*.f64 2 (pow.f64 x 2)))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 4 x)))
(+.f64 (+.f64 2 (*.f64 x 4)) (*.f64 2 (pow.f64 x 2)))
(+.f64 2 (+.f64 (*.f64 x 4) (*.f64 2 (pow.f64 x 2))))
(+.f64 (*.f64 x 4) (+.f64 2 (*.f64 2 (pow.f64 x 2))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 4 x)))
(+.f64 (+.f64 2 (*.f64 x 4)) (*.f64 2 (pow.f64 x 2)))
(+.f64 2 (+.f64 (*.f64 x 4) (*.f64 2 (pow.f64 x 2))))
(+.f64 (*.f64 x 4) (+.f64 2 (*.f64 2 (pow.f64 x 2))))
(*.f64 2 (pow.f64 x 2))
(+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 4 x))
(+.f64 (*.f64 x 4) (*.f64 2 (pow.f64 x 2)))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 4 x)))
(+.f64 (+.f64 2 (*.f64 x 4)) (*.f64 2 (pow.f64 x 2)))
(+.f64 2 (+.f64 (*.f64 x 4) (*.f64 2 (pow.f64 x 2))))
(+.f64 (*.f64 x 4) (+.f64 2 (*.f64 2 (pow.f64 x 2))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 2 (*.f64 4 x)))
(+.f64 (+.f64 2 (*.f64 x 4)) (*.f64 2 (pow.f64 x 2)))
(+.f64 2 (+.f64 (*.f64 x 4) (*.f64 2 (pow.f64 x 2))))
(+.f64 (*.f64 x 4) (+.f64 2 (*.f64 2 (pow.f64 x 2))))
(+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1)
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(+.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 0)
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(+.f64 0 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1))
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(+.f64 -1 (*.f64 (-.f64 x -1) (-.f64 x -1)))
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(+.f64 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1/2) (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1/2))
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 1 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1))
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1/2))
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1)
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4))
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) -2) 1/2)
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 1/2 (+.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) -2))
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4) 1/4)
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4))
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1/2) 2)
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (/.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4) 4)
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(/.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 1)
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) -2) 2)
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(/.f64 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4) 4)
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4)) 8)
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4))) 16)
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) -1) 4)))) 32)
(+.f64 -1 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(-.f64 (+.f64 x (+.f64 x 2)) 0)
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(-.f64 (+.f64 x (-.f64 x -1)) -1)
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(*.f64 1 (+.f64 x (+.f64 x 2)))
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(*.f64 2 (-.f64 x -1))
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(*.f64 (+.f64 x (+.f64 x 2)) 1)
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(*.f64 4 (*.f64 1/2 (-.f64 x -1)))
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(*.f64 (*.f64 1/2 (-.f64 x -1)) 4)
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(*.f64 (*.f64 4 (-.f64 x -1)) 1/2)
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(*.f64 1/2 (*.f64 4 (-.f64 x -1)))
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(*.f64 (-.f64 x -1) 2)
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(*.f64 (*.f64 8 (-.f64 x -1)) 1/4)
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(*.f64 1/4 (*.f64 8 (-.f64 x -1)))
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(/.f64 (+.f64 x (+.f64 x 2)) 1)
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(/.f64 (*.f64 4 (-.f64 x -1)) 2)
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(/.f64 (*.f64 8 (-.f64 x -1)) 4)
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 8 (-.f64 x -1))) 8)
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 8 (-.f64 x -1)))) 16)
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 8 (-.f64 x -1)))) (*.f64 2 (*.f64 2 (*.f64 8 (-.f64 x -1))))) 32)
(+.f64 x (+.f64 2 x))
(+.f64 2 (+.f64 x x))
(+.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) 0)
(*.f64 2 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(*.f64 (+.f64 x 1) (*.f64 2 (+.f64 x 1)))
(*.f64 2 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 2 (+.f64 x x)))
(+.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) (*.f64 (-.f64 x -1) (-.f64 x -1)))
(*.f64 2 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(*.f64 (+.f64 x 1) (*.f64 2 (+.f64 x 1)))
(*.f64 2 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 2 (+.f64 x x)))
(+.f64 0 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))))
(*.f64 2 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(*.f64 (+.f64 x 1) (*.f64 2 (+.f64 x 1)))
(*.f64 2 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 2 (+.f64 x x)))
(-.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) 0)
(*.f64 2 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(*.f64 (+.f64 x 1) (*.f64 2 (+.f64 x 1)))
(*.f64 2 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 2 (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))) 1)
(*.f64 2 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(*.f64 (+.f64 x 1) (*.f64 2 (+.f64 x 1)))
(*.f64 2 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 2 (+.f64 x x)))
(/.f64 (*.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) 4) 2)
(*.f64 2 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(*.f64 (+.f64 x 1) (*.f64 2 (+.f64 x 1)))
(*.f64 2 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 2 (+.f64 x x)))
(/.f64 (*.f64 (*.f64 (-.f64 x -1) (-.f64 x -1)) 8) 4)
(*.f64 2 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(*.f64 (+.f64 x 1) (*.f64 2 (+.f64 x 1)))
(*.f64 2 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 2 (+.f64 x x)))
(/.f64 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 8 (-.f64 x -1))) 8)
(*.f64 2 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(*.f64 (+.f64 x 1) (*.f64 2 (+.f64 x 1)))
(*.f64 2 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 2 (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 8 (-.f64 x -1)))) 16)
(*.f64 2 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(*.f64 (+.f64 x 1) (*.f64 2 (+.f64 x 1)))
(*.f64 2 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 2 (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 2)) (*.f64 8 (-.f64 x -1))))) 32)
(*.f64 2 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(*.f64 (+.f64 x 1) (*.f64 2 (+.f64 x 1)))
(*.f64 2 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 2 (+.f64 x x)))
(fabs.f64 (*.f64 2 (*.f64 (-.f64 x -1) (-.f64 x -1))))
(*.f64 2 (*.f64 (+.f64 1 x) (+.f64 1 x)))
(*.f64 (+.f64 x 1) (*.f64 2 (+.f64 x 1)))
(*.f64 2 (*.f64 (+.f64 x 1) (+.f64 x 1)))
(*.f64 (+.f64 x 1) (+.f64 2 (+.f64 x x)))

eval30.0ms (0.7%)

Compiler

Compiled 1522 to 1194 computations (21.6% saved)

prune17.0ms (0.4%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New1362138
Fresh000
Picked011
Done145
Total1377144
Error
0b
Counts
144 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
41.1b
(-.f64 (/.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))) 2) 1)
41.1b
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
61.2b
(-.f64 1 1)
59.8b
(+.f64 (+.f64 (+.f64 x x) -2) 2)
59.8b
(+.f64 (+.f64 x (+.f64 x 1)) -1)
0.0b
(+.f64 (*.f64 2 x) (pow.f64 x 2))
19.2b
(*.f64 2 x)
Compiler

Compiled 56 to 44 computations (21.4% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (+.f64 x 1))
4.6b
(+.f64 (+.f64 x (+.f64 x 1)) -1)
Compiler

Compiled 19 to 13 computations (31.6% saved)

series0.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite98.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
1684×bool.json-1
1684×bool.json-2
1640×rational.json-1
1228×rational.json-simplify-35
1086×rational.json-simplify-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0832
19032
226620
356520
4117420
5236520
6432420
7700720
Stop Event
node limit
Counts
2 → 44
Calls
Call 1
Inputs
(+.f64 (+.f64 x (+.f64 x 1)) -1)
(+.f64 x (+.f64 x 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 x -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 8) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x x) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x x) (+.f64 x x))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 x 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 x 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (+.f64 x 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 x 1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 2 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (+.f64 x 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 x 1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 x 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 1) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 x 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (*.f64 x 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 x 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 x 1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (+.f64 x 1)) (+.f64 x (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (+.f64 x 1)) (+.f64 x (+.f64 x 1)))))))

simplify337.0ms (7.4%)

Algorithm
egg-herbie
Rules
2866×rational.json-simplify-51
1966×rational.json-simplify-1
1878×rational.json-simplify-35
1638×rational.json-simplify-48
830×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
086668
1179668
2389668
31220668
42546668
53372668
63780668
73929668
84043668
94144668
104254668
114362668
125314668
135675668
145779668
155897668
166039668
176123668
186171668
196219668
Stop Event
node limit
Counts
68 → 49
Calls
Call 1
Inputs
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
1
(+.f64 (*.f64 2 x) 1)
(+.f64 (*.f64 2 x) 1)
(+.f64 (*.f64 2 x) 1)
(*.f64 2 x)
(+.f64 1 (*.f64 2 x))
(+.f64 1 (*.f64 2 x))
(+.f64 1 (*.f64 2 x))
(*.f64 2 x)
(+.f64 1 (*.f64 2 x))
(+.f64 1 (*.f64 2 x))
(+.f64 1 (*.f64 2 x))
(-.f64 (+.f64 x (+.f64 x 1)) 1)
(-.f64 (+.f64 x x) 0)
(-.f64 (+.f64 x (+.f64 x -1)) -1)
(*.f64 x 2)
(*.f64 1 (+.f64 x x))
(*.f64 (+.f64 x x) 1)
(*.f64 2 x)
(*.f64 (*.f64 x 4) 1/2)
(*.f64 4 (*.f64 x 1/2))
(*.f64 (*.f64 x 8) 1/4)
(*.f64 1/2 (*.f64 x 4))
(*.f64 (*.f64 x 1/2) 4)
(*.f64 1/4 (*.f64 x 8))
(/.f64 (+.f64 x x) 1)
(/.f64 (*.f64 x 4) 2)
(/.f64 (*.f64 x 8) 4)
(/.f64 (*.f64 (+.f64 x x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x x) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x x) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x x) 8)))) 64)
(-.f64 (+.f64 x (+.f64 x 1)) 0)
(-.f64 (+.f64 x x) -1)
(-.f64 (+.f64 x (+.f64 x 2)) 1)
(*.f64 1 (+.f64 x (+.f64 x 1)))
(*.f64 (+.f64 x (+.f64 x 1)) 1)
(*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 1/2))
(*.f64 2 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 x 1/2)))
(*.f64 (+.f64 2 (*.f64 x 4)) 1/2)
(*.f64 4 (/.f64 (+.f64 x (+.f64 x 1)) 4))
(*.f64 (*.f64 (+.f64 x (+.f64 x 1)) 4) 1/4)
(*.f64 1/2 (+.f64 2 (*.f64 x 4)))
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 x 1)) 4))
(*.f64 1/4 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 1) 4)))
(*.f64 (*.f64 (+.f64 x (+.f64 x 1)) 1/2) 2)
(*.f64 (/.f64 (+.f64 x (+.f64 x 1)) 4) 4)
(*.f64 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 1) 4)) 1/4)
(*.f64 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 x 1/2)) 2)
(/.f64 (+.f64 x (+.f64 x 1)) 1)
(/.f64 (+.f64 2 (*.f64 x 4)) 2)
(/.f64 (*.f64 (+.f64 x (+.f64 x 1)) 4) 4)
(/.f64 (*.f64 (+.f64 x (+.f64 x 1)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 8)))) 64)
Outputs
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
1
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 2 x)
(+.f64 x x)
(+.f64 1 (*.f64 2 x))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(+.f64 1 (*.f64 2 x))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(+.f64 1 (*.f64 2 x))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 2 x)
(+.f64 x x)
(+.f64 1 (*.f64 2 x))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(+.f64 1 (*.f64 2 x))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(+.f64 1 (*.f64 2 x))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(-.f64 (+.f64 x (+.f64 x 1)) 1)
(*.f64 2 x)
(+.f64 x x)
(-.f64 (+.f64 x x) 0)
(*.f64 2 x)
(+.f64 x x)
(-.f64 (+.f64 x (+.f64 x -1)) -1)
(*.f64 2 x)
(+.f64 x x)
(*.f64 x 2)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1 (+.f64 x x))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (+.f64 x x) 1)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 4) 1/2)
(*.f64 2 x)
(+.f64 x x)
(*.f64 4 (*.f64 x 1/2))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 8) 1/4)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1/2 (*.f64 x 4))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 1/2) 4)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1/4 (*.f64 x 8))
(*.f64 2 x)
(+.f64 x x)
(/.f64 (+.f64 x x) 1)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 4) 2)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 8) 4)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 (+.f64 x x) 8) 8)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 (+.f64 x x) 8)) 16)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x x) 8))) 32)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x x) 8)))) 64)
(*.f64 2 x)
(+.f64 x x)
(-.f64 (+.f64 x (+.f64 x 1)) 0)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(-.f64 (+.f64 x x) -1)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(-.f64 (+.f64 x (+.f64 x 2)) 1)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 1 (+.f64 x (+.f64 x 1)))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 (+.f64 x (+.f64 x 1)) 1)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 1/2))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 2 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 x 1/2)))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 (+.f64 2 (*.f64 x 4)) 1/2)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 4 (/.f64 (+.f64 x (+.f64 x 1)) 4))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 (*.f64 (+.f64 x (+.f64 x 1)) 4) 1/4)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 1/2 (+.f64 2 (*.f64 x 4)))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 x 1)) 4))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 1/4 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 1) 4)))
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 (*.f64 (+.f64 x (+.f64 x 1)) 1/2) 2)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 (/.f64 (+.f64 x (+.f64 x 1)) 4) 4)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 1) 4)) 1/4)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(*.f64 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 x 1/2)) 2)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(/.f64 (+.f64 x (+.f64 x 1)) 1)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(/.f64 (+.f64 2 (*.f64 x 4)) 2)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x (+.f64 x 1)) 4) 4)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x (+.f64 x 1)) 8) 8)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 8)) 16)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 8))) 32)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 x 1)) 8)))) 64)
(+.f64 (*.f64 2 x) 1)
(+.f64 x (+.f64 x 1))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.6b
(+.f64 (+.f64 (+.f64 x x) -2) 2)
Compiler

Compiled 19 to 10 computations (47.4% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite72.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1366×bool.json-1
1366×bool.json-2
1310×rational.json-1
1310×rational.json-2
1310×rational.json-4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0819
1797
22137
34267
49607
524217
652887
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(+.f64 (+.f64 (+.f64 x x) -2) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 8) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 x 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 16) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 16) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 16)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) (*.f64 2 (*.f64 2 (*.f64 x 16)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x x) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x x) (+.f64 x x))))))

simplify650.0ms (14.4%)

Algorithm
egg-herbie
Rules
8430×rational.json-simplify-41
2568×rational.json-simplify-35
2244×rational.json-simplify-49
938×rational.json-simplify-2
728×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043224
190224
2148224
3322224
41175224
52348224
62889224
72964224
83017224
93058224
103099224
113138224
123176224
133214224
143252224
153290224
163328224
173366224
183404224
193442224
203480224
213518224
223556224
233594224
243632224
253670224
263708224
273746224
283784224
293822224
303860224
313898224
323898224
333936224
343974224
355451224
Stop Event
node limit
Counts
32 → 21
Calls
Call 1
Inputs
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(*.f64 2 x)
(-.f64 (+.f64 x x) 0)
(*.f64 x 2)
(*.f64 (+.f64 x x) 1)
(*.f64 2 x)
(*.f64 1 (+.f64 x x))
(*.f64 (*.f64 x 4) 1/2)
(*.f64 4 (*.f64 x 1/2))
(*.f64 (*.f64 x 8) 1/4)
(*.f64 1/2 (*.f64 x 4))
(*.f64 8 (*.f64 x 1/4))
(*.f64 (*.f64 x 16) 1/8)
(*.f64 (*.f64 x 1/2) 4)
(*.f64 1/4 (*.f64 x 8))
(/.f64 (+.f64 x x) 1)
(/.f64 (*.f64 x 4) 2)
(/.f64 (*.f64 x 8) 4)
(/.f64 (*.f64 x 16) 8)
(/.f64 (*.f64 2 (*.f64 x 16)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) (*.f64 2 (*.f64 2 (*.f64 x 16)))) 64)
Outputs
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(-.f64 (+.f64 x x) 0)
(*.f64 2 x)
(+.f64 x x)
(*.f64 x 2)
(*.f64 2 x)
(+.f64 x x)
(*.f64 (+.f64 x x) 1)
(*.f64 2 x)
(+.f64 x x)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1 (+.f64 x x))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 4) 1/2)
(*.f64 2 x)
(+.f64 x x)
(*.f64 4 (*.f64 x 1/2))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 8) 1/4)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1/2 (*.f64 x 4))
(*.f64 2 x)
(+.f64 x x)
(*.f64 8 (*.f64 x 1/4))
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 16) 1/8)
(*.f64 2 x)
(+.f64 x x)
(*.f64 (*.f64 x 1/2) 4)
(*.f64 2 x)
(+.f64 x x)
(*.f64 1/4 (*.f64 x 8))
(*.f64 2 x)
(+.f64 x x)
(/.f64 (+.f64 x x) 1)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 4) 2)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 8) 4)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 x 16) 8)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 x 16)) 16)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) 32)
(*.f64 2 x)
(+.f64 x x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x 16))) (*.f64 2 (*.f64 2 (*.f64 x 16)))) 64)
(*.f64 2 x)
(+.f64 x x)

eval13.0ms (0.3%)

Compiler

Compiled 547 to 420 computations (23.2% saved)

prune8.0ms (0.2%)

Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New70070
Fresh000
Picked011
Done066
Total70777
Error
0b
Counts
77 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
41.1b
(-.f64 (/.f64 (*.f64 (+.f64 x 1) (+.f64 x (+.f64 x 2))) 2) 1)
41.1b
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
61.2b
(-.f64 1 1)
59.8b
(+.f64 (+.f64 (+.f64 x x) -2) 2)
59.8b
(+.f64 (+.f64 x (+.f64 x 1)) -1)
0.0b
(+.f64 (*.f64 2 x) (pow.f64 x 2))
19.2b
(*.f64 2 x)
Compiler

Compiled 56 to 44 computations (21.4% saved)

regimes15.0ms (0.3%)

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

4 calls:

5.0ms
x
3.0ms
(*.f64 (+.f64 x 1) (+.f64 x 1))
3.0ms
(+.f64 x 1)
2.0ms
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
Results
ErrorSegmentsBranch
0.0b1x
0.0b1(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
0.0b1(*.f64 (+.f64 x 1) (+.f64 x 1))
0.0b1(+.f64 x 1)
Compiler

Compiled 81 to 62 computations (23.5% saved)

regimes31.0ms (0.7%)

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

4 calls:

13.0ms
x
8.0ms
(+.f64 x 1)
4.0ms
(*.f64 (+.f64 x 1) (+.f64 x 1))
4.0ms
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
Results
ErrorSegmentsBranch
0.5b3x
1.2b2(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
1.2b2(*.f64 (+.f64 x 1) (+.f64 x 1))
0.5b3(+.f64 x 1)
Compiler

Compiled 74 to 57 computations (23% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000000000008609
1.0000001145193818
0.0ms
0.9999941153486408
0.9999999998491811
Compiler

Compiled 12 to 9 computations (25% saved)

regimes6.0ms (0.1%)

Accuracy

Total -42.1b remaining (-219%)

Threshold costs -42.1b (-219%)

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

1 calls:

4.0ms
x
Results
ErrorSegmentsBranch
19.2b1x
Compiler

Compiled 30 to 23 computations (23.3% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020113
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(if (<=.f64 (+.f64 x 1) 4503577109372359/4503599627370496) (-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1) (if (<=.f64 (+.f64 x 1) 4503600077730459/4503599627370496) (*.f64 2 x) (-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)))
(*.f64 2 x)
Outputs
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(if (<=.f64 (+.f64 x 1) 4503577109372359/4503599627370496) (-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1) (if (<=.f64 (+.f64 x 1) 4503600077730459/4503599627370496) (*.f64 2 x) (-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)))
(*.f64 2 x)
Compiler

Compiled 46 to 36 computations (21.7% saved)

soundness0.0ms (0%)

end30.0ms (0.7%)

Compiler

Compiled 44 to 34 computations (22.7% saved)

Profiling

Loading profile data...