Details

Time bar (total: 19.7s)

analyze187.0ms (0.9%)

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
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
12.5%12.5%87.4%0.1%0%0%0%7
18.8%18.7%81.1%0.1%0%0%0%8
28.1%28.1%71.8%0.1%0%0%0%9
36.7%34.3%59.3%0.1%6.2%0%0%10
44.2%40.6%51.3%0.1%8%0%0%11
52.6%48%43.2%0.1%8.7%0%0%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample900.0ms (4.6%)

Results
772.0ms8256×body256valid
115.0ms1268×body256infinite
Bogosity

preprocess8.0ms (0%)

Algorithm
egg-herbie
Rules
46×rational.json-simplify-2
16×rational.json-simplify-43
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022100
134100
249100
364100
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
(+.f64 y (*.f64 (*.f64 (-.f64 x y) 6) z))
(+.f64 z (*.f64 (*.f64 (-.f64 y z) 6) x))
(+.f64 x (*.f64 (*.f64 (-.f64 z x) 6) y))
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
(+.f64 x (*.f64 (-.f64 y x) (*.f64 6 z)))
(+.f64 y (*.f64 (*.f64 (-.f64 x y) 6) z))
(+.f64 y (*.f64 z (*.f64 6 (-.f64 x y))))
(+.f64 y (*.f64 6 (*.f64 (-.f64 x y) z)))
(+.f64 y (*.f64 6 (*.f64 z (-.f64 x y))))
(+.f64 z (*.f64 (*.f64 (-.f64 y z) 6) x))
(+.f64 z (*.f64 x (*.f64 6 (-.f64 y z))))
(+.f64 x (*.f64 (*.f64 (-.f64 z x) 6) y))
(+.f64 x (*.f64 y (*.f64 6 (-.f64 z x))))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify9.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
11325
21725
32125
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
(+.f64 x (*.f64 (-.f64 y x) (*.f64 6 z)))

eval0.0ms (0%)

Compiler

Compiled 21 to 12 computations (42.9% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 x (*.f64 (-.f64 y x) (*.f64 6 z)))
0.4b
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
Compiler

Compiled 24 to 16 computations (33.3% saved)

localize10.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 y x) 6)
0.5b
(*.f64 (*.f64 (-.f64 y x) 6) z)
Compiler

Compiled 31 to 14 computations (54.8% saved)

series6.0ms (0%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
1.0ms
z
@-inf
(*.f64 (*.f64 (-.f64 y x) 6) z)
1.0ms
z
@inf
(*.f64 (*.f64 (-.f64 y x) 6) z)
1.0ms
z
@0
(*.f64 (*.f64 (-.f64 y x) 6) z)
0.0ms
y
@inf
(*.f64 (*.f64 (-.f64 y x) 6) z)
0.0ms
x
@0
(*.f64 (*.f64 (-.f64 y x) 6) z)

rewrite184.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
15832
212532
327732
452532
5126132
6283232
7516432
8693732
Stop Event
node limit
Counts
2 → 33
Calls
Call 1
Inputs
(*.f64 (*.f64 (-.f64 y x) 6) z)
(*.f64 (-.f64 y x) 6)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y x) (*.f64 6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) (*.f64 z 3)) (*.f64 (-.f64 y x) (*.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) (*.f64 z 4)) (*.f64 (-.f64 y x) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) (*.f64 z 12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) (*.f64 z 24)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 48 (*.f64 (-.f64 y x) z)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 y (+.f64 (*.f64 (-.f64 y x) 2) (+.f64 (neg.f64 x) (*.f64 (-.f64 y x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) 6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y x) 6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) 4) (*.f64 (-.f64 y x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) 3) (*.f64 (-.f64 y x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (-.f64 y x) 2) (+.f64 (neg.f64 x) (*.f64 (-.f64 y x) 3))) y)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)) (-.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 y x) 6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) 6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) 12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) 24) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 y x) 4) 12) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y x) 6) 1)))))

simplify977.0ms (4.9%)

Algorithm
egg-herbie
Rules
3430×rational.json-simplify-41
2640×rational.json-simplify-35
2586×rational.json-simplify-2
1020×rational.json-simplify-43
962×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0982339
12251997
24691889
311661685
431661685
546661685
649801685
751991685
853531685
955001685
1065861685
1165861685
1267301685
1368741685
1470181685
Stop Event
node limit
Counts
93 → 51
Calls
Call 1
Inputs
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 -6 x)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(*.f64 6 y)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(*.f64 6 y)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(*.f64 6 y)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(*.f64 -6 x)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(*.f64 -6 x)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 0)
(+.f64 0 (*.f64 (-.f64 y x) (*.f64 6 z)))
(+.f64 (*.f64 (-.f64 y x) (*.f64 z 3)) (*.f64 (-.f64 y x) (*.f64 z 3)))
(+.f64 (*.f64 (-.f64 y x) (*.f64 z 4)) (*.f64 (-.f64 y x) (+.f64 z z)))
(-.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 0)
(/.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 1)
(/.f64 (*.f64 (-.f64 y x) (*.f64 z 12)) 2)
(/.f64 (*.f64 (-.f64 y x) (*.f64 z 24)) 4)
(/.f64 (*.f64 48 (*.f64 (-.f64 y x) z)) 8)
(/.f64 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))))) 128)
(pow.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 1)
(+.f64 y (+.f64 (*.f64 (-.f64 y x) 2) (+.f64 (neg.f64 x) (*.f64 (-.f64 y x) 3))))
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (*.f64 (-.f64 y x) 6) 0)
(+.f64 0 (*.f64 (-.f64 y x) 6))
(+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 4))
(+.f64 (*.f64 (-.f64 y x) 4) (*.f64 (-.f64 y x) 2))
(+.f64 (*.f64 (-.f64 y x) 3) (*.f64 (-.f64 y x) 3))
(+.f64 (+.f64 (*.f64 (-.f64 y x) 2) (+.f64 (neg.f64 x) (*.f64 (-.f64 y x) 3))) y)
(+.f64 (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)) (-.f64 y x))
(-.f64 (*.f64 (-.f64 y x) 6) 0)
(/.f64 (*.f64 (-.f64 y x) 6) 1)
(/.f64 (*.f64 (-.f64 y x) 12) 2)
(/.f64 (*.f64 (-.f64 y x) 24) 4)
(/.f64 (*.f64 (*.f64 (-.f64 y x) 4) 12) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12))))) 128)
(pow.f64 (*.f64 (-.f64 y x) 6) 1)
Outputs
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 6 y)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 x)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(*.f64 6 y)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(*.f64 6 y)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(*.f64 6 y)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(*.f64 -6 x)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(*.f64 -6 x)
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(+.f64 (*.f64 6 y) (*.f64 -6 x))
(+.f64 (*.f64 -6 x) (*.f64 6 y))
(+.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 0)
(*.f64 z (*.f64 6 (-.f64 y x)))
(+.f64 0 (*.f64 (-.f64 y x) (*.f64 6 z)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(+.f64 (*.f64 (-.f64 y x) (*.f64 z 3)) (*.f64 (-.f64 y x) (*.f64 z 3)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(+.f64 (*.f64 (-.f64 y x) (*.f64 z 4)) (*.f64 (-.f64 y x) (+.f64 z z)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(-.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 0)
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 1)
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 (-.f64 y x) (*.f64 z 12)) 2)
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 (-.f64 y x) (*.f64 z 24)) 4)
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 48 (*.f64 (-.f64 y x) z)) 8)
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))) 16)
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))) 32)
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) 64)
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))))) 128)
(*.f64 z (*.f64 6 (-.f64 y x)))
(pow.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 1)
(*.f64 z (*.f64 6 (-.f64 y x)))
(+.f64 y (+.f64 (*.f64 (-.f64 y x) 2) (+.f64 (neg.f64 x) (*.f64 (-.f64 y x) 3))))
(+.f64 y (+.f64 (neg.f64 x) (*.f64 (-.f64 y x) 5)))
(+.f64 (*.f64 (-.f64 y x) 5) (+.f64 y (neg.f64 x)))
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(+.f64 (*.f64 (-.f64 y x) 6) 0)
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(+.f64 0 (*.f64 (-.f64 y x) 6))
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 4))
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(+.f64 (*.f64 (-.f64 y x) 4) (*.f64 (-.f64 y x) 2))
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(+.f64 (*.f64 (-.f64 y x) 3) (*.f64 (-.f64 y x) 3))
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(+.f64 (+.f64 (*.f64 (-.f64 y x) 2) (+.f64 (neg.f64 x) (*.f64 (-.f64 y x) 3))) y)
(+.f64 y (+.f64 (*.f64 (-.f64 y x) 2) (+.f64 (neg.f64 x) (*.f64 (-.f64 y x) 3))))
(+.f64 y (+.f64 (neg.f64 x) (*.f64 (-.f64 y x) 5)))
(+.f64 (*.f64 (-.f64 y x) 5) (+.f64 y (neg.f64 x)))
(+.f64 (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)) (-.f64 y x))
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(-.f64 (*.f64 (-.f64 y x) 6) 0)
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(/.f64 (*.f64 (-.f64 y x) 6) 1)
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(/.f64 (*.f64 (-.f64 y x) 12) 2)
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(/.f64 (*.f64 (-.f64 y x) 24) 4)
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(/.f64 (*.f64 (*.f64 (-.f64 y x) 4) 12) 8)
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12)) 16)
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12))) 32)
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12)))) 64)
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 4) 12))))) 128)
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))
(pow.f64 (*.f64 (-.f64 y x) 6) 1)
(+.f64 (-.f64 y x) (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 3)))
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 6 (-.f64 y x))

localize168.0ms (0.9%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 y x) (*.f64 6 z))
Compiler

Compiled 29 to 14 computations (51.7% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
y
@0
(*.f64 (-.f64 y x) (*.f64 6 z))
0.0ms
y
@inf
(*.f64 (-.f64 y x) (*.f64 6 z))
0.0ms
y
@-inf
(*.f64 (-.f64 y x) (*.f64 6 z))
0.0ms
x
@-inf
(*.f64 (-.f64 y x) (*.f64 6 z))
0.0ms
z
@inf
(*.f64 (-.f64 y x) (*.f64 6 z))

rewrite221.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
16019
213619
329419
454819
5130719
6293419
7527919
8707319
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 (-.f64 y x) (*.f64 6 z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y x) (*.f64 6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) (+.f64 z z)) (*.f64 (-.f64 y x) (*.f64 z 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) (*.f64 z 4)) (*.f64 (-.f64 y x) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) (*.f64 z 3)) (*.f64 (-.f64 y x) (*.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) (*.f64 z 12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) (*.f64 z 24)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 48 (*.f64 (-.f64 y x) z)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 1)))))

simplify1.1s (5.8%)

Algorithm
egg-herbie
Rules
4132×rational.json-simplify-35
2764×rational.json-simplify-2
1336×rational.json-simplify-53
1002×exponential.json-simplify-26
918×rational.json-simplify-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0611149
11441149
22951041
36741041
418411041
532091041
639921041
744011041
845861041
947461041
1049001041
1152821041
1253211041
1354051041
1454731041
1556831041
1658881041
1760691041
1862171041
1963651041
2065131041
2167471041
2271631041
2374521041
2476821041
2577111041
2677261041
2777381041
2877381041
2977381041
3079311041
Stop Event
node limit
Counts
51 → 27
Calls
Call 1
Inputs
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 0)
(+.f64 0 (*.f64 (-.f64 y x) (*.f64 6 z)))
(+.f64 (*.f64 (-.f64 y x) (+.f64 z z)) (*.f64 (-.f64 y x) (*.f64 z 4)))
(+.f64 (*.f64 (-.f64 y x) (*.f64 z 4)) (*.f64 (-.f64 y x) (+.f64 z z)))
(+.f64 (*.f64 (-.f64 y x) (*.f64 z 3)) (*.f64 (-.f64 y x) (*.f64 z 3)))
(-.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 0)
(/.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 1)
(/.f64 (*.f64 (-.f64 y x) (*.f64 z 12)) 2)
(/.f64 (*.f64 (-.f64 y x) (*.f64 z 24)) 4)
(/.f64 (*.f64 48 (*.f64 (-.f64 y x) z)) 8)
(/.f64 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))))) 128)
(pow.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 1)
Outputs
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 y 6))
(*.f64 z (*.f64 6 y))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 y 6))
(*.f64 z (*.f64 6 y))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 y 6))
(*.f64 z (*.f64 6 y))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (*.f64 y 6)))
(*.f64 z (+.f64 (*.f64 -6 x) (*.f64 6 y)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(+.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 0)
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(+.f64 0 (*.f64 (-.f64 y x) (*.f64 6 z)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(+.f64 (*.f64 (-.f64 y x) (+.f64 z z)) (*.f64 (-.f64 y x) (*.f64 z 4)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(+.f64 (*.f64 (-.f64 y x) (*.f64 z 4)) (*.f64 (-.f64 y x) (+.f64 z z)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(+.f64 (*.f64 (-.f64 y x) (*.f64 z 3)) (*.f64 (-.f64 y x) (*.f64 z 3)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(-.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 0)
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 1)
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 (-.f64 y x) (*.f64 z 12)) 2)
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 (-.f64 y x) (*.f64 z 24)) 4)
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 48 (*.f64 (-.f64 y x) z)) 8)
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))) 16)
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))) 32)
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) 64)
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))))) 128)
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(pow.f64 (*.f64 (-.f64 y x) (*.f64 6 z)) 1)
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))

eval15.0ms (0.1%)

Compiler

Compiled 1007 to 540 computations (46.4% saved)

prune12.0ms (0.1%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New73578
Fresh000
Picked011
Done011
Total73780
Error
0.0b
Counts
80 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 x (*.f64 (-.f64 y x) (*.f64 6 z)))
0.5b
(+.f64 x (*.f64 (+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5)) z))
0.4b
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
11.2b
(+.f64 x (*.f64 (*.f64 6 y) z))
25.4b
(+.f64 x (*.f64 (*.f64 -6 x) z))
11.0b
(+.f64 x (*.f64 6 (*.f64 z y)))
25.4b
(+.f64 x (*.f64 -6 (*.f64 z x)))
Compiler

Compiled 136 to 90 computations (33.8% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 y x) 5)
0.5b
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
0.5b
(*.f64 (+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5)) z)
Compiler

Compiled 48 to 19 computations (60.4% saved)

series5.0ms (0%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
1.0ms
z
@0
(*.f64 (+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5)) z)
0.0ms
y
@0
(*.f64 (+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5)) z)
0.0ms
y
@inf
(*.f64 (+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5)) z)
0.0ms
x
@inf
(*.f64 (+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5)) z)
0.0ms
y
@-inf
(*.f64 (+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5)) z)

rewrite115.0ms (0.6%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01069
16545
213545
329345
457845
5145945
6317545
7490545
8675245
Stop Event
node limit
Counts
3 → 58
Calls
Call 1
Inputs
(*.f64 (+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5)) z)
(+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5))
(*.f64 (-.f64 y x) 5)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) (*.f64 z 6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y x) (*.f64 z 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) (*.f64 z 3)) (*.f64 (-.f64 y x) (*.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 (-.f64 y x) (+.f64 z z))) (*.f64 (-.f64 y x) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 y x) (*.f64 z 6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) (*.f64 z 6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) (*.f64 z 12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 (-.f64 y x) 24)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 48 (*.f64 (-.f64 y x) z)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y x) (*.f64 z 6)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 x y) -6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (-.f64 y x) 5) (+.f64 y (-.f64 1 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y x) 6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x y) -6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 x y) -6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 y x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y x) 12) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y x) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x y) -6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (-.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (-.f64 y x) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y x) 24) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y x) 4) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 12 (*.f64 (-.f64 y x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 y x) 12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 10)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y x) 1/2) 12)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y x) 3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 (-.f64 y x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -6 (-.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 y x) 24))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y x) 3/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x y) -6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) 12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) 24) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 x y) -6) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 x y) -6) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x y) -6) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x y) -6) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x y) -6) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 x y) -6) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) 5) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y x) 5))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y x) 5/2) (*.f64 (-.f64 y x) 5/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 y x) 5) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) 5) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) 10) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y x) 20) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 y x) 5) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 5) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 5) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 5) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 5) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y x) 5) 1)))))

