Details

Time bar (total: 3.7s)

analyze51.0ms (1.4%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
25%25%74.9%0.1%0%0%0%5
37.5%37.5%62.4%0.1%0%0%0%6
56.3%56.2%43.7%0.1%0%0%0%7
65.6%65.6%34.3%0.1%0%0%0%8
76.6%76.5%23.4%0.1%0%0%0%9
82%82%18%0.1%0%0%0%10
87.9%87.8%12.1%0.1%0%0%0%11
90.8%90.7%9.2%0.1%0%0%0%12
Compiler

Compiled 10 to 8 computations (20% saved)

sample1.9s (51.2%)

Results
1.8s7722×body256valid
42.0ms175×body2048valid
39.0ms215×body1024valid
20.0ms144×body512valid
Bogosity

preprocess10.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01226
11426
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(-.f64 x (*.f64 (/.f64 3 8) y))
(-.f64 y (*.f64 (/.f64 3 8) x))
Outputs
(-.f64 x (*.f64 (/.f64 3 8) y))
(-.f64 x (*.f64 3/8 y))
(-.f64 y (*.f64 (/.f64 3 8) x))
(-.f64 y (*.f64 x 3/8))
Compiler

Compiled 11 to 9 computations (18.2% saved)

simplify11.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
11113
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 x (*.f64 (/.f64 3 8) y))
Outputs
(-.f64 x (*.f64 (/.f64 3 8) y))
(-.f64 x (*.f64 3/8 y))

eval0.0ms (0%)

Compiler

Compiled 14 to 10 computations (28.6% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.1b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 x (*.f64 3/8 y))
Compiler

Compiled 7 to 5 computations (28.6% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (*.f64 3/8 y))
Compiler

Compiled 13 to 8 computations (38.5% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
y
@inf
(-.f64 x (*.f64 3/8 y))
0.0ms
x
@inf
(-.f64 x (*.f64 3/8 y))
0.0ms
x
@0
(-.f64 x (*.f64 3/8 y))
0.0ms
y
@0
(-.f64 x (*.f64 3/8 y))
0.0ms
x
@-inf
(-.f64 x (*.f64 3/8 y))

rewrite129.0ms (3.5%)

Algorithm
batch-egg-rewrite
Rules
1790×rational.json-simplify-35
1624×rational.json-1
1136×exponential.json-3
1136×rational.json-2
1136×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14513
210013
321213
439213
588113
6234513
7425713
8563713
9778613
Stop Event
node limit
Counts
1 → 53
Calls
Call 1
Inputs
(-.f64 x (*.f64 3/8 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 y -3/8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 y -3/8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 x (*.f64 y -3/8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 x (+.f64 (*.f64 y -3/8) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -3/8) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 x (+.f64 (*.f64 3/8 y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (+.f64 (*.f64 3/8 y) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 3/8 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)) (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 y -3/8)) (+.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 2 (-.f64 (*.f64 3/8 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y -3/8) -1) (+.f64 x 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 (*.f64 y -3/8) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x 1) (+.f64 (*.f64 y -3/8) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -1) (+.f64 1 (*.f64 y -3/8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 2 (-.f64 (*.f64 3/8 y) x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)) -1) (+.f64 1 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x 1/2) (*.f64 3/8 y)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y -3/8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 y -3/8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 3/8 y) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (-.f64 (*.f64 3/8 y) x) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 3/8 y) x) -4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 3/8 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y 3/4) (*.f64 x -2)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x 8) (*.f64 y 3)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x (+.f64 x (*.f64 y -3/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (-.f64 (*.f64 3/8 y) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 3/8 y) x) 1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (*.f64 3/8 y) x) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 3/8 y) x) -1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (-.f64 (*.f64 x 8) (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (+.f64 (*.f64 y 3/4) (*.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y -3/8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 3/8 y) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 3/8 y) x) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y 3/4) (*.f64 x -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x 8) (*.f64 y 3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y 3/2) (*.f64 x 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y 3) (*.f64 x 8)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 y 3) (*.f64 x 8))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 y 3) (*.f64 x 8)))) -32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 y -3/8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 3/8 y) x))))))

simplify242.0ms (6.5%)