simplify294.0ms (1.5%)

Algorithm
egg-herbie
Rules
2598×rational.json-simplify-35
1358×rational.json-simplify-2
1312×rational.json-simplify-51
1046×exponential.json-simplify-26
976×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01522878
13532824
27212770
321292758
448732758
558002758
661552758
763782758
864822758
965202758
1070532758
1175672758
1278592758
Stop Event
node limit
Counts
142 → 104
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 -5 x) x) z)
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(-.f64 (*.f64 -5 x) x)
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(*.f64 6 y)
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(*.f64 6 y)
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(+.f64 y (*.f64 5 y))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(*.f64 -6 x)
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(*.f64 -6 x)
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(*.f64 -5 x)
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(*.f64 5 y)
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(*.f64 -5 x)
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(*.f64 -5 x)
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 (-.f64 y x) (*.f64 z 6)) 0)
(+.f64 0 (*.f64 (-.f64 y x) (*.f64 z 6)))
(+.f64 (*.f64 (-.f64 y x) (*.f64 z 3)) (*.f64 (-.f64 y x) (*.f64 z 3)))
(+.f64 (*.f64 2 (*.f64 (-.f64 y x) (+.f64 z z))) (*.f64 (-.f64 y x) (+.f64 z z)))
(-.f64 (*.f64 (-.f64 y x) (*.f64 z 6)) 0)
(/.f64 (*.f64 (-.f64 y x) (*.f64 z 6)) 1)
(/.f64 (*.f64 (-.f64 y x) (*.f64 z 12)) 2)
(/.f64 (*.f64 z (*.f64 (-.f64 y x) 24)) 4)
(/.f64 (*.f64 48 (*.f64 (-.f64 y x) z)) 8)
(/.f64 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))))) 128)
(pow.f64 (*.f64 (-.f64 y x) (*.f64 z 6)) 1)
(-.f64 (*.f64 (-.f64 x y) -6) 0)
(-.f64 (+.f64 (*.f64 (-.f64 y x) 5) (+.f64 y (-.f64 1 x))) 1)
(*.f64 (-.f64 y x) 6)
(*.f64 (*.f64 (-.f64 x y) -6) 1)
(*.f64 1 (*.f64 (-.f64 x y) -6))
(*.f64 2 (*.f64 (-.f64 y x) 3))
(*.f64 (*.f64 (-.f64 y x) 12) 1/2)
(*.f64 (*.f64 (-.f64 y x) 2) 3)
(*.f64 (-.f64 x y) -6)
(*.f64 6 (-.f64 y x))
(*.f64 4 (*.f64 (-.f64 y x) 3/2))
(*.f64 (*.f64 (-.f64 y x) 24) 1/4)
(*.f64 (*.f64 (-.f64 y x) 4) 3/2)
(*.f64 12 (*.f64 (-.f64 y x) 1/2))
(*.f64 1/2 (*.f64 (-.f64 y x) 12))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 10)))
(*.f64 (*.f64 (-.f64 y x) 1/2) 12)
(*.f64 (*.f64 (-.f64 y x) 3) 2)
(*.f64 3 (*.f64 (-.f64 y x) 2))
(*.f64 -6 (-.f64 x y))
(*.f64 1/4 (*.f64 (-.f64 y x) 24))
(*.f64 (*.f64 (-.f64 y x) 3/2) 4)
(/.f64 (*.f64 (-.f64 x y) -6) 1)
(/.f64 (*.f64 (-.f64 y x) 12) 2)
(/.f64 (*.f64 (-.f64 y x) 24) 4)
(/.f64 (*.f64 (*.f64 (-.f64 x y) -6) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 x y) -6) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x y) -6) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x y) -6) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x y) -6) 8))))) 128)
(pow.f64 (*.f64 (-.f64 x y) -6) 1)
(+.f64 (*.f64 (-.f64 y x) 5) 0)
(+.f64 0 (*.f64 (-.f64 y x) 5))
(+.f64 (*.f64 (-.f64 y x) 5/2) (*.f64 (-.f64 y x) 5/2))
(-.f64 (*.f64 (-.f64 y x) 5) 0)
(/.f64 (*.f64 (-.f64 y x) 5) 1)
(/.f64 (*.f64 (-.f64 y x) 10) 2)
(/.f64 (*.f64 (-.f64 y x) 20) 4)
(/.f64 (*.f64 (*.f64 (-.f64 y x) 5) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 5) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 5) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 5) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 5) 8))))) 128)
(pow.f64 (*.f64 (-.f64 y x) 5) 1)
Outputs
(*.f64 (-.f64 (*.f64 -5 x) x) z)
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 z y)))
(*.f64 z (+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 z y)))
(*.f64 z (+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 z y)))
(*.f64 z (+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 z y)))
(*.f64 z (+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 z y)))
(*.f64 z (+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 z y)))
(*.f64 z (+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 z y)))
(*.f64 z (+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 z y)))
(*.f64 z (+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) (*.f64 6 (*.f64 z y)))
(*.f64 z (+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) (*.f64 z (*.f64 x -6)))
(*.f64 z (+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6))))
(*.f64 z (+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) (*.f64 z (*.f64 x -6)))
(*.f64 z (+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6))))
(*.f64 z (+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) (*.f64 z (*.f64 x -6)))
(*.f64 z (+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6))))
(*.f64 z (+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6)))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 x -6))
(*.f64 x (*.f64 z -6))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) (*.f64 z (*.f64 x -6)))
(*.f64 z (+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6))))
(*.f64 z (+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) (*.f64 z (*.f64 x -6)))
(*.f64 z (+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6))))
(*.f64 z (+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) (*.f64 z (*.f64 x -6)))
(*.f64 z (+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6))))
(*.f64 z (+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6)))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 x -6))
(*.f64 x (*.f64 z -6))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) (*.f64 z (*.f64 x -6)))
(*.f64 z (+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6))))
(*.f64 z (+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) (*.f64 z (*.f64 x -6)))
(*.f64 z (+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6))))
(*.f64 z (+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6)))
(+.f64 (*.f64 -6 (*.f64 z x)) (*.f64 z (+.f64 y (*.f64 5 y))))
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) (*.f64 z (*.f64 x -6)))
(*.f64 z (+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6))))
(*.f64 z (+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6)))
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 z (+.f64 (*.f64 5 (-.f64 y x)) (-.f64 y x)))
(*.f64 z (+.f64 (-.f64 y x) (*.f64 5 (-.f64 y x))))
(*.f64 z (+.f64 y (-.f64 (*.f64 5 (-.f64 y x)) x)))
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 z (+.f64 (*.f64 5 (-.f64 y x)) (-.f64 y x)))
(*.f64 z (+.f64 (-.f64 y x) (*.f64 5 (-.f64 y x))))
(*.f64 z (+.f64 y (-.f64 (*.f64 5 (-.f64 y x)) x)))
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 z (+.f64 (*.f64 5 (-.f64 y x)) (-.f64 y x)))
(*.f64 z (+.f64 (-.f64 y x) (*.f64 5 (-.f64 y x))))
(*.f64 z (+.f64 y (-.f64 (*.f64 5 (-.f64 y x)) x)))
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 z (+.f64 (*.f64 5 (-.f64 y x)) (-.f64 y x)))
(*.f64 z (+.f64 (-.f64 y x) (*.f64 5 (-.f64 y x))))
(*.f64 z (+.f64 y (-.f64 (*.f64 5 (-.f64 y x)) x)))
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 z (+.f64 (*.f64 5 (-.f64 y x)) (-.f64 y x)))
(*.f64 z (+.f64 (-.f64 y x) (*.f64 5 (-.f64 y x))))
(*.f64 z (+.f64 y (-.f64 (*.f64 5 (-.f64 y x)) x)))
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 z (+.f64 (*.f64 5 (-.f64 y x)) (-.f64 y x)))
(*.f64 z (+.f64 (-.f64 y x) (*.f64 5 (-.f64 y x))))
(*.f64 z (+.f64 y (-.f64 (*.f64 5 (-.f64 y x)) x)))
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 z (+.f64 (*.f64 5 (-.f64 y x)) (-.f64 y x)))
(*.f64 z (+.f64 (-.f64 y x) (*.f64 5 (-.f64 y x))))
(*.f64 z (+.f64 y (-.f64 (*.f64 5 (-.f64 y x)) x)))
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 z (+.f64 (*.f64 5 (-.f64 y x)) (-.f64 y x)))
(*.f64 z (+.f64 (-.f64 y x) (*.f64 5 (-.f64 y x))))
(*.f64 z (+.f64 y (-.f64 (*.f64 5 (-.f64 y x)) x)))
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 z (+.f64 (*.f64 5 (-.f64 y x)) (-.f64 y x)))
(*.f64 z (+.f64 (-.f64 y x) (*.f64 5 (-.f64 y x))))
(*.f64 z (+.f64 y (-.f64 (*.f64 5 (-.f64 y x)) x)))
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 z (+.f64 (*.f64 5 (-.f64 y x)) (-.f64 y x)))
(*.f64 z (+.f64 (-.f64 y x) (*.f64 5 (-.f64 y x))))
(*.f64 z (+.f64 y (-.f64 (*.f64 5 (-.f64 y x)) x)))
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 z (+.f64 (*.f64 5 (-.f64 y x)) (-.f64 y x)))
(*.f64 z (+.f64 (-.f64 y x) (*.f64 5 (-.f64 y x))))
(*.f64 z (+.f64 y (-.f64 (*.f64 5 (-.f64 y x)) x)))
(*.f64 (-.f64 (+.f64 y (*.f64 5 (-.f64 y x))) x) z)
(*.f64 z (+.f64 (*.f64 5 (-.f64 y x)) (-.f64 y x)))
(*.f64 z (+.f64 (-.f64 y x) (*.f64 5 (-.f64 y x))))
(*.f64 z (+.f64 y (-.f64 (*.f64 5 (-.f64 y x)) x)))
(-.f64 (*.f64 -5 x) x)
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x))
(+.f64 (*.f64 6 y) (-.f64 (*.f64 -5 x) x))
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x))
(+.f64 (*.f64 6 y) (-.f64 (*.f64 -5 x) x))
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x))
(+.f64 (*.f64 6 y) (-.f64 (*.f64 -5 x) x))
(*.f64 6 y)
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x))
(+.f64 (*.f64 6 y) (-.f64 (*.f64 -5 x) x))
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x))
(+.f64 (*.f64 6 y) (-.f64 (*.f64 -5 x) x))
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x))
(+.f64 (*.f64 6 y) (-.f64 (*.f64 -5 x) x))
(*.f64 6 y)
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x))
(+.f64 (*.f64 6 y) (-.f64 (*.f64 -5 x) x))
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x))
(+.f64 (*.f64 6 y) (-.f64 (*.f64 -5 x) x))
(-.f64 (+.f64 (*.f64 6 y) (*.f64 -5 x)) x)
(+.f64 (*.f64 -5 x) (-.f64 (*.f64 6 y) x))
(+.f64 (*.f64 6 y) (-.f64 (*.f64 -5 x) x))
(+.f64 y (*.f64 5 y))
(+.f64 y (*.f64 y 5))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 (*.f64 x -6) (+.f64 y (*.f64 y 5)))
(+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6)))
(+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 (*.f64 x -6) (+.f64 y (*.f64 y 5)))
(+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6)))
(+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 (*.f64 x -6) (+.f64 y (*.f64 y 5)))
(+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6)))
(+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6))
(*.f64 -6 x)
(*.f64 x -6)
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 (*.f64 x -6) (+.f64 y (*.f64 y 5)))
(+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6)))
(+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 (*.f64 x -6) (+.f64 y (*.f64 y 5)))
(+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6)))
(+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 (*.f64 x -6) (+.f64 y (*.f64 y 5)))
(+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6)))
(+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6))
(*.f64 -6 x)
(*.f64 x -6)
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 (*.f64 x -6) (+.f64 y (*.f64 y 5)))
(+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6)))
(+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 (*.f64 x -6) (+.f64 y (*.f64 y 5)))
(+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6)))
(+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6))
(+.f64 y (+.f64 (*.f64 -6 x) (*.f64 5 y)))
(+.f64 (*.f64 x -6) (+.f64 y (*.f64 y 5)))
(+.f64 y (+.f64 (*.f64 y 5) (*.f64 x -6)))
(+.f64 (+.f64 y (*.f64 y 5)) (*.f64 x -6))
(*.f64 -5 x)
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(*.f64 5 y)
(*.f64 y 5)
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(*.f64 5 y)
(*.f64 y 5)
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(*.f64 5 y)
(*.f64 y 5)
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(*.f64 -5 x)
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(*.f64 -5 x)
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(+.f64 (*.f64 -5 x) (*.f64 5 y))
(+.f64 (*.f64 -5 x) (*.f64 y 5))
(+.f64 (*.f64 (-.f64 y x) (*.f64 z 6)) 0)
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(+.f64 0 (*.f64 (-.f64 y x) (*.f64 z 6)))
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 (-.f64 y x) (*.f64 z 3)) (*.f64 (-.f64 y x) (*.f64 z 3)))
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(+.f64 (*.f64 2 (*.f64 (-.f64 y x) (+.f64 z z))) (*.f64 (-.f64 y x) (+.f64 z z)))
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(-.f64 (*.f64 (-.f64 y x) (*.f64 z 6)) 0)
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(/.f64 (*.f64 (-.f64 y x) (*.f64 z 6)) 1)
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(/.f64 (*.f64 (-.f64 y x) (*.f64 z 12)) 2)
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(/.f64 (*.f64 z (*.f64 (-.f64 y x) 24)) 4)
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(/.f64 (*.f64 48 (*.f64 (-.f64 y x) z)) 8)
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(/.f64 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))) 16)
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))) 32)
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z))))) 64)
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 (-.f64 y x) z)))))) 128)
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(pow.f64 (*.f64 (-.f64 y x) (*.f64 z 6)) 1)
(*.f64 (-.f64 y x) (*.f64 z 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(-.f64 (*.f64 (-.f64 x y) -6) 0)
(*.f64 -6 (-.f64 x y))
(-.f64 (+.f64 (*.f64 (-.f64 y x) 5) (+.f64 y (-.f64 1 x))) 1)
(+.f64 (+.f64 y (-.f64 1 x)) (-.f64 (*.f64 5 (-.f64 y x)) 1))
(+.f64 (*.f64 5 (-.f64 y x)) (-.f64 (+.f64 y (-.f64 1 x)) 1))
(+.f64 (*.f64 5 (-.f64 y x)) (+.f64 y (-.f64 (-.f64 1 x) 1)))
(+.f64 y (-.f64 (*.f64 5 (-.f64 y x)) x))
(*.f64 (-.f64 y x) 6)
(*.f64 6 (-.f64 y x))
(*.f64 (*.f64 (-.f64 x y) -6) 1)
(*.f64 -6 (-.f64 x y))
(*.f64 1 (*.f64 (-.f64 x y) -6))
(*.f64 -6 (-.f64 x y))
(*.f64 2 (*.f64 (-.f64 y x) 3))
(*.f64 6 (-.f64 y x))
(*.f64 (*.f64 (-.f64 y x) 12) 1/2)
(*.f64 6 (-.f64 y x))
(*.f64 (*.f64 (-.f64 y x) 2) 3)
(*.f64 6 (-.f64 y x))
(*.f64 (-.f64 x y) -6)
(*.f64 -6 (-.f64 x y))
(*.f64 6 (-.f64 y x))
(*.f64 4 (*.f64 (-.f64 y x) 3/2))
(*.f64 6 (-.f64 y x))
(*.f64 (*.f64 (-.f64 y x) 24) 1/4)
(*.f64 6 (-.f64 y x))
(*.f64 (*.f64 (-.f64 y x) 4) 3/2)
(*.f64 6 (-.f64 y x))
(*.f64 12 (*.f64 (-.f64 y x) 1/2))
(*.f64 6 (-.f64 y x))
(*.f64 1/2 (*.f64 (-.f64 y x) 12))
(*.f64 6 (-.f64 y x))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 y x) 2) (*.f64 (-.f64 y x) 10)))
(*.f64 6 (-.f64 y x))
(*.f64 (*.f64 (-.f64 y x) 1/2) 12)
(*.f64 6 (-.f64 y x))
(*.f64 (*.f64 (-.f64 y x) 3) 2)
(*.f64 6 (-.f64 y x))
(*.f64 3 (*.f64 (-.f64 y x) 2))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(*.f64 1/4 (*.f64 (-.f64 y x) 24))
(*.f64 6 (-.f64 y x))
(*.f64 (*.f64 (-.f64 y x) 3/2) 4)
(*.f64 6 (-.f64 y x))
(/.f64 (*.f64 (-.f64 x y) -6) 1)
(*.f64 -6 (-.f64 x y))
(/.f64 (*.f64 (-.f64 y x) 12) 2)
(*.f64 6 (-.f64 y x))
(/.f64 (*.f64 (-.f64 y x) 24) 4)
(*.f64 6 (-.f64 y x))
(/.f64 (*.f64 (*.f64 (-.f64 x y) -6) 8) 8)
(*.f64 -6 (-.f64 x y))
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 x y) -6) 8)) 16)
(*.f64 -6 (-.f64 x y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x y) -6) 8))) 32)
(*.f64 -6 (-.f64 x y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x y) -6) 8)))) 64)
(*.f64 -6 (-.f64 x y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x y) -6) 8))))) 128)
(*.f64 -6 (-.f64 x y))
(pow.f64 (*.f64 (-.f64 x y) -6) 1)
(*.f64 -6 (-.f64 x y))
(+.f64 (*.f64 (-.f64 y x) 5) 0)
(*.f64 5 (-.f64 y x))
(+.f64 0 (*.f64 (-.f64 y x) 5))
(*.f64 5 (-.f64 y x))
(+.f64 (*.f64 (-.f64 y x) 5/2) (*.f64 (-.f64 y x) 5/2))
(*.f64 5 (-.f64 y x))
(-.f64 (*.f64 (-.f64 y x) 5) 0)
(*.f64 5 (-.f64 y x))
(/.f64 (*.f64 (-.f64 y x) 5) 1)
(*.f64 5 (-.f64 y x))
(/.f64 (*.f64 (-.f64 y x) 10) 2)
(*.f64 5 (-.f64 y x))
(/.f64 (*.f64 (-.f64 y x) 20) 4)
(*.f64 5 (-.f64 y x))
(/.f64 (*.f64 (*.f64 (-.f64 y x) 5) 8) 8)
(*.f64 5 (-.f64 y x))
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 5) 8)) 16)
(*.f64 5 (-.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 5) 8))) 32)
(*.f64 5 (-.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 5) 8)))) 64)
(*.f64 5 (-.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y x) 5) 8))))) 128)
(*.f64 5 (-.f64 y x))
(pow.f64 (*.f64 (-.f64 y x) 5) 1)
(*.f64 5 (-.f64 y x))

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 -6 (*.f64 z x)))
0.3b
(*.f64 -6 (*.f64 z x))
Compiler

Compiled 21 to 10 computations (52.4% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
1.0ms
z
@0
(*.f64 -6 (*.f64 z x))
0.0ms
z
@inf
(*.f64 -6 (*.f64 z x))
0.0ms
x
@0
(*.f64 -6 (*.f64 z x))
0.0ms
x
@inf
(*.f64 -6 (*.f64 z x))
0.0ms
z
@-inf
(*.f64 -6 (*.f64 z x))

rewrite130.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1888×rational.json-simplify-35
1634×rational.json-1
1634×rational.json-2
1634×rational.json-4
1634×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
15532
212532
326632
451432
5122232
6274632
7475432
8586132
9738532
Stop Event
node limit
Counts
2 → 47
Calls
Call 1
Inputs
(*.f64 -6 (*.f64 z x))
(+.f64 x (*.f64 -6 (*.f64 z x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -6 (*.f64 z x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -6 (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 x -3)) (*.f64 z (*.f64 x -3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -6 (*.f64 z x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -6 (*.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 x -12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z x) -24) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 z x) -24)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -6 (*.f64 z x)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (*.f64 -6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 -6 (*.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z (*.f64 x -3)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 x x) (*.f64 z (*.f64 x -12))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (+.f64 1 (*.f64 -6 z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (+.f64 1/2 (*.f64 -6 (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (+.f64 1/2 (*.f64 (*.f64 -6 z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 4) (+.f64 1 (*.f64 -6 z))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 -6 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (+.f64 1 (*.f64 z -12))) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 z (*.f64 x -12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (+.f64 1 (+.f64 1 (*.f64 z -12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (+.f64 2 (*.f64 z -12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 z (*.f64 x -3)) (*.f64 x 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (*.f64 -6 z)) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 x 4) (+.f64 1 (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 z -12)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1/2 (*.f64 -6 (*.f64 z 1/2))) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1/2 (*.f64 (*.f64 -6 z) 1/2)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 x x) (*.f64 z (*.f64 x -12))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x 4) (+.f64 1 (*.f64 -6 z))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 1)))))

simplify846.0ms (4.3%)

Algorithm
egg-herbie
Rules
4274×rational.json-simplify-35
2434×rational.json-simplify-2
1000×rational.json-simplify-53
840×exponential.json-simplify-26
796×rational.json-simplify-1
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01131283
12531275
25091275
314221275
431951275
541611259
646161259
749411259
851931259
953811259
1055451259
1157961259
1258391259
1359311259
1460321259
1561681259
1664321259
1768081259
1869931259
1971501259
2073071259
2174641259
2276211259
2377901259
2477981259
2577981259
2678451259
2778451259
Stop Event
node limit
Counts
71 → 57
Calls
Call 1
Inputs
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
x
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) 0)
(+.f64 0 (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 z (*.f64 x -3)) (*.f64 z (*.f64 x -3)))
(-.f64 (*.f64 -6 (*.f64 z x)) 0)
(/.f64 (*.f64 -6 (*.f64 z x)) 1)
(/.f64 (*.f64 z (*.f64 x -12)) 2)
(/.f64 (*.f64 (*.f64 z x) -24) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 z x) -24)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24))))))) 256)
(pow.f64 (*.f64 -6 (*.f64 z x)) 1)
(-.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 0)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 1)
(*.f64 1 (+.f64 x (*.f64 -6 (*.f64 z x))))
(*.f64 2 (+.f64 (*.f64 z (*.f64 x -3)) (*.f64 x 1/2)))
(*.f64 (+.f64 (+.f64 x x) (*.f64 z (*.f64 x -12))) 1/2)
(*.f64 (+.f64 x x) (*.f64 (+.f64 1 (*.f64 -6 z)) 1/2))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 -6 (*.f64 z 1/2))))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 (*.f64 -6 z) 1/2)))
(*.f64 4 (/.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 4))
(*.f64 (*.f64 (*.f64 x 4) (+.f64 1 (*.f64 -6 z))) 1/4)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (+.f64 1 (*.f64 z -12))) (*.f64 x 1/2))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 z (*.f64 x -12))))
(*.f64 (*.f64 x 1/2) (+.f64 1 (+.f64 1 (*.f64 z -12))))
(*.f64 (*.f64 x 1/2) (+.f64 2 (*.f64 z -12)))
(*.f64 (+.f64 (*.f64 z (*.f64 x -3)) (*.f64 x 1/2)) 2)
(*.f64 (*.f64 (+.f64 1 (*.f64 -6 z)) 1/2) (+.f64 x x))
(*.f64 1/4 (*.f64 (*.f64 x 4) (+.f64 1 (*.f64 -6 z))))
(*.f64 (/.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 4) 4)
(*.f64 (+.f64 2 (*.f64 z -12)) (*.f64 x 1/2))
(*.f64 (+.f64 1/2 (*.f64 -6 (*.f64 z 1/2))) (+.f64 x x))
(*.f64 (+.f64 1/2 (*.f64 (*.f64 -6 z) 1/2)) (+.f64 x x))
(/.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 1)
(/.f64 (+.f64 (+.f64 x x) (*.f64 z (*.f64 x -12))) 2)
(/.f64 (*.f64 (*.f64 x 4) (+.f64 1 (*.f64 -6 z))) 4)
(/.f64 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8)))))) 256)
(pow.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 1)
Outputs
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (*.f64 x -1))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (neg.f64 (+.f64 -1 (*.f64 z 6))))
(*.f64 x (-.f64 1 (*.f64 z 6)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (*.f64 x -1))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (neg.f64 (+.f64 -1 (*.f64 z 6))))
(*.f64 x (-.f64 1 (*.f64 z 6)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (*.f64 x -1))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (neg.f64 (+.f64 -1 (*.f64 z 6))))
(*.f64 x (-.f64 1 (*.f64 z 6)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (*.f64 x -1))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (neg.f64 (+.f64 -1 (*.f64 z 6))))
(*.f64 x (-.f64 1 (*.f64 z 6)))
x
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 -6 (*.f64 z x)) 0)
(*.f64 -6 (*.f64 z x))
(+.f64 0 (*.f64 -6 (*.f64 z x)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 z (*.f64 x -3)) (*.f64 z (*.f64 x -3)))
(*.f64 -6 (*.f64 z x))
(-.f64 (*.f64 -6 (*.f64 z x)) 0)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 -6 (*.f64 z x)) 1)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 z (*.f64 x -12)) 2)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 (*.f64 z x) -24) 4)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 2 (*.f64 (*.f64 z x) -24)) 8)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24))) 16)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24)))) 32)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24))))) 64)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24)))))) 128)
(*.f64 -6 (*.f64 z x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z x) -24))))))) 256)
(*.f64 -6 (*.f64 z x))
(pow.f64 (*.f64 -6 (*.f64 z x)) 1)
(*.f64 -6 (*.f64 z x))
(-.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 0)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 1)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 1 (+.f64 x (*.f64 -6 (*.f64 z x))))
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 z (*.f64 x -3)) (*.f64 x 1/2)))
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 (+.f64 (+.f64 x x) (*.f64 z (*.f64 x -12))) 1/2)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 (+.f64 x x) (*.f64 (+.f64 1 (*.f64 -6 z)) 1/2))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 -6 (*.f64 z 1/2))))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z -3)))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 (*.f64 -6 z) 1/2)))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z -3)))
(*.f64 4 (/.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 4))
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 (*.f64 (*.f64 x 4) (+.f64 1 (*.f64 -6 z))) 1/4)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (+.f64 1 (*.f64 z -12))) (*.f64 x 1/2))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 z (*.f64 x -12))))
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 (*.f64 x 1/2) (+.f64 1 (+.f64 1 (*.f64 z -12))))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (*.f64 x 1/2) (+.f64 2 (*.f64 z -12)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 (*.f64 z (*.f64 x -3)) (*.f64 x 1/2)) 2)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 (*.f64 (+.f64 1 (*.f64 -6 z)) 1/2) (+.f64 x x))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 1/4 (*.f64 (*.f64 x 4) (+.f64 1 (*.f64 -6 z))))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (/.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 4) 4)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 (+.f64 2 (*.f64 z -12)) (*.f64 x 1/2))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1/2 (*.f64 -6 (*.f64 z 1/2))) (+.f64 x x))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z -3)))
(*.f64 (+.f64 1/2 (*.f64 (*.f64 -6 z) 1/2)) (+.f64 x x))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z -3)))
(/.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 1)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(/.f64 (+.f64 (+.f64 x x) (*.f64 z (*.f64 x -12))) 2)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(/.f64 (*.f64 (*.f64 x 4) (+.f64 1 (*.f64 -6 z))) 4)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(/.f64 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8) 8)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8)) 16)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8))) 32)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8)))) 64)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8))))) 128)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 8)))))) 256)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(pow.f64 (+.f64 x (*.f64 -6 (*.f64 z x))) 1)
(+.f64 x (*.f64 -6 (*.f64 z x)))

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 6 (*.f64 z y)))
0.3b
(*.f64 6 (*.f64 z y))
Compiler

Compiled 22 to 10 computations (54.5% saved)