Algorithm
egg-herbie
Rules
1888×rational.json-simplify-35
1770×rational.json-simplify-1
1766×rational.json-simplify-45
1476×rational.json-simplify-2
934×rational.json-simplify-41
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01281427
12511427
24001247
37261247
417761247
529071247
638521247
744381247
847191247
949881247
1052311247
1157981247
1263261247
1374901247
1476701247
1578991247
Stop Event
node limit
Counts
77 → 62
Calls
Call 1
Inputs
(*.f64 -3/8 y)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
x
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
x
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
x
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(*.f64 -3/8 y)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(*.f64 -3/8 y)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 y -3/8))
(+.f64 (+.f64 x (*.f64 y -3/8)) 0)
(+.f64 0 (+.f64 x (*.f64 y -3/8)))
(+.f64 1 (+.f64 x (+.f64 (*.f64 y -3/8) -1)))
(+.f64 (*.f64 y -3/8) x)
(+.f64 -1 (-.f64 x (+.f64 (*.f64 3/8 y) -1)))
(+.f64 (-.f64 x (+.f64 (*.f64 3/8 y) -1)) -1)
(+.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 3/8 y)))
(+.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)) (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)))
(+.f64 (+.f64 1 (*.f64 y -3/8)) (+.f64 x -1))
(+.f64 -2 (-.f64 2 (-.f64 (*.f64 3/8 y) x)))
(+.f64 (+.f64 (*.f64 y -3/8) -1) (+.f64 x 1))
(+.f64 (+.f64 x (+.f64 (*.f64 y -3/8) -1)) 1)
(+.f64 (+.f64 x 1) (+.f64 (*.f64 y -3/8) -1))
(+.f64 (+.f64 x -1) (+.f64 1 (*.f64 y -3/8)))
(+.f64 (-.f64 2 (-.f64 (*.f64 3/8 y) x)) -2)
(+.f64 (+.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)) -1) (+.f64 1 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16))))
(+.f64 (-.f64 (*.f64 x 1/2) (*.f64 3/8 y)) (*.f64 x 1/2))
(*.f64 (+.f64 x (*.f64 y -3/8)) 1)
(*.f64 1 (+.f64 x (*.f64 y -3/8)))
(*.f64 2 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)))
(*.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 1/2)
(*.f64 (-.f64 (*.f64 3/8 y) x) -1)
(*.f64 4 (*.f64 (-.f64 (*.f64 3/8 y) x) -1/4))
(*.f64 (*.f64 (-.f64 (*.f64 3/8 y) x) -4) 1/4)
(*.f64 -1 (-.f64 (*.f64 3/8 y) x))
(*.f64 (+.f64 (*.f64 y 3/4) (*.f64 x -2)) -1/2)
(*.f64 (-.f64 (*.f64 x 8) (*.f64 y 3)) 1/8)
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 y -3/4))))
(*.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)) 2)
(*.f64 -2 (*.f64 (-.f64 (*.f64 3/8 y) x) 1/2))
(*.f64 (*.f64 (-.f64 (*.f64 3/8 y) x) 1/2) -2)
(*.f64 1/4 (*.f64 (-.f64 (*.f64 3/8 y) x) -4))
(*.f64 (*.f64 (-.f64 (*.f64 3/8 y) x) -1/4) 4)
(*.f64 1/8 (-.f64 (*.f64 x 8) (*.f64 y 3)))
(*.f64 -1/2 (+.f64 (*.f64 y 3/4) (*.f64 x -2)))
(/.f64 (+.f64 x (*.f64 y -3/8)) 1)
(/.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)
(/.f64 (-.f64 (*.f64 3/8 y) x) -1)
(/.f64 (*.f64 (-.f64 (*.f64 3/8 y) x) -4) 4)
(/.f64 (+.f64 (*.f64 y 3/4) (*.f64 x -2)) -2)
(/.f64 (-.f64 (*.f64 x 8) (*.f64 y 3)) 8)
(/.f64 (-.f64 (*.f64 y 3/2) (*.f64 x 4)) -4)
(/.f64 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3))) 16)
(/.f64 (-.f64 (*.f64 y 3) (*.f64 x 8)) -8)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3)))) 32)
(/.f64 (*.f64 2 (-.f64 (*.f64 y 3) (*.f64 x 8))) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 y 3) (*.f64 x 8)))) -32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3))))))) 256)
(pow.f64 (+.f64 x (*.f64 y -3/8)) 1)
(neg.f64 (-.f64 (*.f64 3/8 y) x))
Outputs
(*.f64 -3/8 y)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
x
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
x
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
x
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(*.f64 -3/8 y)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(*.f64 -3/8 y)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 x (*.f64 y -3/8))
(+.f64 x (*.f64 -3/8 y))
(+.f64 (+.f64 x (*.f64 y -3/8)) 0)
(+.f64 x (*.f64 -3/8 y))
(+.f64 0 (+.f64 x (*.f64 y -3/8)))
(+.f64 x (*.f64 -3/8 y))
(+.f64 1 (+.f64 x (+.f64 (*.f64 y -3/8) -1)))
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 y -3/8) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 -1 (-.f64 x (+.f64 (*.f64 3/8 y) -1)))
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(+.f64 (-.f64 x (+.f64 (*.f64 3/8 y) -1)) -1)
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(+.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 3/8 y)))
(+.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y 3/8)))
(+.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)) (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)))
(+.f64 (+.f64 1 (*.f64 y -3/8)) (+.f64 x -1))
(+.f64 x (*.f64 -3/8 y))
(+.f64 -2 (-.f64 2 (-.f64 (*.f64 3/8 y) x)))
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(+.f64 (+.f64 (*.f64 y -3/8) -1) (+.f64 x 1))
(+.f64 x (*.f64 -3/8 y))
(+.f64 (+.f64 x (+.f64 (*.f64 y -3/8) -1)) 1)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (+.f64 x 1) (+.f64 (*.f64 y -3/8) -1))
(+.f64 x (*.f64 -3/8 y))
(+.f64 (+.f64 x -1) (+.f64 1 (*.f64 y -3/8)))
(+.f64 x (*.f64 -3/8 y))
(+.f64 (-.f64 2 (-.f64 (*.f64 3/8 y) x)) -2)
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(+.f64 (+.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)) -1) (+.f64 1 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16))))
(+.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)) (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)))
(+.f64 (-.f64 (*.f64 x 1/2) (*.f64 3/8 y)) (*.f64 x 1/2))
(+.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y 3/8)))
(*.f64 (+.f64 x (*.f64 y -3/8)) 1)
(+.f64 x (*.f64 -3/8 y))
(*.f64 1 (+.f64 x (*.f64 y -3/8)))
(+.f64 x (*.f64 -3/8 y))
(*.f64 2 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)))
(*.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)) 2)
(*.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 1/2)
(+.f64 x (*.f64 -3/8 y))
(*.f64 (-.f64 (*.f64 3/8 y) x) -1)
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(*.f64 4 (*.f64 (-.f64 (*.f64 3/8 y) x) -1/4))
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(*.f64 (*.f64 (-.f64 (*.f64 3/8 y) x) -4) 1/4)
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(*.f64 -1 (-.f64 (*.f64 3/8 y) x))
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(*.f64 (+.f64 (*.f64 y 3/4) (*.f64 x -2)) -1/2)
(*.f64 (-.f64 (*.f64 x 8) (*.f64 y 3)) 1/8)
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 y -3/4))))
(+.f64 x (*.f64 -3/8 y))
(*.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 3/16)) 2)
(*.f64 -2 (*.f64 (-.f64 (*.f64 3/8 y) x) 1/2))
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(*.f64 (*.f64 (-.f64 (*.f64 3/8 y) x) 1/2) -2)
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(*.f64 1/4 (*.f64 (-.f64 (*.f64 3/8 y) x) -4))
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(*.f64 (*.f64 (-.f64 (*.f64 3/8 y) x) -1/4) 4)
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(*.f64 1/8 (-.f64 (*.f64 x 8) (*.f64 y 3)))
(*.f64 (-.f64 (*.f64 x 8) (*.f64 y 3)) 1/8)
(*.f64 -1/2 (+.f64 (*.f64 y 3/4) (*.f64 x -2)))
(*.f64 (+.f64 (*.f64 y 3/4) (*.f64 x -2)) -1/2)
(/.f64 (+.f64 x (*.f64 y -3/8)) 1)
(+.f64 x (*.f64 -3/8 y))
(/.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)
(+.f64 x (*.f64 -3/8 y))
(/.f64 (-.f64 (*.f64 3/8 y) x) -1)
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(/.f64 (*.f64 (-.f64 (*.f64 3/8 y) x) -4) 4)
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))
(/.f64 (+.f64 (*.f64 y 3/4) (*.f64 x -2)) -2)
(/.f64 (-.f64 (*.f64 x 8) (*.f64 y 3)) 8)
(/.f64 (-.f64 (*.f64 y 3/2) (*.f64 x 4)) -4)
(/.f64 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3))) 16)
(*.f64 (-.f64 (*.f64 x 8) (*.f64 y 3)) 1/8)
(/.f64 (-.f64 (*.f64 y 3) (*.f64 x 8)) -8)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3)))) 32)
(*.f64 (-.f64 (*.f64 x 8) (*.f64 y 3)) 1/8)
(/.f64 (*.f64 2 (-.f64 (*.f64 y 3) (*.f64 x 8))) -16)
(*.f64 (-.f64 (*.f64 y 3) (*.f64 x 8)) -1/8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3))))) 64)
(*.f64 (-.f64 (*.f64 x 8) (*.f64 y 3)) 1/8)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 y 3) (*.f64 x 8)))) -32)
(*.f64 (-.f64 (*.f64 y 3) (*.f64 x 8)) -1/8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3)))))) 128)
(*.f64 (-.f64 (*.f64 x 8) (*.f64 y 3)) 1/8)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x 8) (*.f64 y 3))))))) 256)
(*.f64 (-.f64 (*.f64 x 8) (*.f64 y 3)) 1/8)
(pow.f64 (+.f64 x (*.f64 y -3/8)) 1)
(+.f64 x (*.f64 -3/8 y))
(neg.f64 (-.f64 (*.f64 3/8 y) x))
(+.f64 -1 (-.f64 x (+.f64 -1 (*.f64 y 3/8))))
(-.f64 (+.f64 x -1) (+.f64 -1 (*.f64 y 3/8)))
(-.f64 x (*.f64 y 3/8))