series3.0ms (0%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
0.0ms
z
@inf
(*.f64 6 (*.f64 z y))
0.0ms
z
@0
(*.f64 6 (*.f64 z y))
0.0ms
y
@0
(*.f64 6 (*.f64 z y))
0.0ms
y
@inf
(*.f64 6 (*.f64 z y))
0.0ms
x
@0
(+.f64 x (*.f64 6 (*.f64 z y)))

rewrite191.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1774×rational.json-simplify-35
1758×rational.json-simplify-1
1470×exponential.json-3
1470×rational.json-1
1470×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
16132
213532
328632
453732
5124832
6272632
7452932
8551532
9684132
10787832
11787832
Stop Event
node limit
Counts
2 → 39
Calls
Call 1
Inputs
(*.f64 6 (*.f64 z y))
(+.f64 x (*.f64 6 (*.f64 z y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z y) (+.f64 (*.f64 y (+.f64 z z)) (*.f64 z (*.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 (*.f64 z y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 6 (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 z z)) (*.f64 z (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 y 4)) (*.f64 y (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 y 3)) (*.f64 z (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y (+.f64 z z)) (*.f64 z (*.f64 y 3))) (*.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 6 (*.f64 z y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 6 (*.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 y 12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 y 24)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (+.f64 z z)) 24) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 6 (*.f64 z y)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 6 (*.f64 z y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z (*.f64 y 3)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 x (*.f64 z (*.f64 y 12)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x (+.f64 x (*.f64 z (*.f64 y 12)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 z (*.f64 y 3)) (*.f64 x 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x (*.f64 z (*.f64 y 12)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 1)))))

simplify372.0ms (1.9%)

Algorithm
egg-herbie
Rules
4940×rational.json-simplify-41
2270×rational.json-simplify-35
1546×rational.json-simplify-2
794×rational.json-simplify-51
708×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0951551
12241551
24911551
314731551
431261551
540021551
642211551
744501551
845701551
946751551
1048131551
1150211551
1251271551
1352331551
1453301551
1553301551
Stop Event
node limit
Counts
99 → 45
Calls
Call 1
Inputs
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 z y) (+.f64 (*.f64 y (+.f64 z z)) (*.f64 z (*.f64 y 3))))
(+.f64 (*.f64 6 (*.f64 z y)) 0)
(+.f64 0 (*.f64 6 (*.f64 z y)))
(+.f64 (*.f64 y (+.f64 z z)) (*.f64 z (*.f64 y 4)))
(+.f64 (*.f64 z (*.f64 y 4)) (*.f64 y (+.f64 z z)))
(+.f64 (*.f64 z (*.f64 y 3)) (*.f64 z (*.f64 y 3)))
(+.f64 (+.f64 (*.f64 y (+.f64 z z)) (*.f64 z (*.f64 y 3))) (*.f64 z y))
(-.f64 (*.f64 6 (*.f64 z y)) 0)
(/.f64 (*.f64 6 (*.f64 z y)) 1)
(/.f64 (*.f64 z (*.f64 y 12)) 2)
(/.f64 (*.f64 z (*.f64 y 24)) 4)
(/.f64 (*.f64 (*.f64 y (+.f64 z z)) 24) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24)))))) 256)
(pow.f64 (*.f64 6 (*.f64 z y)) 1)
(-.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 0)
(*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 1)
(*.f64 1 (+.f64 (*.f64 6 (*.f64 z y)) x))
(*.f64 2 (+.f64 (*.f64 z (*.f64 y 3)) (*.f64 x 1/2)))
(*.f64 (+.f64 x (+.f64 x (*.f64 z (*.f64 y 12)))) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4))
(*.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4) 1/4)
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 z (*.f64 y 12)))))
(*.f64 (+.f64 (*.f64 z (*.f64 y 3)) (*.f64 x 1/2)) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4))
(*.f64 (/.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4) 4)
(/.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 1)
(/.f64 (+.f64 x (+.f64 x (*.f64 z (*.f64 y 12)))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8)))))) 256)
(pow.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 1)
Outputs
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 z y) (+.f64 (*.f64 y (+.f64 z z)) (*.f64 z (*.f64 y 3))))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 z y)) 0)
(*.f64 6 (*.f64 y z))
(+.f64 0 (*.f64 6 (*.f64 z y)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 y (+.f64 z z)) (*.f64 z (*.f64 y 4)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 z (*.f64 y 4)) (*.f64 y (+.f64 z z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 z (*.f64 y 3)) (*.f64 z (*.f64 y 3)))
(*.f64 6 (*.f64 y z))
(+.f64 (+.f64 (*.f64 y (+.f64 z z)) (*.f64 z (*.f64 y 3))) (*.f64 z y))
(*.f64 6 (*.f64 y z))
(-.f64 (*.f64 6 (*.f64 z y)) 0)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 6 (*.f64 z y)) 1)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 z (*.f64 y 12)) 2)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 z (*.f64 y 24)) 4)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 (*.f64 y (+.f64 z z)) 24) 8)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24)) 16)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24))) 32)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24)))) 64)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24))))) 128)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 z z)) 24)))))) 256)
(*.f64 6 (*.f64 y z))
(pow.f64 (*.f64 6 (*.f64 z y)) 1)
(*.f64 6 (*.f64 y z))
(-.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 0)
(+.f64 x (*.f64 6 (*.f64 y z)))
(*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 1)
(+.f64 x (*.f64 6 (*.f64 y z)))
(*.f64 1 (+.f64 (*.f64 6 (*.f64 z y)) x))
(+.f64 x (*.f64 6 (*.f64 y z)))
(*.f64 2 (+.f64 (*.f64 z (*.f64 y 3)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 y (*.f64 3 z)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 y (*.f64 z 3)) (*.f64 x 1/2)))
(*.f64 (+.f64 x (+.f64 x (*.f64 z (*.f64 y 12)))) 1/2)
(+.f64 x (*.f64 6 (*.f64 y z)))
(*.f64 4 (/.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4))
(+.f64 x (*.f64 6 (*.f64 y z)))
(*.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4) 1/4)
(+.f64 x (*.f64 6 (*.f64 y z)))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 z (*.f64 y 12)))))
(+.f64 x (*.f64 6 (*.f64 y z)))
(*.f64 (+.f64 (*.f64 z (*.f64 y 3)) (*.f64 x 1/2)) 2)
(*.f64 2 (+.f64 (*.f64 y (*.f64 3 z)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 y (*.f64 z 3)) (*.f64 x 1/2)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4))
(+.f64 x (*.f64 6 (*.f64 y z)))
(*.f64 (/.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4) 4)
(+.f64 x (*.f64 6 (*.f64 y z)))
(/.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 1)
(+.f64 x (*.f64 6 (*.f64 y z)))
(/.f64 (+.f64 x (+.f64 x (*.f64 z (*.f64 y 12)))) 2)
(+.f64 x (*.f64 6 (*.f64 y z)))
(/.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 4) 4)
(+.f64 x (*.f64 6 (*.f64 y z)))
(/.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8) 8)
(+.f64 x (*.f64 6 (*.f64 y z)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8)) 16)
(+.f64 x (*.f64 6 (*.f64 y z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8))) 32)
(+.f64 x (*.f64 6 (*.f64 y z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8)))) 64)
(+.f64 x (*.f64 6 (*.f64 y z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8))))) 128)
(+.f64 x (*.f64 6 (*.f64 y z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 8)))))) 256)
(+.f64 x (*.f64 6 (*.f64 y z)))
(pow.f64 (+.f64 (*.f64 6 (*.f64 z y)) x) 1)
(+.f64 x (*.f64 6 (*.f64 y z)))

localize9.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 (*.f64 -6 x) z))
0.2b
(*.f64 (*.f64 -6 x) z)
Compiler

Compiled 21 to 13 computations (38.1% saved)

series1.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite203.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
2258×rational.json-simplify-35
1572×rational.json-simplify-1
1316×rational.json-1
1316×rational.json-2
1316×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
15332
211432
325032
449132
5118832
6291832
7501732
8636932
9721232
10721232
11721232
Stop Event
node limit
Counts
2 → 49
Calls
Call 1
Inputs
(*.f64 (*.f64 -6 x) z)
(+.f64 x (*.f64 (*.f64 -6 x) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -6 (*.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -6 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 z -3)) (*.f64 x (*.f64 z -3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -6 (*.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -6 (*.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x z) -12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 z -24)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -48 (*.f64 x z)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 -48 (*.f64 x z))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -6 (*.f64 x z)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (*.f64 -6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (+.f64 1 (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 z -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (+.f64 1 (*.f64 -6 z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 1 (*.f64 -6 z)) (*.f64 x 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/4 (+.f64 1 (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 -6 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 x 8) (+.f64 1 (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 8) (*.f64 1/8 (+.f64 1 (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 1 (*.f64 -6 z))) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 z -3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (*.f64 2 (+.f64 1 (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (+.f64 2 (*.f64 z -12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 x 8)) (*.f64 1/16 (+.f64 1 (*.f64 -6 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (+.f64 1 (*.f64 -6 z)))) (*.f64 x 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (*.f64 -6 z)) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (*.f64 -6 z)) (*.f64 x 1/4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 1)))))

simplify375.0ms (1.9%)

Algorithm
egg-herbie
Rules
3290×rational.json-simplify-35
2148×rational.json-simplify-2
1812×rational.json-simplify-1
1244×rational.json-simplify-41
890×rational.json-simplify-49
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01231645
12931625
27521625
320661625
436341625
551381609
656011609
759241609
859451609
959511609
1063071609
1170241609
1271061609
1374341609
1477141609
1579631609
Stop Event
node limit
Counts
97 → 65
Calls
Call 1
Inputs
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
x
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 x z)) 0)
(+.f64 0 (*.f64 -6 (*.f64 x z)))
(+.f64 (*.f64 x (*.f64 z -3)) (*.f64 x (*.f64 z -3)))
(-.f64 (*.f64 -6 (*.f64 x z)) 0)
(/.f64 (*.f64 -6 (*.f64 x z)) 1)
(/.f64 (*.f64 (*.f64 x z) -12) 2)
(/.f64 (*.f64 x (*.f64 z -24)) 4)
(/.f64 (*.f64 -48 (*.f64 x z)) 8)
(/.f64 (*.f64 2 (*.f64 -48 (*.f64 x z))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))))) 256)
(pow.f64 (*.f64 -6 (*.f64 x z)) 1)
(-.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 0)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 1)
(*.f64 1 (*.f64 x (+.f64 1 (*.f64 -6 z))))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 z -3))))
(*.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 2) 1/2)
(*.f64 (+.f64 x x) (*.f64 (+.f64 1 (*.f64 -6 z)) 1/2))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z -3)))
(*.f64 4 (*.f64 (+.f64 1 (*.f64 -6 z)) (*.f64 x 1/4)))
(*.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 4) 1/4)
(*.f64 (*.f64 x 4) (*.f64 1/4 (+.f64 1 (*.f64 -6 z))))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 8 (*.f64 (/.f64 x 8) (+.f64 1 (*.f64 -6 z))))
(*.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8) 1/8)
(*.f64 (*.f64 x 8) (*.f64 1/8 (+.f64 1 (*.f64 -6 z))))
(*.f64 (*.f64 2 (+.f64 1 (*.f64 -6 z))) (*.f64 x 1/2))
(*.f64 1/2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 2))
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 z -3))) 2)
(*.f64 (*.f64 x 1/2) (*.f64 2 (+.f64 1 (*.f64 -6 z))))
(*.f64 (*.f64 x 1/2) (+.f64 2 (*.f64 z -12)))
(*.f64 (*.f64 2 (*.f64 x 8)) (*.f64 1/16 (+.f64 1 (*.f64 -6 z))))
(*.f64 (*.f64 2 (*.f64 2 (+.f64 1 (*.f64 -6 z)))) (*.f64 x 1/4))
(*.f64 1/4 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 4))
(*.f64 (*.f64 (+.f64 1 (*.f64 -6 z)) 1/2) (+.f64 x x))
(*.f64 (*.f64 (+.f64 1 (*.f64 -6 z)) (*.f64 x 1/4)) 4)
(/.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 1)
(/.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 2) 2)
(/.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 4) 4)
(/.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8)))))) 256)
(pow.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 1)
Outputs
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (*.f64 x -1))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (neg.f64 (+.f64 -1 (*.f64 z 6))))
(*.f64 x (-.f64 1 (*.f64 z 6)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (*.f64 x -1))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (neg.f64 (+.f64 -1 (*.f64 z 6))))
(*.f64 x (-.f64 1 (*.f64 z 6)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (*.f64 x -1))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (neg.f64 (+.f64 -1 (*.f64 z 6))))
(*.f64 x (-.f64 1 (*.f64 z 6)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (*.f64 x -1))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (neg.f64 (+.f64 -1 (*.f64 z 6))))
(*.f64 x (-.f64 1 (*.f64 z 6)))
x
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 z (*.f64 -6 x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 z (*.f64 -6 x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 z (*.f64 -6 x)))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 z (*.f64 -6 x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 z (*.f64 -6 x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 z (*.f64 -6 x)))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 z (*.f64 -6 x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 z (*.f64 -6 x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 z (*.f64 -6 x)))
(+.f64 (*.f64 -6 (*.f64 x z)) 0)
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(+.f64 0 (*.f64 -6 (*.f64 x z)))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(+.f64 (*.f64 x (*.f64 z -3)) (*.f64 x (*.f64 z -3)))
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(-.f64 (*.f64 -6 (*.f64 x z)) 0)
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(/.f64 (*.f64 -6 (*.f64 x z)) 1)
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(/.f64 (*.f64 (*.f64 x z) -12) 2)
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(/.f64 (*.f64 x (*.f64 z -24)) 4)
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(/.f64 (*.f64 -48 (*.f64 x z)) 8)
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(/.f64 (*.f64 2 (*.f64 -48 (*.f64 x z))) 16)
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))) 32)
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))) 64)
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) 128)
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))))) 256)
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(pow.f64 (*.f64 -6 (*.f64 x z)) 1)
(*.f64 -6 (*.f64 z x))
(*.f64 z (*.f64 -6 x))
(-.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 0)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 1)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 1 (*.f64 x (+.f64 1 (*.f64 -6 z))))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 z -3))))
(*.f64 2 (+.f64 (*.f64 z (*.f64 -3 x)) (*.f64 x 1/2)))
(*.f64 2 (*.f64 x (+.f64 (*.f64 z -3) 1/2)))
(*.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 2) 1/2)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 x x) (*.f64 (+.f64 1 (*.f64 -6 z)) 1/2))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z -3)))
(*.f64 (+.f64 x x) (+.f64 (*.f64 z -3) 1/2))
(*.f64 4 (*.f64 (+.f64 1 (*.f64 -6 z)) (*.f64 x 1/4)))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 4) 1/4)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (*.f64 x 4) (*.f64 1/4 (+.f64 1 (*.f64 -6 z))))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 8 (*.f64 (/.f64 x 8) (+.f64 1 (*.f64 -6 z))))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8) 1/8)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (*.f64 x 8) (*.f64 1/8 (+.f64 1 (*.f64 -6 z))))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (*.f64 2 (+.f64 1 (*.f64 -6 z))) (*.f64 x 1/2))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 1/2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 2))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 z -3))) 2)
(*.f64 2 (+.f64 (*.f64 z (*.f64 -3 x)) (*.f64 x 1/2)))
(*.f64 2 (*.f64 x (+.f64 (*.f64 z -3) 1/2)))
(*.f64 (*.f64 x 1/2) (*.f64 2 (+.f64 1 (*.f64 -6 z))))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (*.f64 x 1/2) (+.f64 2 (*.f64 z -12)))
(*.f64 1/2 (*.f64 x (+.f64 2 (*.f64 z -12))))
(*.f64 x (*.f64 1/2 (+.f64 2 (*.f64 z -12))))
(*.f64 (*.f64 2 (*.f64 x 8)) (*.f64 1/16 (+.f64 1 (*.f64 -6 z))))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (*.f64 2 (*.f64 2 (+.f64 1 (*.f64 -6 z)))) (*.f64 x 1/4))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 1/4 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 4))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (*.f64 (+.f64 1 (*.f64 -6 z)) 1/2) (+.f64 x x))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (*.f64 (+.f64 1 (*.f64 -6 z)) (*.f64 x 1/4)) 4)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(/.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 1)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(/.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 2) 2)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(/.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 4) 4)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(/.f64 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8) 8)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8)) 16)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8))) 32)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8)))) 64)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8))))) 128)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 8)))))) 256)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(pow.f64 (*.f64 x (+.f64 1 (*.f64 -6 z))) 1)
(*.f64 x (+.f64 1 (*.f64 -6 z)))

localize9.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 (*.f64 6 y) z))
0.4b
(*.f64 (*.f64 6 y) z)
Compiler

Compiled 22 to 13 computations (40.9% saved)

series1.0ms (0%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
0.0ms
y
@inf
(*.f64 (*.f64 6 y) z)
0.0ms
y
@0
(*.f64 (*.f64 6 y) z)
0.0ms
x
@inf
(+.f64 x (*.f64 (*.f64 6 y) z))
0.0ms
y
@-inf
(*.f64 (*.f64 6 y) z)
0.0ms
z
@-inf
(*.f64 (*.f64 6 y) z)

rewrite191.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1744×rational.json-simplify-35
1718×rational.json-simplify-1
1436×exponential.json-3
1436×rational.json-1
1436×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
15932
212432
326832
451032
5120932
6265132
7451632
8550532
9677632
10777832
11777832
Stop Event
node limit
Counts
2 → 37
Calls
Call 1
Inputs
(*.f64 (*.f64 6 y) z)
(+.f64 x (*.f64 (*.f64 6 y) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 (*.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 6 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (+.f64 y y)) (*.f64 y (*.f64 z 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 z 3)) (*.f64 y (*.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 z 4)) (*.f64 z (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 6 (*.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 6 (*.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 z 12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 z 24)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 48 (*.f64 y z)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 48 (*.f64 y z))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 6 (*.f64 y z)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 6 (*.f64 y z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 1)))))

simplify760.0ms (3.8%)

Algorithm
egg-herbie
Rules
6242×rational.json-simplify-41
4078×rational.json-simplify-35
1494×rational.json-simplify-2
960×rational.json-simplify-51
756×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0901525
12131525
24781525
315391525
434211525
540521525
642521525
744601525
845731525
946811525
1051241525
1152681525
1254081525
1355271525
1455431525
1555501525
1655501525
1756641525
1857691525
1958741525
2059791525
2160841525
2261891525
2362941525
2463991525
2565041525
2666091525
2767141525
2868191525
2968191525
Stop Event
node limit
Counts
97 → 42
Calls
Call 1
Inputs
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) 0)
(+.f64 0 (*.f64 6 (*.f64 y z)))
(+.f64 (*.f64 z (+.f64 y y)) (*.f64 y (*.f64 z 4)))
(+.f64 (*.f64 y (*.f64 z 3)) (*.f64 y (*.f64 z 3)))
(+.f64 (*.f64 y (*.f64 z 4)) (*.f64 z (+.f64 y y)))
(-.f64 (*.f64 6 (*.f64 y z)) 0)
(/.f64 (*.f64 6 (*.f64 y z)) 1)
(/.f64 (*.f64 y (*.f64 z 12)) 2)
(/.f64 (*.f64 y (*.f64 z 24)) 4)
(/.f64 (*.f64 48 (*.f64 y z)) 8)
(/.f64 (*.f64 2 (*.f64 48 (*.f64 y z))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))))) 256)
(pow.f64 (*.f64 6 (*.f64 y z)) 1)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 0)
(*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 1)
(*.f64 1 (+.f64 (*.f64 6 (*.f64 y z)) x))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))))
(*.f64 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4))
(*.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4) 1/4)
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))))
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4))
(*.f64 (/.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4) 4)
(/.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 1)
(/.f64 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8)))))) 256)
(pow.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 1)
Outputs
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) 0)
(*.f64 6 (*.f64 y z))
(+.f64 0 (*.f64 6 (*.f64 y z)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 z (+.f64 y y)) (*.f64 y (*.f64 z 4)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 y (*.f64 z 3)) (*.f64 y (*.f64 z 3)))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 y (*.f64 z 4)) (*.f64 z (+.f64 y y)))
(*.f64 6 (*.f64 y z))
(-.f64 (*.f64 6 (*.f64 y z)) 0)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 6 (*.f64 y z)) 1)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 y (*.f64 z 12)) 2)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 y (*.f64 z 24)) 4)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 48 (*.f64 y z)) 8)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 48 (*.f64 y z))) 16)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))) 32)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))) 64)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))))) 128)
(*.f64 6 (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))))) 256)
(*.f64 6 (*.f64 y z))
(pow.f64 (*.f64 6 (*.f64 y z)) 1)
(*.f64 6 (*.f64 y z))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 0)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 1)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 1 (+.f64 (*.f64 6 (*.f64 y z)) x))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))))
(*.f64 2 (+.f64 (*.f64 y (*.f64 z 3)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 z (*.f64 y 3))))
(*.f64 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))) 1/2)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 4 (/.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4) 1/4)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))) 2)
(*.f64 2 (+.f64 (*.f64 y (*.f64 z 3)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 z (*.f64 y 3))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 (/.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4) 4)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(/.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 1)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(/.f64 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))) 2)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(/.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 4) 4)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(/.f64 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8) 8)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8)) 16)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8))) 32)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8)))) 64)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8))))) 128)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 8)))))) 256)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(pow.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) 1)
(+.f64 (*.f64 6 (*.f64 y z)) x)