eval15.0ms (0.4%)

Compiler

Compiled 577 to 443 computations (23.2% saved)

prune9.0ms (0.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New59362
Fresh000
Picked011
Done000
Total59463
Error
0.1b
Counts
63 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(/.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)
0.1b
(-.f64 x (*.f64 3/8 y))
29.2b
(*.f64 -3/8 y)
34.3b
x
Compiler

Compiled 26 to 19 computations (26.9% saved)

localize3.0ms (0.1%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize11.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 y -3/4))
0.0b
(+.f64 x (+.f64 x (*.f64 y -3/4)))
0.2b
(/.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)
Compiler

Compiled 30 to 19 computations (36.7% saved)

series6.0ms (0.2%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
4.0ms
x
@inf
(/.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)
0.0ms
x
@0
(/.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)
0.0ms
y
@0
(/.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)
0.0ms
y
@inf
(/.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)
0.0ms
x
@-inf
(/.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)

rewrite169.0ms (4.6%)

Algorithm
batch-egg-rewrite
Rules
2406×rational.json-simplify-2
1562×rational.json-simplify-1
1498×rational.json-simplify-35
1322×exponential.json-3
1322×rational.json-1
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01057
16957
215357
332457
465957
5168745
6378645
7532845
8641545
9724845
10724845
Stop Event
node limit
Counts
3 → 77
Calls
Call 1
Inputs
(/.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(+.f64 x (*.f64 y -3/4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 y -3/8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 y -3/8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 x (*.f64 y -3/8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -3/8) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/2) (+.f64 (*.f64 y -3/8) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2) (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y -3/8) (*.f64 x 1/2)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 y -3/8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y -3/8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 y -3/8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (/.f64 (+.f64 x (*.f64 y -3/8)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y -3/4) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8) 1/16)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 y -3/8)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)) 1/32)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 x (*.f64 y -3/8)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 y -3/8)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/32 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 y -3/8)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x (*.f64 y -3/8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y -3/8)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y -3/4) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 8) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (*.f64 y -3/8)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y -3/2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)) 1/16)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y -3/2) (*.f64 x 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 y -3/4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y -3/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 y -3/8) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 y -3/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x (*.f64 y -3/4)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y -3/2) (+.f64 x x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y -3/2) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 y -3/4)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 x (*.f64 y -3/4)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y -3/8) (*.f64 x 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y -3/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y -3/2) (+.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/4)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/4)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/4)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/4)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 y -3/4)) 1)))))

simplify967.0ms (26.1%)

Algorithm
egg-herbie
Rules
3354×rational.json-simplify-51
3264×rational.json-simplify-49
2936×rational.json-simplify-2
2674×rational.json-simplify-35
1058×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01322105
12602105
27032105
318052105
434042105
539992105
640902105
741432105
841892105
942342105
1042792105
1143242105
1243692105
1344142105
1444592105
1545042105
1645492105
1745942105
1846392105
1946842105
2063172105
2164282105
2264732105
2365162105
2465592105
2566022105
2666022105
2766022105
2866452105
2966882105
3067312105
3167742105
3276902105
3377332105
3477762105
Stop Event
node limit
Counts
149 → 92
Calls
Call 1
Inputs
(*.f64 -3/8 y)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
x
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
x
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
x
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(*.f64 -3/8 y)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(*.f64 -3/8 y)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 (*.f64 -3/8 y) x)
(*.f64 -3/4 y)
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(*.f64 -3/4 y)
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(*.f64 -3/4 y)
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(*.f64 -3/4 y)
(+.f64 (*.f64 -3/4 y) x)
(+.f64 (*.f64 -3/4 y) x)
(+.f64 (*.f64 -3/4 y) x)
x
(+.f64 (*.f64 -3/4 y) x)
(+.f64 (*.f64 -3/4 y) x)
(+.f64 (*.f64 -3/4 y) x)
x
(+.f64 (*.f64 -3/4 y) x)
(+.f64 (*.f64 -3/4 y) x)
(+.f64 (*.f64 -3/4 y) x)
x
(+.f64 (*.f64 -3/4 y) x)
(+.f64 (*.f64 -3/4 y) x)
(+.f64 (*.f64 -3/4 y) x)
(*.f64 -3/4 y)
(+.f64 (*.f64 -3/4 y) x)
(+.f64 (*.f64 -3/4 y) x)
(+.f64 (*.f64 -3/4 y) x)
(*.f64 -3/4 y)
(+.f64 (*.f64 -3/4 y) x)
(+.f64 (*.f64 -3/4 y) x)
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/8))
(+.f64 (+.f64 x (*.f64 y -3/8)) 0)
(+.f64 0 (+.f64 x (*.f64 y -3/8)))
(+.f64 (*.f64 y -3/8) x)
(+.f64 (*.f64 x 1/2) (+.f64 (*.f64 y -3/8) (*.f64 x 1/2)))
(+.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2) (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2))
(+.f64 (+.f64 (*.f64 y -3/8) (*.f64 x 1/2)) (*.f64 x 1/2))
(-.f64 (+.f64 x (*.f64 y -3/8)) 0)
(*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 1/2)
(*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2))
(*.f64 (+.f64 x (*.f64 y -3/8)) 1)
(*.f64 1 (+.f64 x (*.f64 y -3/8)))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 4) 1/4)
(*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/4))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 8) 1/8)
(*.f64 8 (/.f64 (+.f64 x (*.f64 y -3/8)) 8))
(*.f64 1/2 (+.f64 (*.f64 y -3/4) (+.f64 x x)))
(*.f64 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8) 1/16)
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 y -3/8)) 4))
(*.f64 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)) 1/32)
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2) 2)
(*.f64 1/8 (*.f64 (+.f64 x (*.f64 y -3/8)) 8))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/4) 4)
(*.f64 1/16 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8))
(*.f64 (/.f64 (+.f64 x (*.f64 y -3/8)) 8) 8)
(*.f64 1/32 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)))
(pow.f64 (+.f64 x (*.f64 y -3/8)) 1)
(-.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 0)
(*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 1)
(*.f64 2 (+.f64 x (*.f64 y -3/8)))
(*.f64 (+.f64 x (*.f64 y -3/8)) 2)
(*.f64 1 (+.f64 (*.f64 y -3/4) (+.f64 x x)))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 4) 1/2)
(*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 8) 1/4)
(*.f64 8 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/4))
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 y -3/8)) 4))
(*.f64 1/2 (+.f64 (*.f64 y -3/2) (*.f64 x 4)))
(*.f64 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8) 1/8)
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8))
(*.f64 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)) 1/16)
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2) 4)
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/4) 8)
(*.f64 1/16 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)))
(*.f64 (+.f64 (*.f64 y -3/2) (*.f64 x 4)) 1/2)
(/.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 1)
(/.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 4) 2)
(/.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 8) 4)
(/.f64 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8) 8)
(/.f64 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8))))) 128)
(pow.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 1)
(-.f64 (+.f64 x (*.f64 y -3/4)) 0)
(*.f64 (+.f64 x (*.f64 y -3/4)) 1)
(*.f64 2 (+.f64 (*.f64 y -3/8) (*.f64 x 1/2)))
(*.f64 1 (+.f64 x (*.f64 y -3/4)))
(*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/4)) 1/4))
(*.f64 (+.f64 (*.f64 y -3/2) (+.f64 x x)) 1/2)
(*.f64 1/2 (+.f64 (*.f64 y -3/2) (+.f64 x x)))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 y -3/4)) 4))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 8) 1/8)
(*.f64 1/8 (*.f64 (+.f64 x (*.f64 y -3/4)) 8))
(*.f64 (+.f64 (*.f64 y -3/8) (*.f64 x 1/2)) 2)
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 1/4) 4)
(/.f64 (+.f64 x (*.f64 y -3/4)) 1)
(/.f64 (+.f64 (*.f64 y -3/2) (+.f64 x x)) 2)
(/.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 4) 4)
(/.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/4)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/4)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/4)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/4)) 8))))) 128)
(pow.f64 (+.f64 x (*.f64 y -3/4)) 1)
Outputs
(*.f64 -3/8 y)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
x
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
x
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
x
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(*.f64 -3/8 y)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(*.f64 -3/8 y)
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 -3/8 y) x)
(+.f64 x (*.f64 -3/8 y))
(*.f64 -3/4 y)
(*.f64 y -3/4)
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 2 x)
(*.f64 x 2)
(+.f64 x x)
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 2 x)
(*.f64 x 2)
(+.f64 x x)
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 2 x)
(*.f64 x 2)
(+.f64 x x)
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 -3/4 y)
(*.f64 y -3/4)
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 -3/4 y)
(*.f64 y -3/4)
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(+.f64 (*.f64 2 x) (*.f64 -3/4 y))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 -3/4 y)
(*.f64 y -3/4)
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
x
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
x
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
x
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(*.f64 -3/4 y)
(*.f64 y -3/4)
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(*.f64 -3/4 y)
(*.f64 y -3/4)
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(+.f64 (*.f64 -3/4 y) x)
(+.f64 x (*.f64 y -3/4))
(+.f64 x (*.f64 y -3/8))
(+.f64 x (*.f64 -3/8 y))
(+.f64 (+.f64 x (*.f64 y -3/8)) 0)
(+.f64 x (*.f64 -3/8 y))
(+.f64 0 (+.f64 x (*.f64 y -3/8)))
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 y -3/8) x)
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 x 1/2) (+.f64 (*.f64 y -3/8) (*.f64 x 1/2)))
(+.f64 x (*.f64 -3/8 y))
(+.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2) (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2))
(+.f64 x (*.f64 -3/8 y))
(+.f64 (+.f64 (*.f64 y -3/8) (*.f64 x 1/2)) (*.f64 x 1/2))
(+.f64 x (*.f64 -3/8 y))
(-.f64 (+.f64 x (*.f64 y -3/8)) 0)
(+.f64 x (*.f64 -3/8 y))
(*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 1/2)
(+.f64 x (*.f64 -3/8 y))
(*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2))
(+.f64 x (*.f64 -3/8 y))
(*.f64 (+.f64 x (*.f64 y -3/8)) 1)
(+.f64 x (*.f64 -3/8 y))
(*.f64 1 (+.f64 x (*.f64 y -3/8)))
(+.f64 x (*.f64 -3/8 y))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 4) 1/4)
(+.f64 x (*.f64 -3/8 y))
(*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/4))
(+.f64 x (*.f64 -3/8 y))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 8) 1/8)
(+.f64 x (*.f64 -3/8 y))
(*.f64 8 (/.f64 (+.f64 x (*.f64 y -3/8)) 8))
(+.f64 x (*.f64 -3/8 y))
(*.f64 1/2 (+.f64 (*.f64 y -3/4) (+.f64 x x)))
(+.f64 x (*.f64 -3/8 y))
(*.f64 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8) 1/16)
(+.f64 x (*.f64 -3/8 y))
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 y -3/8)) 4))
(+.f64 x (*.f64 -3/8 y))
(*.f64 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)) 1/32)
(+.f64 x (*.f64 -3/8 y))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2) 2)
(+.f64 x (*.f64 -3/8 y))
(*.f64 1/8 (*.f64 (+.f64 x (*.f64 y -3/8)) 8))
(+.f64 x (*.f64 -3/8 y))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/4) 4)
(+.f64 x (*.f64 -3/8 y))
(*.f64 1/16 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8))
(+.f64 x (*.f64 -3/8 y))
(*.f64 (/.f64 (+.f64 x (*.f64 y -3/8)) 8) 8)
(+.f64 x (*.f64 -3/8 y))
(*.f64 1/32 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)))
(+.f64 x (*.f64 -3/8 y))
(pow.f64 (+.f64 x (*.f64 y -3/8)) 1)
(+.f64 x (*.f64 -3/8 y))
(-.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 0)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 1)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 2 (+.f64 x (*.f64 y -3/8)))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 (+.f64 x (*.f64 y -3/8)) 2)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 1 (+.f64 (*.f64 y -3/4) (+.f64 x x)))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 4) 1/2)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 8) 1/4)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 8 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/4))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 y -3/8)) 4))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 1/2 (+.f64 (*.f64 y -3/2) (*.f64 x 4)))
(*.f64 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8) 1/8)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)) 1/16)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/2) 4)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 1/4) 8)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 1/16 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)))
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(*.f64 (+.f64 (*.f64 y -3/2) (*.f64 x 4)) 1/2)
(*.f64 1/2 (+.f64 (*.f64 y -3/2) (*.f64 x 4)))
(/.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 1)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(/.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 4) 2)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(/.f64 (*.f64 (+.f64 x (*.f64 y -3/8)) 8) 4)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(/.f64 (*.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 8) 8)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(/.f64 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)) 16)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8))) 32)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8)))) 64)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/8)) 8))))) 128)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(pow.f64 (+.f64 (*.f64 y -3/4) (+.f64 x x)) 1)
(+.f64 (*.f64 y -3/4) (*.f64 x 2))
(+.f64 x (+.f64 x (*.f64 y -3/4)))
(-.f64 (+.f64 x (*.f64 y -3/4)) 0)
(+.f64 x (*.f64 y -3/4))
(*.f64 (+.f64 x (*.f64 y -3/4)) 1)
(+.f64 x (*.f64 y -3/4))
(*.f64 2 (+.f64 (*.f64 y -3/8) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 -3/8 y) (*.f64 x 1/2)))
(*.f64 1 (+.f64 x (*.f64 y -3/4)))
(+.f64 x (*.f64 y -3/4))
(*.f64 4 (*.f64 (+.f64 x (*.f64 y -3/4)) 1/4))
(+.f64 x (*.f64 y -3/4))
(*.f64 (+.f64 (*.f64 y -3/2) (+.f64 x x)) 1/2)
(+.f64 x (*.f64 y -3/4))
(*.f64 1/2 (+.f64 (*.f64 y -3/2) (+.f64 x x)))
(+.f64 x (*.f64 y -3/4))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 4) 1/4)
(+.f64 x (*.f64 y -3/4))
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 y -3/4)) 4))
(+.f64 x (*.f64 y -3/4))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 8) 1/8)
(+.f64 x (*.f64 y -3/4))
(*.f64 1/8 (*.f64 (+.f64 x (*.f64 y -3/4)) 8))
(+.f64 x (*.f64 y -3/4))
(*.f64 (+.f64 (*.f64 y -3/8) (*.f64 x 1/2)) 2)
(*.f64 2 (+.f64 (*.f64 -3/8 y) (*.f64 x 1/2)))
(*.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 1/4) 4)
(+.f64 x (*.f64 y -3/4))
(/.f64 (+.f64 x (*.f64 y -3/4)) 1)
(+.f64 x (*.f64 y -3/4))
(/.f64 (+.f64 (*.f64 y -3/2) (+.f64 x x)) 2)
(+.f64 x (*.f64 y -3/4))
(/.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 4) 4)
(+.f64 x (*.f64 y -3/4))
(/.f64 (*.f64 (+.f64 x (*.f64 y -3/4)) 8) 8)
(+.f64 x (*.f64 y -3/4))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/4)) 8)) 16)
(+.f64 x (*.f64 y -3/4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/4)) 8))) 32)
(+.f64 x (*.f64 y -3/4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/4)) 8)))) 64)
(+.f64 x (*.f64 y -3/4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y -3/4)) 8))))) 128)
(+.f64 x (*.f64 y -3/4))
(pow.f64 (+.f64 x (*.f64 y -3/4)) 1)
(+.f64 x (*.f64 y -3/4))