eval68.0ms (0.3%)

Compiler

Compiled 3674 to 2324 computations (36.7% saved)

prune49.0ms (0.2%)

Pruning

10 alts after pruning (5 fresh and 5 done)

PrunedKeptTotal
New3085313
Fresh000
Picked011
Done246
Total31010320
Error
0.0b
Counts
320 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
25.4b
(+.f64 x (*.f64 (-.f64 (*.f64 -5 x) x) z))
0.2b
(+.f64 x (*.f64 (-.f64 y x) (*.f64 6 z)))
11.2b
(+.f64 x (*.f64 (+.f64 y (*.f64 y 5)) z))
0.4b
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
11.2b
(+.f64 x (*.f64 (*.f64 6 y) z))
25.4b
(+.f64 x (*.f64 (*.f64 -6 x) z))
25.4b
(+.f64 x (*.f64 x (*.f64 z -6)))
11.0b
(+.f64 x (*.f64 6 (*.f64 z y)))
52.4b
(*.f64 -6 (*.f64 z x))
36.0b
x
Compiler

Compiled 100 to 69 computations (31% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(*.f64 -6 (*.f64 z x))
Compiler

Compiled 14 to 7 computations (50% saved)

localize10.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 x (*.f64 z -6)))
0.2b
(*.f64 x (*.f64 z -6))
Compiler

Compiled 21 to 13 computations (38.1% saved)

series1.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 x (*.f64 z -6))
0.0ms
z
@inf
(*.f64 x (*.f64 z -6))
0.0ms
z
@-inf
(*.f64 x (*.f64 z -6))
0.0ms
x
@inf
(*.f64 x (*.f64 z -6))
0.0ms
x
@-inf
(*.f64 x (*.f64 z -6))

rewrite193.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
2256×rational.json-simplify-35
1612×rational.json-simplify-1
1312×exponential.json-3
1312×rational.json-1
1312×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
15532
212732
328132
453632
5126532
6284532
7497732
8616632
9714632
10714632
11714632
Stop Event
node limit
Counts
2 → 45
Calls
Call 1
Inputs
(*.f64 x (*.f64 z -6))
(+.f64 x (*.f64 x (*.f64 z -6)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 z -6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 z -6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 z -3)) (*.f64 x (*.f64 z -3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 z -6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 z -6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 z -12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 z -24)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -48 (*.f64 x z)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 -48 (*.f64 x z))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 z -6)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 z -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 x (*.f64 z -6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 z -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (+.f64 (*.f64 z -6) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 (+.f64 (*.f64 z -6) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 2 (*.f64 z -12))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 z -6) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x x) (+.f64 2 (*.f64 z -12))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 z -12)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x (+.f64 2 (*.f64 z -12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (+.f64 2 (*.f64 z -12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 z -3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 z -6) 1) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x x) (+.f64 2 (*.f64 z -12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 z -6) 1) 2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1/2 (*.f64 z -3)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 2 (*.f64 z -12))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x x) (+.f64 2 (*.f64 z -12))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 1)))))

simplify352.0ms (1.8%)

Algorithm
egg-herbie
Rules
2864×rational.json-simplify-35
2398×rational.json-simplify-2
1072×rational.json-simplify-1
826×rational.json-simplify-53
776×rational.json-simplify-51
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01111617
12541597
25051597
313651573
431811573
540841557
645011557
748151557
850881557
953221557
1053551557
1155711557
1256561557
1358131557
1459951557
1566201557
1675641557
Stop Event
node limit
Counts
93 → 63
Calls
Call 1
Inputs
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
x
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 (*.f64 x (*.f64 z -6)) 0)
(+.f64 0 (*.f64 x (*.f64 z -6)))
(+.f64 (*.f64 x (*.f64 z -3)) (*.f64 x (*.f64 z -3)))
(-.f64 (*.f64 x (*.f64 z -6)) 0)
(/.f64 (*.f64 x (*.f64 z -6)) 1)
(/.f64 (*.f64 x (*.f64 z -12)) 2)
(/.f64 (*.f64 x (*.f64 z -24)) 4)
(/.f64 (*.f64 -48 (*.f64 x z)) 8)
(/.f64 (*.f64 2 (*.f64 -48 (*.f64 x z))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))))) 256)
(pow.f64 (*.f64 x (*.f64 z -6)) 1)
(-.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 0)
(*.f64 x (+.f64 (*.f64 z -6) 1))
(*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 1)
(*.f64 1 (+.f64 x (*.f64 x (*.f64 z -6))))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 z -3))))
(*.f64 (+.f64 x x) (*.f64 (+.f64 (*.f64 z -6) 1) 1/2))
(*.f64 (+.f64 x x) (/.f64 (+.f64 (*.f64 z -6) 1) 2))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z -3)))
(*.f64 (*.f64 x (+.f64 2 (*.f64 z -12))) 1/2)
(*.f64 (+.f64 (*.f64 z -6) 1) x)
(*.f64 4 (/.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 4))
(*.f64 (*.f64 (+.f64 x x) (+.f64 2 (*.f64 z -12))) 1/4)
(*.f64 (+.f64 2 (*.f64 z -12)) (*.f64 x 1/2))
(*.f64 1/2 (*.f64 x (+.f64 2 (*.f64 z -12))))
(*.f64 (*.f64 x 1/2) (+.f64 2 (*.f64 z -12)))
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 z -3))) 2)
(*.f64 (*.f64 (+.f64 (*.f64 z -6) 1) 1/2) (+.f64 x x))
(*.f64 1/4 (*.f64 (+.f64 x x) (+.f64 2 (*.f64 z -12))))
(*.f64 (/.f64 (+.f64 (*.f64 z -6) 1) 2) (+.f64 x x))
(*.f64 (/.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 4) 4)
(*.f64 (+.f64 1/2 (*.f64 z -3)) (+.f64 x x))
(/.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 1)
(/.f64 (*.f64 x (+.f64 2 (*.f64 z -12))) 2)
(/.f64 (*.f64 (+.f64 x x) (+.f64 2 (*.f64 z -12))) 4)
(/.f64 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8)))))) 256)
(pow.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 1)
Outputs
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (*.f64 x -1))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (-.f64 1 (*.f64 z 6)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (*.f64 x -1))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (-.f64 1 (*.f64 z 6)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (*.f64 x -1))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (-.f64 1 (*.f64 z 6)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (*.f64 x -1))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (-.f64 1 (*.f64 z 6)))
x
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 -6 (*.f64 z x)) x)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 (*.f64 x (*.f64 z -6)) 0)
(*.f64 -6 (*.f64 z x))
(+.f64 0 (*.f64 x (*.f64 z -6)))
(*.f64 -6 (*.f64 z x))
(+.f64 (*.f64 x (*.f64 z -3)) (*.f64 x (*.f64 z -3)))
(*.f64 -6 (*.f64 z x))
(-.f64 (*.f64 x (*.f64 z -6)) 0)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 x (*.f64 z -6)) 1)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 x (*.f64 z -12)) 2)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 x (*.f64 z -24)) 4)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 -48 (*.f64 x z)) 8)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 2 (*.f64 -48 (*.f64 x z))) 16)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))) 32)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))) 64)
(*.f64 -6 (*.f64 z x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) 128)
(*.f64 -6 (*.f64 z x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))))) 256)
(*.f64 -6 (*.f64 z x))
(pow.f64 (*.f64 x (*.f64 z -6)) 1)
(*.f64 -6 (*.f64 z x))
(-.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 0)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 x (+.f64 (*.f64 z -6) 1))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 1)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 1 (+.f64 x (*.f64 x (*.f64 z -6))))
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 z -3))))
(*.f64 2 (+.f64 (*.f64 z (*.f64 -3 x)) (*.f64 x 1/2)))
(*.f64 2 (*.f64 x (+.f64 (*.f64 z -3) 1/2)))
(*.f64 x (*.f64 (+.f64 (*.f64 z -3) 1/2) 2))
(*.f64 x (*.f64 2 (+.f64 (*.f64 z -3) 1/2)))
(*.f64 (+.f64 x x) (*.f64 (+.f64 (*.f64 z -6) 1) 1/2))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 x x) (/.f64 (+.f64 (*.f64 z -6) 1) 2))
(*.f64 (+.f64 x x) (/.f64 (+.f64 1 (*.f64 -6 z)) 2))
(*.f64 x (/.f64 (+.f64 (*.f64 z -12) 2) 2))
(*.f64 (+.f64 (*.f64 z -12) 2) (/.f64 x 2))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z -3)))
(*.f64 (+.f64 x x) (+.f64 (*.f64 z -3) 1/2))
(*.f64 (*.f64 x (+.f64 2 (*.f64 z -12))) 1/2)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 (*.f64 z -6) 1) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 4 (/.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 4))
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 (*.f64 (+.f64 x x) (+.f64 2 (*.f64 z -12))) 1/4)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 2 (*.f64 z -12)) (*.f64 x 1/2))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 1/2 (*.f64 x (+.f64 2 (*.f64 z -12))))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (*.f64 x 1/2) (+.f64 2 (*.f64 z -12)))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 z -3))) 2)
(*.f64 2 (+.f64 (*.f64 z (*.f64 -3 x)) (*.f64 x 1/2)))
(*.f64 2 (*.f64 x (+.f64 (*.f64 z -3) 1/2)))
(*.f64 x (*.f64 (+.f64 (*.f64 z -3) 1/2) 2))
(*.f64 x (*.f64 2 (+.f64 (*.f64 z -3) 1/2)))
(*.f64 (*.f64 (+.f64 (*.f64 z -6) 1) 1/2) (+.f64 x x))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 1/4 (*.f64 (+.f64 x x) (+.f64 2 (*.f64 z -12))))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (/.f64 (+.f64 (*.f64 z -6) 1) 2) (+.f64 x x))
(*.f64 (+.f64 x x) (/.f64 (+.f64 1 (*.f64 -6 z)) 2))
(*.f64 x (/.f64 (+.f64 (*.f64 z -12) 2) 2))
(*.f64 (+.f64 (*.f64 z -12) 2) (/.f64 x 2))
(*.f64 (/.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 4) 4)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(*.f64 (+.f64 1/2 (*.f64 z -3)) (+.f64 x x))
(*.f64 (+.f64 x x) (+.f64 (*.f64 z -3) 1/2))
(/.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 1)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(/.f64 (*.f64 x (+.f64 2 (*.f64 z -12))) 2)
(*.f64 (+.f64 x x) (/.f64 (+.f64 1 (*.f64 -6 z)) 2))
(*.f64 x (/.f64 (+.f64 (*.f64 z -12) 2) 2))
(*.f64 (+.f64 (*.f64 z -12) 2) (/.f64 x 2))
(/.f64 (*.f64 (+.f64 x x) (+.f64 2 (*.f64 z -12))) 4)
(*.f64 (+.f64 x x) (/.f64 (+.f64 1 (*.f64 -6 z)) 2))
(*.f64 x (/.f64 (+.f64 (*.f64 z -12) 2) 2))
(*.f64 (+.f64 (*.f64 z -12) 2) (/.f64 x 2))
(/.f64 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8) 8)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8)) 16)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8))) 32)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8)))) 64)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8))))) 128)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 8)))))) 256)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(pow.f64 (+.f64 x (*.f64 x (*.f64 z -6))) 1)
(+.f64 x (*.f64 -6 (*.f64 z x)))

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 (+.f64 y (*.f64 y 5)) z))
0.4b
(*.f64 (+.f64 y (*.f64 y 5)) z)
0.5b
(+.f64 y (*.f64 y 5))
Compiler

Compiled 31 to 18 computations (41.9% saved)

series5.0ms (0%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
2.0ms
z
@-inf
(+.f64 x (*.f64 (+.f64 y (*.f64 y 5)) z))
0.0ms
z
@0
(*.f64 (+.f64 y (*.f64 y 5)) z)
0.0ms
y
@0
(+.f64 y (*.f64 y 5))
0.0ms
y
@inf
(+.f64 y (*.f64 y 5))
0.0ms
z
@inf
(*.f64 (+.f64 y (*.f64 y 5)) z)

rewrite217.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1774×rational.json-simplify-35
1468×rational.json-1
1468×rational.json-2
1468×rational.json-3
1454×rational.json-4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01057
16639
213439
328439
456339
5137139
6285339
7443539
8552339
9646039
10718839
11718839
12761839
Stop Event
node limit
Counts
3 → 69
Calls
Call 1
Inputs
(+.f64 y (*.f64 y 5))
(*.f64 (+.f64 y (*.f64 y 5)) z)
(+.f64 x (*.f64 (+.f64 y (*.f64 y 5)) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y 6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y 6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 y 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 12) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 y 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 24) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 12 (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 y 12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y 10) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/2) 12)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 y 24))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/2 (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y 10) (+.f64 y y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 24) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y 6) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y 6) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 6) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 6) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 6) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 6) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y 6) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 z 6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 z 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 z 3)) (*.f64 y (*.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 z 4)) (*.f64 z (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 z 6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 z 6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 z 12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 y 24)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 48 (*.f64 y z)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 48 (*.f64 y z))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 z 6)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y (*.f64 z 6)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (/.f64 x 2) (*.f64 y (*.f64 z 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 x (*.f64 y (*.f64 z 12)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x (+.f64 x (*.f64 y (*.f64 z 12)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y (*.f64 z 12)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 x 2) (*.f64 y (*.f64 z 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y (*.f64 z 12)) (+.f64 x x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x (*.f64 y (*.f64 z 12)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 1)))))

simplify271.0ms (1.4%)

Algorithm
egg-herbie
Rules
2774×rational.json-simplify-2
2130×rational.json-simplify-35
1886×rational.json-simplify-53
1010×exponential.json-simplify-26
920×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01472085
13312085
28342085
322722085
441352085
551652085
660342085
763212085
865202085
965292085
1077092085
1177092085
Stop Event
node limit
Counts
141 → 82
Calls
Call 1
Inputs
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
x
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
x
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(*.f64 z (+.f64 y (*.f64 5 y)))
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(*.f64 z (+.f64 y (*.f64 5 y)))
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(-.f64 (*.f64 y 6) 0)
(*.f64 y 6)
(*.f64 (*.f64 y 6) 1)
(*.f64 1 (*.f64 y 6))
(*.f64 2 (*.f64 y 3))
(*.f64 (*.f64 y 12) 1/2)
(*.f64 (+.f64 y y) 3)
(*.f64 6 y)
(*.f64 4 (*.f64 y 3/2))
(*.f64 (*.f64 y 24) 1/4)
(*.f64 (*.f64 y 4) 3/2)
(*.f64 12 (*.f64 y 1/2))
(*.f64 1/2 (*.f64 y 12))
(*.f64 1/2 (+.f64 (*.f64 y 10) (+.f64 y y)))
(*.f64 (*.f64 y 3) 2)
(*.f64 (*.f64 y 1/2) 12)
(*.f64 3 (+.f64 y y))
(*.f64 1/4 (*.f64 y 24))
(*.f64 3/2 (*.f64 y 4))
(*.f64 (*.f64 y 3/2) 4)
(*.f64 (+.f64 (*.f64 y 10) (+.f64 y y)) 1/2)
(/.f64 (*.f64 y 6) 1)
(/.f64 (*.f64 y 12) 2)
(/.f64 (*.f64 y 24) 4)
(/.f64 (*.f64 (*.f64 y 6) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 y 6) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 6) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 6) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 6) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 6) 8)))))) 256)
(pow.f64 (*.f64 y 6) 1)
(+.f64 (*.f64 y (*.f64 z 6)) 0)
(+.f64 0 (*.f64 y (*.f64 z 6)))
(+.f64 (*.f64 y (*.f64 z 3)) (*.f64 y (*.f64 z 3)))
(+.f64 (*.f64 y (*.f64 z 4)) (*.f64 z (+.f64 y y)))
(-.f64 (*.f64 y (*.f64 z 6)) 0)
(/.f64 (*.f64 y (*.f64 z 6)) 1)
(/.f64 (*.f64 y (*.f64 z 12)) 2)
(/.f64 (*.f64 z (*.f64 y 24)) 4)
(/.f64 (*.f64 48 (*.f64 y z)) 8)
(/.f64 (*.f64 2 (*.f64 48 (*.f64 y z))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))))) 256)
(pow.f64 (*.f64 y (*.f64 z 6)) 1)
(-.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 0)
(*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 1)
(*.f64 1 (+.f64 (*.f64 y (*.f64 z 6)) x))
(*.f64 2 (+.f64 (/.f64 x 2) (*.f64 y (*.f64 z 3))))
(*.f64 (+.f64 x (+.f64 x (*.f64 y (*.f64 z 12)))) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4) 1/4)
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 y (*.f64 z 12)))))
(*.f64 1/2 (+.f64 (*.f64 y (*.f64 z 12)) (+.f64 x x)))
(*.f64 (+.f64 (/.f64 x 2) (*.f64 y (*.f64 z 3))) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4) 4)
(*.f64 (+.f64 (*.f64 y (*.f64 z 12)) (+.f64 x x)) 1/2)
(/.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 1)
(/.f64 (+.f64 x (+.f64 x (*.f64 y (*.f64 z 12)))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8)))))) 256)
(pow.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 1)
Outputs
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
x
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
x
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
x
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(*.f64 z (+.f64 y (*.f64 5 y)))
(*.f64 z (+.f64 y (*.f64 y 5)))
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 5 y))) x)
(+.f64 (*.f64 z (+.f64 y (*.f64 y 5))) x)
(-.f64 (*.f64 y 6) 0)
(*.f64 6 y)
(*.f64 y 6)
(*.f64 6 y)
(*.f64 (*.f64 y 6) 1)
(*.f64 6 y)
(*.f64 1 (*.f64 y 6))
(*.f64 6 y)
(*.f64 2 (*.f64 y 3))
(*.f64 6 y)
(*.f64 (*.f64 y 12) 1/2)
(*.f64 6 y)
(*.f64 (+.f64 y y) 3)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 4 (*.f64 y 3/2))
(*.f64 6 y)
(*.f64 (*.f64 y 24) 1/4)
(*.f64 6 y)
(*.f64 (*.f64 y 4) 3/2)
(*.f64 6 y)
(*.f64 12 (*.f64 y 1/2))
(*.f64 6 y)
(*.f64 1/2 (*.f64 y 12))
(*.f64 6 y)
(*.f64 1/2 (+.f64 (*.f64 y 10) (+.f64 y y)))
(*.f64 1/2 (+.f64 (+.f64 y y) (*.f64 y 10)))
(*.f64 1/2 (+.f64 y (+.f64 y (*.f64 y 10))))
(*.f64 (*.f64 y 3) 2)
(*.f64 6 y)
(*.f64 (*.f64 y 1/2) 12)
(*.f64 6 y)
(*.f64 3 (+.f64 y y))
(*.f64 6 y)
(*.f64 1/4 (*.f64 y 24))
(*.f64 6 y)
(*.f64 3/2 (*.f64 y 4))
(*.f64 6 y)
(*.f64 (*.f64 y 3/2) 4)
(*.f64 6 y)
(*.f64 (+.f64 (*.f64 y 10) (+.f64 y y)) 1/2)
(*.f64 1/2 (+.f64 (+.f64 y y) (*.f64 y 10)))
(*.f64 1/2 (+.f64 y (+.f64 y (*.f64 y 10))))
(/.f64 (*.f64 y 6) 1)
(*.f64 6 y)
(/.f64 (*.f64 y 12) 2)
(*.f64 6 y)
(/.f64 (*.f64 y 24) 4)
(*.f64 6 y)
(/.f64 (*.f64 (*.f64 y 6) 8) 8)
(*.f64 6 y)
(/.f64 (*.f64 2 (*.f64 (*.f64 y 6) 8)) 16)
(*.f64 6 y)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 6) 8))) 32)
(*.f64 6 y)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 6) 8)))) 64)
(*.f64 6 y)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 6) 8))))) 128)
(*.f64 6 y)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 6) 8)))))) 256)
(*.f64 6 y)
(pow.f64 (*.f64 y 6) 1)
(*.f64 6 y)
(+.f64 (*.f64 y (*.f64 z 6)) 0)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 0 (*.f64 y (*.f64 z 6)))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 (*.f64 y (*.f64 z 3)) (*.f64 y (*.f64 z 3)))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 (*.f64 y (*.f64 z 4)) (*.f64 z (+.f64 y y)))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(-.f64 (*.f64 y (*.f64 z 6)) 0)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 y (*.f64 z 6)) 1)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 y (*.f64 z 12)) 2)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 z (*.f64 y 24)) 4)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 48 (*.f64 y z)) 8)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 2 (*.f64 48 (*.f64 y z))) 16)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))) 32)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))) 64)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))))) 128)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))))) 256)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(pow.f64 (*.f64 y (*.f64 z 6)) 1)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(-.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 0)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 1)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 1 (+.f64 (*.f64 y (*.f64 z 6)) x))
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 2 (+.f64 (/.f64 x 2) (*.f64 y (*.f64 z 3))))
(*.f64 2 (+.f64 (*.f64 y (*.f64 z 3)) (/.f64 x 2)))
(*.f64 (+.f64 x (+.f64 x (*.f64 y (*.f64 z 12)))) 1/2)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 4 (/.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4))
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4) 1/4)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 y (*.f64 z 12)))))
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 1/2 (+.f64 (*.f64 y (*.f64 z 12)) (+.f64 x x)))
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 (+.f64 (/.f64 x 2) (*.f64 y (*.f64 z 3))) 2)
(*.f64 2 (+.f64 (*.f64 y (*.f64 z 3)) (/.f64 x 2)))
(*.f64 2 (+.f64 (/.f64 x 2) (*.f64 y (*.f64 z 3))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4))
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4) 4)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 (+.f64 (*.f64 y (*.f64 z 12)) (+.f64 x x)) 1/2)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 1)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (+.f64 x (+.f64 x (*.f64 y (*.f64 z 12)))) 2)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 4) 4)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8) 8)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8)) 16)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8))) 32)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8)))) 64)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8))))) 128)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 8)))))) 256)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(pow.f64 (+.f64 (*.f64 y (*.f64 z 6)) x) 1)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 (-.f64 (*.f64 -5 x) x) z))
0.2b
(*.f64 (-.f64 (*.f64 -5 x) x) z)
0.5b
(-.f64 (*.f64 -5 x) x)
Compiler

Compiled 30 to 18 computations (40% saved)

series2.0ms (0%)

Counts
3 → 48
Calls

15 calls:

TimeVariablePointExpression
0.0ms
z
@0
(*.f64 (-.f64 (*.f64 -5 x) x) z)
0.0ms
z
@inf
(*.f64 (-.f64 (*.f64 -5 x) x) z)
0.0ms
x
@0
(-.f64 (*.f64 -5 x) x)
0.0ms
z
@-inf
(*.f64 (-.f64 (*.f64 -5 x) x) z)
0.0ms
x
@0
(*.f64 (-.f64 (*.f64 -5 x) x) z)

rewrite94.0ms (0.5%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0957
15939
212539
327539
454439
5133639
6329939
7609739
Stop Event
node limit
Counts
3 → 93
Calls
Call 1
Inputs
(-.f64 (*.f64 -5 x) x)
(*.f64 (-.f64 (*.f64 -5 x) x) z)
(+.f64 x (*.f64 (-.f64 (*.f64 -5 x) x) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -5 x) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 x -6) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 x) (*.f64 -5 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 x -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -6) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -3) (*.f64 x -3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -5/2) (-.f64 (*.f64 x -5/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 x) (+.f64 (*.f64 -5 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (*.f64 x -6) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 -5 x) 1) (-.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -6) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x -6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -12) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) -3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 6) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -6 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (neg.f64 (*.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (*.f64 -5 x) 4) (/.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -24) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) 6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 x 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -12 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x -12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) -12)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -3 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x -24))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 x -20) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 x 3/2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 6) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -24) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 12) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x -6) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 12)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x -6) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x 12))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x -6) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 x 12))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 12)))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x -6) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 x 12)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x -6) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x -6) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 x 12)))) (*.f64 2 (neg.f64 (*.f64 2 (*.f64 x 12))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x -6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x 6))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x -6) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 x -6) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 x -3)) (*.f64 z (*.f64 x -3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 x -6) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x -6) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 z -12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x z) -24) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -48 (*.f64 x z)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 -48 (*.f64 x z))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x -6) z) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (*.f64 z -6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 (*.f64 x -6) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 z (*.f64 x -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (+.f64 1/2 (*.f64 (*.f64 z -6) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (+.f64 2 (*.f64 z -12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/2) (*.f64 z (*.f64 x -3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 z -6)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 1 (*.f64 z -6))) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 z -12)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1/2 (*.f64 (*.f64 z -6) 1/2)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 1)))))

simplify158.0ms (0.8%)