eval20.0ms (0.5%)

Compiler

Compiled 970 to 732 computations (24.5% saved)

prune14.0ms (0.4%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New92092
Fresh011
Picked011
Done022
Total92496
Error
0.1b
Counts
96 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(/.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)
0.1b
(-.f64 x (*.f64 3/8 y))
29.2b
(*.f64 -3/8 y)
34.3b
x
Compiler

Compiled 26 to 19 computations (26.9% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Error
0.1b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(/.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)
0.1b
(-.f64 x (*.f64 3/8 y))
29.2b
(*.f64 -3/8 y)
34.3b
x
Compiler

Compiled 26 to 19 computations (26.9% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Error
0.1b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(/.f64 (+.f64 x (+.f64 x (*.f64 y -3/4))) 2)
0.1b
(-.f64 x (*.f64 3/8 y))
29.2b
(*.f64 -3/8 y)
34.3b
x
Compiler

Compiled 26 to 19 computations (26.9% saved)

regimes19.0ms (0.5%)

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

4 calls:

5.0ms
(*.f64 (/.f64 3 8) y)
5.0ms
x
4.0ms
(-.f64 x (*.f64 (/.f64 3 8) y))
4.0ms
y
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1(-.f64 x (*.f64 (/.f64 3 8) y))
0.1b1(*.f64 (/.f64 3 8) y)
Compiler

Compiled 49 to 35 computations (28.6% saved)

regimes32.0ms (0.9%)

Accuracy

Total -49.6b remaining (-400.8%)

Threshold costs -49.6b (-400.8%)

Counts
2 → 5
Calls
Call 1
Inputs
x
(*.f64 -3/8 y)
Outputs
x
(*.f64 -3/8 y)
x
(*.f64 -3/8 y)
x
Calls

2 calls:

16.0ms
x
15.0ms
y
Results
ErrorSegmentsBranch
12.4b5x
13.9b5y
Compiler

Compiled 12 to 8 computations (33.3% saved)

bsearch51.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
14.0ms
4.5024121363953877e+76
3.972564765721347e+81
15.0ms
3.2172568569741256e-10
9.710007036042223e-8
13.0ms
1.2909986025953722e-24
3.368595094242601e-21
9.0ms
-2.228904135883702e+72
-1.621706415913115e+71
Results
39.0ms459×body256valid
3.0ms18×body1024valid
2.0ms15×body512valid
1.0msbody2048valid
Compiler

Compiled 324 to 259 computations (20.1% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02467
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f64 x (*.f64 3/8 y))
(if (<=.f64 x -164999999999999989746501660396935349620099883912192960188787403991810048) x (if (<=.f64 x 7975367974709495/2658455991569831745807614120560689152) (*.f64 -3/8 y) (if (<=.f64 x 7978910409456553/4835703278458516698824704) x (if (<=.f64 x 45500000000000001980542315137799838752399977171676909725247829005507751837696) (*.f64 -3/8 y) x))))
x
Outputs
(-.f64 x (*.f64 3/8 y))
(if (<=.f64 x -164999999999999989746501660396935349620099883912192960188787403991810048) x (if (<=.f64 x 7975367974709495/2658455991569831745807614120560689152) (*.f64 -3/8 y) (if (<=.f64 x 7978910409456553/4835703278458516698824704) x (if (<=.f64 x 45500000000000001980542315137799838752399977171676909725247829005507751837696) (*.f64 -3/8 y) x))))
x
Compiler

Compiled 37 to 25 computations (32.4% saved)

soundness9.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
11113
Stop Event
saturated
Compiler

Compiled 14 to 10 computations (28.6% saved)

end23.0ms (0.6%)

Compiler

Compiled 33 to 21 computations (36.4% saved)

Profiling

Loading profile data...