Algorithm
egg-herbie
Rules
1930×rational.json-simplify-35
1574×rational.json-simplify-53
1036×rational.json-simplify-1
948×rational.json-simplify-49
732×exponential.json-simplify-26
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
02011993
14391969
211331969
330131969
441521801
553061785
666071785
777401785
Stop Event
node limit
Counts
141 → 114
Calls
Call 1
Inputs
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 z x))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
x
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(*.f64 (-.f64 (*.f64 -5 x) x) z)
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(*.f64 (-.f64 (*.f64 -5 x) x) z)
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 (*.f64 -5 x) (neg.f64 x))
(+.f64 (*.f64 x -6) 0)
(+.f64 0 (*.f64 x -6))
(+.f64 1 (+.f64 (*.f64 x -6) -1))
(+.f64 (neg.f64 x) (*.f64 -5 x))
(+.f64 -1 (+.f64 (*.f64 x -6) 1))
(+.f64 (+.f64 (*.f64 x -6) 1) -1)
(+.f64 (*.f64 x -3) (*.f64 x -3))
(+.f64 (*.f64 x -5/2) (-.f64 (*.f64 x -5/2) x))
(+.f64 (-.f64 1 x) (+.f64 (*.f64 -5 x) -1))
(+.f64 -2 (+.f64 (*.f64 x -6) 2))
(+.f64 (+.f64 (*.f64 -5 x) 1) (-.f64 -1 x))
(+.f64 (+.f64 (*.f64 x -6) 2) -2)
(*.f64 x -6)
(*.f64 (*.f64 x -6) 1)
(*.f64 1 (*.f64 x -6))
(*.f64 2 (*.f64 x -3))
(*.f64 (*.f64 x -12) 1/2)
(*.f64 (+.f64 x x) -3)
(*.f64 (*.f64 x 6) -1)
(*.f64 -6 x)
(*.f64 4 (neg.f64 (*.f64 x 3/2)))
(*.f64 4 (-.f64 (/.f64 (*.f64 -5 x) 4) (/.f64 x 4)))
(*.f64 (*.f64 x -24) 1/4)
(*.f64 (neg.f64 x) 6)
(*.f64 6 (neg.f64 x))
(*.f64 -1 (*.f64 x 6))
(*.f64 -12 (*.f64 x 1/2))
(*.f64 1/2 (*.f64 x -12))
(*.f64 (*.f64 x 1/2) -12)
(*.f64 (*.f64 x -3) 2)
(*.f64 -3 (+.f64 x x))
(*.f64 1/4 (*.f64 x -24))
(*.f64 1/4 (-.f64 (*.f64 x -20) (*.f64 x 4)))
(*.f64 (neg.f64 (*.f64 x 3/2)) 4)
(/.f64 (*.f64 x -6) 1)
(/.f64 (*.f64 x -12) 2)
(/.f64 (*.f64 x 6) -1)
(/.f64 (*.f64 x -24) 4)
(/.f64 (*.f64 x 12) -2)
(/.f64 (*.f64 (*.f64 x -6) 8) 8)
(/.f64 (*.f64 2 (*.f64 x 12)) -4)
(/.f64 (*.f64 2 (*.f64 (*.f64 x -6) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 12))) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x -6) 8))) 32)
(/.f64 (neg.f64 (*.f64 2 (*.f64 x 12))) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 12)))) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x -6) 8)))) 64)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 x 12)))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x -6) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x -6) 8))))) 128)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 x 12)))) (*.f64 2 (neg.f64 (*.f64 2 (*.f64 x 12))))) 16)
(pow.f64 (*.f64 x -6) 1)
(neg.f64 (*.f64 x 6))
(+.f64 (*.f64 (*.f64 x -6) z) 0)
(+.f64 0 (*.f64 (*.f64 x -6) z))
(+.f64 (*.f64 z (*.f64 x -3)) (*.f64 z (*.f64 x -3)))
(-.f64 (*.f64 (*.f64 x -6) z) 0)
(/.f64 (*.f64 (*.f64 x -6) z) 1)
(/.f64 (*.f64 x (*.f64 z -12)) 2)
(/.f64 (*.f64 (*.f64 x z) -24) 4)
(/.f64 (*.f64 -48 (*.f64 x z)) 8)
(/.f64 (*.f64 2 (*.f64 -48 (*.f64 x z))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) 128)
(pow.f64 (*.f64 (*.f64 x -6) z) 1)
(-.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 0)
(*.f64 x (+.f64 1 (*.f64 z -6)))
(*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 1)
(*.f64 1 (+.f64 x (*.f64 (*.f64 x -6) z)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 z (*.f64 x -3))))
(*.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 2) 1/2)
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 (*.f64 z -6) 1/2)))
(*.f64 4 (/.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4))
(*.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 2))
(*.f64 (*.f64 x 1/2) (+.f64 2 (*.f64 z -12)))
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 z (*.f64 x -3))) 2)
(*.f64 (+.f64 1 (*.f64 z -6)) x)
(*.f64 (*.f64 2 (+.f64 1 (*.f64 z -6))) (*.f64 x 1/2))
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4))
(*.f64 (/.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4) 4)
(*.f64 (+.f64 2 (*.f64 z -12)) (*.f64 x 1/2))
(*.f64 (+.f64 1/2 (*.f64 (*.f64 z -6) 1/2)) (+.f64 x x))
(/.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 1)
(/.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 2) 2)
(/.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4) 4)
(/.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8))))) 128)
(pow.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 1)
Outputs
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 -6 (*.f64 z x))
(*.f64 -6 (*.f64 x z))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 1 (*.f64 -6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (neg.f64 x))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (neg.f64 (+.f64 -1 (*.f64 z 6))))
(*.f64 x (-.f64 1 (*.f64 z 6)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (neg.f64 x))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (neg.f64 (+.f64 -1 (*.f64 z 6))))
(*.f64 x (-.f64 1 (*.f64 z 6)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (neg.f64 x))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (neg.f64 (+.f64 -1 (*.f64 z 6))))
(*.f64 x (-.f64 1 (*.f64 z 6)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 (+.f64 (*.f64 z 6) -1) (neg.f64 x))
(*.f64 (+.f64 -1 (*.f64 z 6)) (neg.f64 x))
(*.f64 x (neg.f64 (+.f64 -1 (*.f64 z 6))))
(*.f64 x (-.f64 1 (*.f64 z 6)))
x
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(*.f64 (-.f64 (*.f64 -5 x) x) z)
(*.f64 -6 (*.f64 x z))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(*.f64 (-.f64 (*.f64 -5 x) x) z)
(*.f64 -6 (*.f64 x z))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(+.f64 (*.f64 (-.f64 (*.f64 -5 x) x) z) x)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(+.f64 (*.f64 -5 x) (neg.f64 x))
(*.f64 -6 x)
(+.f64 (*.f64 x -6) 0)
(*.f64 -6 x)
(+.f64 0 (*.f64 x -6))
(*.f64 -6 x)
(+.f64 1 (+.f64 (*.f64 x -6) -1))
(*.f64 -6 x)
(+.f64 (neg.f64 x) (*.f64 -5 x))
(*.f64 -6 x)
(+.f64 -1 (+.f64 (*.f64 x -6) 1))
(*.f64 -6 x)
(+.f64 (+.f64 (*.f64 x -6) 1) -1)
(*.f64 -6 x)
(+.f64 (*.f64 x -3) (*.f64 x -3))
(*.f64 -6 x)
(+.f64 (*.f64 x -5/2) (-.f64 (*.f64 x -5/2) x))
(+.f64 (*.f64 x -5/2) (*.f64 x -7/2))
(+.f64 (-.f64 1 x) (+.f64 (*.f64 -5 x) -1))
(*.f64 -6 x)
(+.f64 -2 (+.f64 (*.f64 x -6) 2))
(*.f64 -6 x)
(+.f64 (+.f64 (*.f64 -5 x) 1) (-.f64 -1 x))
(*.f64 -6 x)
(+.f64 (+.f64 (*.f64 x -6) 2) -2)
(*.f64 -6 x)
(*.f64 x -6)
(*.f64 -6 x)
(*.f64 (*.f64 x -6) 1)
(*.f64 -6 x)
(*.f64 1 (*.f64 x -6))
(*.f64 -6 x)
(*.f64 2 (*.f64 x -3))
(*.f64 -6 x)
(*.f64 (*.f64 x -12) 1/2)
(*.f64 -6 x)
(*.f64 (+.f64 x x) -3)
(*.f64 -6 x)
(*.f64 (*.f64 x 6) -1)
(*.f64 -6 x)
(*.f64 -6 x)
(*.f64 4 (neg.f64 (*.f64 x 3/2)))
(*.f64 -6 x)
(*.f64 4 (-.f64 (/.f64 (*.f64 -5 x) 4) (/.f64 x 4)))
(*.f64 4 (-.f64 (*.f64 x -5/4) (/.f64 x 4)))
(*.f64 (*.f64 x -24) 1/4)
(*.f64 -6 x)
(*.f64 (neg.f64 x) 6)
(*.f64 -6 x)
(*.f64 6 (neg.f64 x))
(*.f64 -6 x)
(*.f64 -1 (*.f64 x 6))
(*.f64 -6 x)
(*.f64 -12 (*.f64 x 1/2))
(*.f64 -6 x)
(*.f64 1/2 (*.f64 x -12))
(*.f64 -6 x)
(*.f64 (*.f64 x 1/2) -12)
(*.f64 -6 x)
(*.f64 (*.f64 x -3) 2)
(*.f64 -6 x)
(*.f64 -3 (+.f64 x x))
(*.f64 -6 x)
(*.f64 1/4 (*.f64 x -24))
(*.f64 -6 x)
(*.f64 1/4 (-.f64 (*.f64 x -20) (*.f64 x 4)))
(*.f64 -6 x)
(*.f64 (neg.f64 (*.f64 x 3/2)) 4)
(*.f64 -6 x)
(/.f64 (*.f64 x -6) 1)
(*.f64 -6 x)
(/.f64 (*.f64 x -12) 2)
(*.f64 -6 x)
(/.f64 (*.f64 x 6) -1)
(*.f64 -6 x)
(/.f64 (*.f64 x -24) 4)
(*.f64 -6 x)
(/.f64 (*.f64 x 12) -2)
(*.f64 -6 x)
(/.f64 (*.f64 (*.f64 x -6) 8) 8)
(*.f64 -6 x)
(/.f64 (*.f64 2 (*.f64 x 12)) -4)
(*.f64 -6 x)
(/.f64 (*.f64 2 (*.f64 (*.f64 x -6) 8)) 16)
(*.f64 -6 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 12))) -8)
(*.f64 -6 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x -6) 8))) 32)
(*.f64 -6 x)
(/.f64 (neg.f64 (*.f64 2 (*.f64 x 12))) 4)
(*.f64 -6 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 12)))) -16)
(*.f64 -6 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x -6) 8)))) 64)
(*.f64 -6 x)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 x 12)))) 8)
(*.f64 -6 x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x -6) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x -6) 8))))) 128)
(*.f64 -6 x)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 x 12)))) (*.f64 2 (neg.f64 (*.f64 2 (*.f64 x 12))))) 16)
(*.f64 -6 x)
(pow.f64 (*.f64 x -6) 1)
(*.f64 -6 x)
(neg.f64 (*.f64 x 6))
(*.f64 -6 x)
(+.f64 (*.f64 (*.f64 x -6) z) 0)
(*.f64 -6 (*.f64 x z))
(+.f64 0 (*.f64 (*.f64 x -6) z))
(*.f64 -6 (*.f64 x z))
(+.f64 (*.f64 z (*.f64 x -3)) (*.f64 z (*.f64 x -3)))
(*.f64 -6 (*.f64 x z))
(-.f64 (*.f64 (*.f64 x -6) z) 0)
(*.f64 -6 (*.f64 x z))
(/.f64 (*.f64 (*.f64 x -6) z) 1)
(*.f64 -6 (*.f64 x z))
(/.f64 (*.f64 x (*.f64 z -12)) 2)
(*.f64 -6 (*.f64 x z))
(/.f64 (*.f64 (*.f64 x z) -24) 4)
(*.f64 -6 (*.f64 x z))
(/.f64 (*.f64 -48 (*.f64 x z)) 8)
(*.f64 -6 (*.f64 x z))
(/.f64 (*.f64 2 (*.f64 -48 (*.f64 x z))) 16)
(*.f64 -6 (*.f64 x z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))) 32)
(*.f64 -6 (*.f64 x z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))) 64)
(*.f64 -6 (*.f64 x z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -48 (*.f64 x z)))))) 128)
(*.f64 -6 (*.f64 x z))
(pow.f64 (*.f64 (*.f64 x -6) z) 1)
(*.f64 -6 (*.f64 x z))
(-.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 0)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(*.f64 x (+.f64 1 (*.f64 z -6)))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 1)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(*.f64 1 (+.f64 x (*.f64 (*.f64 x -6) z)))
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 z (*.f64 x -3))))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 -3 z))))
(*.f64 2 (*.f64 x (+.f64 1/2 (*.f64 z -3))))
(*.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 2) 1/2)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 (*.f64 z -6) 1/2)))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 1/2 (*.f64 -6 z))))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z -3)))
(*.f64 4 (/.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4))
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(*.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4) 1/4)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 2))
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(*.f64 (*.f64 x 1/2) (+.f64 2 (*.f64 z -12)))
(*.f64 x (*.f64 1/2 (+.f64 2 (*.f64 z -12))))
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 z (*.f64 x -3))) 2)
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 x (*.f64 -3 z))))
(*.f64 2 (*.f64 x (+.f64 1/2 (*.f64 z -3))))
(*.f64 (+.f64 1 (*.f64 z -6)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 (*.f64 2 (+.f64 1 (*.f64 z -6))) (*.f64 x 1/2))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4))
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(*.f64 (/.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4) 4)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(*.f64 (+.f64 2 (*.f64 z -12)) (*.f64 x 1/2))
(*.f64 x (*.f64 1/2 (+.f64 2 (*.f64 z -12))))
(*.f64 (*.f64 x 1/2) (+.f64 2 (*.f64 z -12)))
(*.f64 (+.f64 1/2 (*.f64 (*.f64 z -6) 1/2)) (+.f64 x x))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 1/2 (*.f64 -6 z))))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z -3)))
(/.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 1)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(/.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 2) 2)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(/.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 4) 4)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(/.f64 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8) 8)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8)) 16)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8))) 32)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8)))) 64)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 8))))) 128)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(pow.f64 (+.f64 x (*.f64 (*.f64 x -6) z)) 1)
(+.f64 x (*.f64 z (-.f64 (*.f64 x -5) x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))

eval64.0ms (0.3%)

Compiler

Compiled 2929 to 2035 computations (30.5% saved)

prune6.7s (33.8%)

Pruning

9 alts after pruning (3 fresh and 6 done)

PrunedKeptTotal
New2712273
Fresh011
Picked101
Done268
Total2749283
Error
0.0b
Counts
283 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
11.2b
(+.f64 x (*.f64 (+.f64 y (*.f64 y 5)) z))
0.4b
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
11.2b
(+.f64 x (*.f64 (*.f64 6 y) z))
25.4b
(+.f64 x (*.f64 (*.f64 -6 x) z))
10.9b
(+.f64 x (*.f64 y (*.f64 6 z)))
11.0b
(+.f64 x (*.f64 6 (*.f64 z y)))
52.4b
(*.f64 (-.f64 (*.f64 -5 x) x) z)
52.4b
(*.f64 -6 (*.f64 z x))
36.0b
x
Compiler

Compiled 86 to 60 computations (30.2% saved)

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 (*.f64 -5 x) x) z)
0.5b
(-.f64 (*.f64 -5 x) x)
Compiler

Compiled 21 to 13 computations (38.1% saved)

localize56.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 y (*.f64 6 z)))
0.2b
(*.f64 y (*.f64 6 z))
Compiler

Compiled 22 to 13 computations (40.9% saved)

series1.0ms (0%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
0.0ms
y
@0
(*.f64 y (*.f64 6 z))
0.0ms
x
@inf
(+.f64 x (*.f64 y (*.f64 6 z)))
0.0ms
y
@inf
(*.f64 y (*.f64 6 z))
0.0ms
x
@0
(+.f64 x (*.f64 y (*.f64 6 z)))
0.0ms
y
@-inf
(*.f64 y (*.f64 6 z))

rewrite188.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1754×rational.json-simplify-35
1732×rational.json-simplify-1
1450×exponential.json-3
1450×rational.json-1
1450×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
16132
213532
328432
453432
5125132
6273532
7459732
8558132
9685632
10785832
11785832
Stop Event
node limit
Counts
2 → 37
Calls
Call 1
Inputs
(*.f64 y (*.f64 6 z))
(+.f64 x (*.f64 y (*.f64 6 z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 6 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 6 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (+.f64 y y)) (*.f64 z (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 y 4)) (*.f64 z (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 z 3)) (*.f64 y (*.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 6 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 6 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 z 12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 z 24)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 48 (*.f64 y z)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 48 (*.f64 y z))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 6 z)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y (*.f64 6 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 1)))))

simplify780.0ms (3.9%)

Algorithm
egg-herbie
Rules
6236×rational.json-simplify-41
4306×rational.json-simplify-35
1466×rational.json-simplify-2
946×rational.json-simplify-51
762×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0931525
12181525
24871525
315391525
434161525
540661525
643111525
745241525
846461525
947581525
1051701525
1153091525
1254581525
1354671525
1454691525
1554691525
1656061525
1757171525
1858281525
1959391525
2060501525
2161611525
2262721525
2363831525
2464941525
2566051525
2667161525
2768271525
2868271525
Stop Event
node limit
Counts
97 → 44
Calls
Call 1
Inputs
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(*.f64 6 (*.f64 y z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 (*.f64 y (*.f64 6 z)) 0)
(+.f64 0 (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 z (+.f64 y y)) (*.f64 z (*.f64 y 4)))
(+.f64 (*.f64 z (*.f64 y 4)) (*.f64 z (+.f64 y y)))
(+.f64 (*.f64 y (*.f64 z 3)) (*.f64 y (*.f64 z 3)))
(-.f64 (*.f64 y (*.f64 6 z)) 0)
(/.f64 (*.f64 y (*.f64 6 z)) 1)
(/.f64 (*.f64 y (*.f64 z 12)) 2)
(/.f64 (*.f64 y (*.f64 z 24)) 4)
(/.f64 (*.f64 48 (*.f64 y z)) 8)
(/.f64 (*.f64 2 (*.f64 48 (*.f64 y z))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))))) 256)
(pow.f64 (*.f64 y (*.f64 6 z)) 1)
(-.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 0)
(*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 1)
(*.f64 1 (+.f64 (*.f64 y (*.f64 6 z)) x))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))))
(*.f64 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4) 1/4)
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))))
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4) 4)
(/.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 1)
(/.f64 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8)))))) 256)
(pow.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 1)
Outputs
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
x
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 6 (*.f64 y z)) x)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 (*.f64 y (*.f64 6 z)) 0)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 0 (*.f64 y (*.f64 6 z)))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 (*.f64 z (+.f64 y y)) (*.f64 z (*.f64 y 4)))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 (*.f64 z (*.f64 y 4)) (*.f64 z (+.f64 y y)))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(+.f64 (*.f64 y (*.f64 z 3)) (*.f64 y (*.f64 z 3)))
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(-.f64 (*.f64 y (*.f64 6 z)) 0)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 y (*.f64 6 z)) 1)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 y (*.f64 z 12)) 2)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 y (*.f64 z 24)) 4)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 48 (*.f64 y z)) 8)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 2 (*.f64 48 (*.f64 y z))) 16)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))) 32)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))) 64)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z)))))) 128)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 48 (*.f64 y z))))))) 256)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(pow.f64 (*.f64 y (*.f64 6 z)) 1)
(*.f64 6 (*.f64 y z))
(*.f64 y (*.f64 6 z))
(-.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 0)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 1)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 1 (+.f64 (*.f64 y (*.f64 6 z)) x))
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))))
(*.f64 2 (+.f64 (*.f64 y (*.f64 z 3)) (*.f64 x 1/2)))
(*.f64 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))) 1/2)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 4 (/.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4))
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4) 1/4)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))))
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))) 2)
(*.f64 2 (+.f64 (*.f64 y (*.f64 z 3)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 y (*.f64 z 3))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4))
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4) 4)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 1)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (+.f64 (+.f64 x x) (*.f64 y (*.f64 z 12))) 2)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 4) 4)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8) 8)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8)) 16)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8))) 32)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8)))) 64)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8))))) 128)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 8)))))) 256)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(pow.f64 (+.f64 (*.f64 y (*.f64 6 z)) x) 1)
(+.f64 x (*.f64 6 (*.f64 y z)))
(+.f64 x (*.f64 y (*.f64 6 z)))

eval26.0ms (0.1%)

Compiler

Compiled 1118 to 794 computations (29% saved)

prune19.0ms (0.1%)

Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New1131114
Fresh011
Picked011
Done077
Total11310123
Error
0.0b
Counts
123 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
11.2b
(+.f64 x (*.f64 (+.f64 y (*.f64 y 5)) z))
0.4b
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
11.2b
(+.f64 x (*.f64 (*.f64 6 y) z))
25.4b
(+.f64 x (*.f64 (*.f64 -6 x) z))
10.9b
(+.f64 x (*.f64 y (*.f64 6 z)))
11.0b
(+.f64 x (*.f64 6 (*.f64 z y)))
52.4b
(*.f64 (-.f64 (*.f64 -5 x) x) z)
52.4b
(*.f64 (*.f64 x -6) z)
52.4b
(*.f64 -6 (*.f64 z x))
36.0b
x
Compiler

Compiled 94 to 66 computations (29.8% saved)

regimes36.0ms (0.2%)

Counts
15 → 1
Calls
Call 1
Inputs
x
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 x -6) z)
(*.f64 (-.f64 (*.f64 -5 x) x) z)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 6 (*.f64 z y)))
(+.f64 x (*.f64 x (*.f64 z -6)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 x (*.f64 (*.f64 -6 x) z))
(+.f64 x (*.f64 (*.f64 6 y) z))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
(+.f64 x (*.f64 (+.f64 y (*.f64 y 5)) z))
(+.f64 x (*.f64 (-.f64 y x) (*.f64 6 z)))
(+.f64 x (*.f64 (-.f64 (*.f64 -5 x) x) z))
(+.f64 x (*.f64 (+.f64 (-.f64 y x) (*.f64 (-.f64 y x) 5)) z))
Outputs
(+.f64 x (*.f64 (-.f64 y x) (*.f64 6 z)))
Calls

4 calls:

9.0ms
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
9.0ms
x
8.0ms
z
8.0ms
y
Results
ErrorSegmentsBranch
0.2b1x
0.2b1y
0.2b1z
0.2b1(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
Compiler

Compiled 136 to 77 computations (43.4% saved)

regimes31.0ms (0.2%)

Counts
12 → 1
Calls
Call 1
Inputs
x
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 x -6) z)
(*.f64 (-.f64 (*.f64 -5 x) x) z)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 6 (*.f64 z y)))
(+.f64 x (*.f64 x (*.f64 z -6)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 x (*.f64 (*.f64 -6 x) z))
(+.f64 x (*.f64 (*.f64 6 y) z))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
(+.f64 x (*.f64 (+.f64 y (*.f64 y 5)) z))
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
Calls

4 calls:

7.0ms
z
7.0ms
x
7.0ms
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
7.0ms
y
Results
ErrorSegmentsBranch
0.4b1x
0.4b1y
0.4b1z
0.4b1(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
Compiler

Compiled 105 to 63 computations (40% saved)

regimes114.0ms (0.6%)

Counts
10 → 3
Calls
Call 1
Inputs
x
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 x -6) z)
(*.f64 (-.f64 (*.f64 -5 x) x) z)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 6 (*.f64 z y)))
(+.f64 x (*.f64 x (*.f64 z -6)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 x (*.f64 (*.f64 -6 x) z))
(+.f64 x (*.f64 (*.f64 6 y) z))
Outputs
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 x (*.f64 x (*.f64 z -6)))
(+.f64 x (*.f64 (*.f64 6 y) z))
Calls

3 calls:

61.0ms
y
34.0ms
x
17.0ms
z
Results
ErrorSegmentsBranch
6.6b5x
5.0b3y
9.2b3z
Compiler

Compiled 75 to 45 computations (40% saved)

bsearch30.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
14.0ms
2.653423902533155e-136
2.4087743464427298e-132
16.0ms
-1.4010953149232398e-132
-3.891947597399088e-139
Results
27.0ms272×body256valid
Compiler

Compiled 392 to 285 computations (27.3% saved)

regimes69.0ms (0.4%)

Counts
9 → 3
Calls
Call 1
Inputs
x
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 x -6) z)
(*.f64 (-.f64 (*.f64 -5 x) x) z)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 6 (*.f64 z y)))
(+.f64 x (*.f64 x (*.f64 z -6)))
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 x (*.f64 (*.f64 -6 x) z))
Outputs
(+.f64 x (*.f64 y (*.f64 6 z)))
(+.f64 x (*.f64 x (*.f64 z -6)))
(+.f64 x (*.f64 y (*.f64 6 z)))
Calls

3 calls:

32.0ms
x
18.0ms
y
17.0ms
z
Results
ErrorSegmentsBranch
6.6b5x
5.0b3y
9.2b3z
Compiler

Compiled 68 to 41 computations (39.7% saved)

bsearch29.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
2.653423902533155e-136
2.4087743464427298e-132
16.0ms
-1.4010953149232398e-132
-3.891947597399088e-139
Results
25.0ms272×body256valid
Compiler

Compiled 392 to 285 computations (27.3% saved)

regimes57.0ms (0.3%)

Counts
7 → 3
Calls
Call 1
Inputs
x
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 x -6) z)
(*.f64 (-.f64 (*.f64 -5 x) x) z)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 6 (*.f64 z y)))
(+.f64 x (*.f64 x (*.f64 z -6)))
Outputs
(+.f64 x (*.f64 6 (*.f64 z y)))
(+.f64 x (*.f64 x (*.f64 z -6)))
(+.f64 x (*.f64 6 (*.f64 z y)))
Calls

3 calls:

28.0ms
x
14.0ms
z
14.0ms
y
Results
ErrorSegmentsBranch
6.7b5x
5.0b3y
9.2b3z
Compiler

Compiled 54 to 33 computations (38.9% saved)

bsearch62.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
2.653423902533155e-136
2.4087743464427298e-132
49.0ms
-1.4010953149232398e-132
-3.891947597399088e-139
Results
59.0ms272×body256valid
Compiler

Compiled 392 to 285 computations (27.3% saved)

regimes92.0ms (0.5%)

Counts
6 → 3
Calls
Call 1
Inputs
x
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 x -6) z)
(*.f64 (-.f64 (*.f64 -5 x) x) z)
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 6 (*.f64 z y)))
Outputs
(+.f64 x (*.f64 6 (*.f64 z y)))
(+.f64 x (*.f64 -6 (*.f64 z x)))
(+.f64 x (*.f64 6 (*.f64 z y)))
Calls

3 calls:

60.0ms
x
16.0ms
z
14.0ms
y
Results
ErrorSegmentsBranch
6.7b5x
5.0b3y
9.2b3z
Compiler

Compiled 47 to 29 computations (38.3% saved)

bsearch31.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
2.653423902533155e-136
2.4087743464427298e-132
15.0ms
-1.4010953149232398e-132
-3.891947597399088e-139
Results
27.0ms272×body256valid
Compiler

Compiled 392 to 285 computations (27.3% saved)

regimes14.0ms (0.1%)

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

3 calls:

4.0ms
x
4.0ms
z
4.0ms
y
Results
ErrorSegmentsBranch
25.4b1x
25.4b1y
25.4b1z
Compiler

Compiled 40 to 25 computations (37.5% saved)

regimes55.0ms (0.3%)

Counts
4 → 3
Calls
Call 1
Inputs
x
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 x -6) z)
(*.f64 (-.f64 (*.f64 -5 x) x) z)
Outputs
(*.f64 (*.f64 x -6) z)
x
(*.f64 (-.f64 (*.f64 -5 x) x) z)
Calls

3 calls:

12.0ms
y
10.0ms
z
4.0ms
x
Results
ErrorSegmentsBranch
36.0b1x
34.6b3y
26.6b3z
Compiler

Compiled 33 to 22 computations (33.3% saved)

bsearch64.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
50.0ms
4.429733102887844e-6
4.527834778103447
14.0ms
-0.6331054202938605
-0.022166138835578077
Results
61.0ms256×body256valid
0.0msbody256infinite
Compiler

Compiled 260 to 198 computations (23.8% saved)

regimes23.0ms (0.1%)

Counts
3 → 3
Calls
Call 1
Inputs
x
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 x -6) z)
Outputs
(*.f64 (*.f64 x -6) z)
x
(*.f64 -6 (*.f64 z x))
Calls

3 calls:

9.0ms
y
9.0ms
z
3.0ms
x
Results
ErrorSegmentsBranch
36.0b1x
34.6b3y
26.6b3z
Compiler

Compiled 26 to 18 computations (30.8% saved)

bsearch27.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
4.429733102887844e-6
4.527834778103447
11.0ms
-0.6331054202938605
-0.022166138835578077
Results
24.0ms256×body256valid
Compiler

Compiled 242 to 189 computations (21.9% saved)

regimes57.0ms (0.3%)

Accuracy

Total -35.3b remaining (-132.7%)

Threshold costs -35.3b (-132.7%)

Counts
2 → 3
Calls
Call 1
Inputs
x
(*.f64 -6 (*.f64 z x))
Outputs
(*.f64 -6 (*.f64 z x))
x
(*.f64 -6 (*.f64 z x))
Calls

3 calls:

45.0ms
y
8.0ms
z
3.0ms
x
Results
ErrorSegmentsBranch
36.0b1x
34.6b3y
26.6b3z
Compiler

Compiled 21 to 15 computations (28.6% saved)

bsearch917.0ms (4.6%)

Algorithm
binary-search
Steps
TimeLeftRight
904.0ms
4.429733102887844e-6
4.527834778103447
12.0ms
-0.6331054202938605
-0.022166138835578077
Results
24.0ms256×body256valid
Compiler

Compiled 242 to 189 computations (21.9% saved)

simplify8.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
070511
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 x (*.f64 (-.f64 y x) (*.f64 6 z)))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
(if (<=.f64 y -2301602771176975/51146728248377216718956089012931236753385031969422887335676427626502090568823039920051095192592252455482604439493126109519019633529459266458258243584) (+.f64 x (*.f64 y (*.f64 6 z))) (if (<=.f64 y 716054195477281/102293456496754433437912178025862473506770063938845774671352855253004181137646079840102190385184504910965208878986252219038039267058918532916516487168) (+.f64 x (*.f64 x (*.f64 z -6))) (+.f64 x (*.f64 (*.f64 6 y) z))))
(if (<=.f64 y -2932957984674943/104748499452676539840422070298483172870932545473378073263465323779076281484949585756264642954428933028828373892081922272294952209468332577706512882860032) (+.f64 x (*.f64 y (*.f64 6 z))) (if (<=.f64 y 2557336412418861/1598335257761788022467377781654101148543282249044465229239888363328190330275719997501596724768507889233831388734160190922469363547795602076820570112) (+.f64 x (*.f64 x (*.f64 z -6))) (+.f64 x (*.f64 y (*.f64 6 z)))))
(if (<=.f64 y -5754006927942437/6393341031047152089869511126616404594173128996177860916959553453312761321102879990006386899074031556935325554936640763689877454191182408307282280448) (+.f64 x (*.f64 6 (*.f64 z y))) (if (<=.f64 y 5754006927942437/6393341031047152089869511126616404594173128996177860916959553453312761321102879990006386899074031556935325554936640763689877454191182408307282280448) (+.f64 x (*.f64 x (*.f64 z -6))) (+.f64 x (*.f64 6 (*.f64 z y)))))
(if (<=.f64 y -8950677443466013/6393341031047152089869511126616404594173128996177860916959553453312761321102879990006386899074031556935325554936640763689877454191182408307282280448) (+.f64 x (*.f64 6 (*.f64 z y))) (if (<=.f64 y 716054195477281/25573364124188608359478044506465618376692515984711443667838213813251045284411519960025547596296126227741302219746563054759509816764729633229129121792) (+.f64 x (*.f64 -6 (*.f64 z x))) (+.f64 x (*.f64 6 (*.f64 z y)))))
(+.f64 x (*.f64 -6 (*.f64 z x)))
(if (<=.f64 z -5944751508129055/36028797018963968) (*.f64 (*.f64 x -6) z) (if (<=.f64 z 5944751508129055/36028797018963968) x (*.f64 (-.f64 (*.f64 -5 x) x) z)))
(if (<=.f64 z -5944751508129055/36028797018963968) (*.f64 (*.f64 x -6) z) (if (<=.f64 z 5944751508129055/36028797018963968) x (*.f64 -6 (*.f64 z x))))
(if (<=.f64 z -5944751508129055/36028797018963968) (*.f64 -6 (*.f64 z x)) (if (<=.f64 z 5944751508129055/36028797018963968) x (*.f64 -6 (*.f64 z x))))
x
Outputs
(+.f64 x (*.f64 (-.f64 y x) (*.f64 6 z)))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
(if (<=.f64 y -2301602771176975/51146728248377216718956089012931236753385031969422887335676427626502090568823039920051095192592252455482604439493126109519019633529459266458258243584) (+.f64 x (*.f64 y (*.f64 6 z))) (if (<=.f64 y 716054195477281/102293456496754433437912178025862473506770063938845774671352855253004181137646079840102190385184504910965208878986252219038039267058918532916516487168) (+.f64 x (*.f64 x (*.f64 z -6))) (+.f64 x (*.f64 (*.f64 6 y) z))))
(if (<=.f64 y -2932957984674943/104748499452676539840422070298483172870932545473378073263465323779076281484949585756264642954428933028828373892081922272294952209468332577706512882860032) (+.f64 x (*.f64 y (*.f64 6 z))) (if (<=.f64 y 2557336412418861/1598335257761788022467377781654101148543282249044465229239888363328190330275719997501596724768507889233831388734160190922469363547795602076820570112) (+.f64 x (*.f64 x (*.f64 z -6))) (+.f64 x (*.f64 y (*.f64 6 z)))))
(if (<=.f64 y -5754006927942437/6393341031047152089869511126616404594173128996177860916959553453312761321102879990006386899074031556935325554936640763689877454191182408307282280448) (+.f64 x (*.f64 6 (*.f64 z y))) (if (<=.f64 y 5754006927942437/6393341031047152089869511126616404594173128996177860916959553453312761321102879990006386899074031556935325554936640763689877454191182408307282280448) (+.f64 x (*.f64 x (*.f64 z -6))) (+.f64 x (*.f64 6 (*.f64 z y)))))
(if (<=.f64 y -8950677443466013/6393341031047152089869511126616404594173128996177860916959553453312761321102879990006386899074031556935325554936640763689877454191182408307282280448) (+.f64 x (*.f64 6 (*.f64 z y))) (if (<=.f64 y 716054195477281/25573364124188608359478044506465618376692515984711443667838213813251045284411519960025547596296126227741302219746563054759509816764729633229129121792) (+.f64 x (*.f64 -6 (*.f64 z x))) (+.f64 x (*.f64 6 (*.f64 z y)))))
(+.f64 x (*.f64 -6 (*.f64 z x)))
(if (<=.f64 z -5944751508129055/36028797018963968) (*.f64 (*.f64 x -6) z) (if (<=.f64 z 5944751508129055/36028797018963968) x (*.f64 (-.f64 (*.f64 -5 x) x) z)))
(if (<=.f64 z -5944751508129055/36028797018963968) (*.f64 (*.f64 x -6) z) (if (<=.f64 z 5944751508129055/36028797018963968) x (*.f64 -6 (*.f64 z x))))
(if (<=.f64 z -5944751508129055/36028797018963968) (*.f64 -6 (*.f64 z x)) (if (<=.f64 z 5944751508129055/36028797018963968) x (*.f64 -6 (*.f64 z x))))
x
Compiler

Compiled 234 to 153 computations (34.6% saved)

soundness10.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
11325
21725
32125
Stop Event
saturated
Compiler

Compiled 30 to 16 computations (46.7% saved)

end1.4s (6.9%)

Compiler

Compiled 204 to 118 computations (42.2% saved)

Profiling

Loading profile data...