Details

Time bar (total: 9.8s)

analyze358.0ms (3.7%)

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
25.6%25%72.5%0.1%2.3%0%0%9
35.6%34.3%62%0.1%3.5%0%0%10
44.1%41.3%52.5%0.1%6%0%0%11
50.9%46.8%45.1%0.1%7.9%0%0%12
Compiler

Compiled 17 to 12 computations (29.4% saved)

sample1.5s (15.8%)

Results
1.3s8222×body256valid
234.0ms1350×body256infinite
8.0ms26×body512valid
2.0msbody1024valid
Bogosity

preprocess9.0ms (0.1%)

Algorithm
egg-herbie
Rules
182×rational.json-simplify-1
124×rational.json-simplify-41
52×rational.json-simplify-2
36×rational.json-simplify-51
swap-d2-d3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029124
159100
291100
315376
420276
524276
625776
033
133
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
1
Call 2
Inputs
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
(+.f64 (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 d3 5) d2)) (*.f64 d2 32))
(+.f64 (+.f64 (*.f64 d3 d2) (*.f64 (+.f64 d1 5) d3)) (*.f64 d3 32))
(+.f64 (+.f64 (*.f64 d1 d3) (*.f64 (+.f64 d2 5) d1)) (*.f64 d1 32))
Outputs
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
(+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32))
(*.f64 d1 (+.f64 32 (+.f64 d2 (+.f64 d3 5))))
(*.f64 d1 (+.f64 (+.f64 d3 5) (+.f64 d2 32)))
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
(+.f64 (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 d3 5) d2)) (*.f64 d2 32))
(+.f64 (*.f64 d2 (+.f64 (+.f64 d3 5) d1)) (*.f64 d2 32))
(*.f64 d2 (+.f64 32 (+.f64 d1 (+.f64 d3 5))))
(*.f64 d2 (+.f64 (+.f64 d3 5) (+.f64 d1 32)))
(*.f64 d2 (+.f64 d1 (+.f64 d3 37)))
(*.f64 d2 (+.f64 (+.f64 d1 d3) 37))
(+.f64 (+.f64 (*.f64 d3 d2) (*.f64 (+.f64 d1 5) d3)) (*.f64 d3 32))
(+.f64 (*.f64 d3 (+.f64 (+.f64 d1 5) d2)) (*.f64 d3 32))
(*.f64 d3 (+.f64 32 (+.f64 d2 (+.f64 d1 5))))
(*.f64 d3 (+.f64 d2 (+.f64 (+.f64 d1 5) 32)))
(*.f64 d3 (+.f64 d1 (+.f64 d2 37)))
(+.f64 (+.f64 (*.f64 d1 d3) (*.f64 (+.f64 d2 5) d1)) (*.f64 d1 32))
(+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32))
(*.f64 d1 (+.f64 32 (+.f64 d2 (+.f64 d3 5))))
(*.f64 d1 (+.f64 (+.f64 d3 5) (+.f64 d2 32)))
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
Symmetry

(sort d2 d3)

Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
68×rational.json-simplify-1
40×rational.json-simplify-41
14×rational.json-simplify-2
12×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01331
12125
22925
34719
46619
58419
69419
Stop Event
saturated
Counts
1 → 5
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
Outputs
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
(+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32))
(*.f64 d1 (+.f64 32 (+.f64 d2 (+.f64 d3 5))))
(*.f64 d1 (+.f64 (+.f64 d3 5) (+.f64 d2 32)))
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))

eval1.0ms (0%)

Compiler

Compiled 52 to 34 computations (34.6% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New325
Fresh101
Picked000
Done000
Total426
Error
0.0b
Counts
6 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32))
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
Compiler

Compiled 24 to 17 computations (29.2% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
Compiler

Compiled 22 to 13 computations (40.9% saved)

series4.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
d1
@inf
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
1.0ms
d2
@inf
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
0.0ms
d1
@0
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
0.0ms
d1
@-inf
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
0.0ms
d3
@inf
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))

rewrite107.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
16119
213319
328119
458619
5150519
6345719
7512519
8696719
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 d2 (+.f64 d3 37)) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 (+.f64 d3 37)) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 (+.f64 d3 37)) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 1)))))

simplify476.0ms (4.9%)

Algorithm
egg-herbie
Rules
2614×rational.json-simplify-2
2506×rational.json-simplify-41
2192×rational.json-simplify-35
1176×rational.json-simplify-53
932×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057871
1133871
2233871
3534871
41942871
53356871
63592871
73720871
83828871
93934871
105866871
116935871
127301871
137408871
147410871
157410871
167410871
177515871
187620871
Stop Event
node limit
Counts
49 → 24
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (+.f64 37 d3) d1)
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(*.f64 d1 (+.f64 d2 37))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 0)
(+.f64 0 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))
(+.f64 (*.f64 (+.f64 d2 (+.f64 d3 37)) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 (+.f64 d3 37)) (*.f64 d1 1/2)))
(-.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 0)
(/.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 1)
(/.f64 (*.f64 (+.f64 d2 (+.f64 d3 37)) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 4)) 4)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8)) 8)
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8)))))) 128)
(pow.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 1)
Outputs
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (+.f64 37 d3) d1)
(*.f64 d1 (+.f64 37 d3))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 37 d3) d1))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 d3)
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 d3)
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 0)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 0 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 (+.f64 d2 (+.f64 d3 37)) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 (+.f64 d3 37)) (*.f64 d1 1/2)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 0)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 1)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 (+.f64 d2 (+.f64 d3 37)) (+.f64 d1 d1)) 2)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 4)) 4)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8)) 8)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8))) 16)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8)))) 32)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8))))) 64)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 8)))))) 128)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(pow.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 1)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))

localize15.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 d1 (+.f64 (+.f64 d3 5) d2))
0.0b
(+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32))
Compiler

Compiled 37 to 23 computations (37.8% saved)

series5.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
1.0ms
d1
@0
(+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32))
1.0ms
d1
@inf
(+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32))
1.0ms
d1
@-inf
(+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32))
0.0ms
d3
@0
(+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32))
0.0ms
d3
@inf
(+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32))

rewrite231.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
2514×rational.json-simplify-35
1654×rational.json-1
1654×rational.json-2
1654×rational.json-3
1624×exponential.json-3
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01250
17944
215744
335438
476138
5197438
6413538
7587238
8738638
9793738
10799438
11799438
Stop Event
node limit
Counts
2 → 52
Calls
Call 1
Inputs
(+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32))
(*.f64 d1 (+.f64 (+.f64 d3 5) d2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 d3 (+.f64 d2 37)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 d3 (+.f64 d2 37)) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d1 d1) (+.f64 d3 (+.f64 d2 37))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 (+.f64 d3 (+.f64 d2 37)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (/.f64 (+.f64 d3 (+.f64 d2 37)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 16 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2) 16))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d3 (+.f64 d2 37)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 d2 37)) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 d3 (+.f64 d2 37))) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 d1 d1) (+.f64 d3 (+.f64 d2 37))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d3 (+.f64 5 d2)) (+.f64 d1 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (+.f64 d1 d1)) (*.f64 d1 64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d3 (+.f64 d2 37)) (*.f64 d1 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d3 (+.f64 d2 37))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (+.f64 64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2) 64))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d3 (+.f64 d2 37)) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 d2 37)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 d3 (+.f64 d2 37)) 2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 d3 (+.f64 5 d2)) (+.f64 (+.f64 d3 (+.f64 5 d2)) 64)) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2) (+.f64 32 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2))) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 32 (+.f64 32 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2))) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 16 (+.f64 (+.f64 d3 (+.f64 5 d2)) 16)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/4 (+.f64 d3 (+.f64 d2 37))) (*.f64 d1 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d1 d1) (+.f64 d3 (+.f64 d2 37))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 d2 37)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 1/2)) (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 1)))))

simplify462.0ms (4.7%)

Algorithm
egg-herbie
Rules
4178×rational.json-simplify-41
2588×rational.json-simplify-35
2316×rational.json-simplify-2
1232×rational.json-simplify-53
1128×exponential.json-simplify-26
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01512296
13322284
26872272
321942272
444972272
552122272
654292272
755952272
857532272
959032272
1069092272
1172882272
1274572272
1374572272
1474572272
1575992272
1677412272
Stop Event
node limit
Counts
124 → 84
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 (+.f64 5 (+.f64 d2 d3))) 32)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 (+.f64 5 (+.f64 d2 d3))) 32)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 (+.f64 5 (+.f64 d2 d3))) 32)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 (+.f64 5 (+.f64 d2 d3))) 32)))
(+.f64 (*.f64 32 d1) (*.f64 d1 (+.f64 d2 5)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 d2 5))))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 d2 5))))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 d2 5))))
(*.f64 d1 d3)
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3)))
(*.f64 d1 d3)
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3)))
(+.f64 (*.f64 32 d1) (*.f64 (+.f64 5 d3) d1))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 32 d1) (*.f64 (+.f64 5 d3) d1)))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 32 d1) (*.f64 (+.f64 5 d3) d1)))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 32 d1) (*.f64 (+.f64 5 d3) d1)))
(*.f64 d2 d1)
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)))
(*.f64 d2 d1)
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)))
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 d1 (+.f64 d2 (+.f64 5 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 5 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 5 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 5 d3)))
(*.f64 d1 (+.f64 5 d2))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(*.f64 (+.f64 5 d3) d1)
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(-.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 0)
(*.f64 d1 (+.f64 d3 (+.f64 d2 37)))
(*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 1)
(*.f64 1 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))))
(*.f64 2 (*.f64 (+.f64 d3 (+.f64 d2 37)) (*.f64 d1 1/2)))
(*.f64 (*.f64 (+.f64 d1 d1) (+.f64 d3 (+.f64 d2 37))) 1/2)
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 d3 (+.f64 d2 37)) 1/2))
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 d3 (+.f64 d2 37)) 2))
(*.f64 (+.f64 d1 d1) (+.f64 16 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2)))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2) 16))
(*.f64 (+.f64 d3 (+.f64 d2 37)) d1)
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 4))
(*.f64 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 d2 37)) 4)) 1/4)
(*.f64 (*.f64 2 (+.f64 d3 (+.f64 d2 37))) (*.f64 d1 1/2))
(*.f64 1/2 (*.f64 (+.f64 d1 d1) (+.f64 d3 (+.f64 d2 37))))
(*.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d3 (+.f64 5 d2)) (+.f64 d1 d1))))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (+.f64 d1 d1)) (*.f64 d1 64)))
(*.f64 (*.f64 (+.f64 d3 (+.f64 d2 37)) (*.f64 d1 1/2)) 2)
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d3 (+.f64 d2 37))))
(*.f64 (*.f64 d1 1/2) (+.f64 64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2)))
(*.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2) 64))
(*.f64 (*.f64 (+.f64 d3 (+.f64 d2 37)) 1/2) (+.f64 d1 d1))
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 d2 37)) 4)))
(*.f64 (/.f64 (+.f64 d3 (+.f64 d2 37)) 2) (+.f64 d1 d1))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 4) 4)
(*.f64 (+.f64 (+.f64 d3 (+.f64 5 d2)) (+.f64 (+.f64 d3 (+.f64 5 d2)) 64)) (*.f64 d1 1/2))
(*.f64 (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2) (+.f64 32 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2))) d1)
(*.f64 (+.f64 32 (+.f64 32 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2))) (*.f64 d1 1/2))
(*.f64 (+.f64 16 (+.f64 (+.f64 d3 (+.f64 5 d2)) 16)) d1)
(*.f64 (*.f64 1/4 (+.f64 d3 (+.f64 d2 37))) (*.f64 d1 4))
(/.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 1)
(/.f64 (*.f64 (+.f64 d1 d1) (+.f64 d3 (+.f64 d2 37))) 2)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 d2 37)) 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8))))) 128)
(pow.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 1)
(+.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 0)
(+.f64 0 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))))
(+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 1/2)) (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 1/2)))
(-.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 0)
(/.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 1)
(/.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 4)) 4)
(/.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8)) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8)))))) 128)
(pow.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 1)
Outputs
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 37 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 (+.f64 5 (+.f64 d2 d3))) 32)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 (+.f64 5 (+.f64 d2 d3))) 32)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 (+.f64 5 (+.f64 d2 d3))) 32)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 (+.f64 5 (+.f64 d2 d3))) 32)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 32 d1) (*.f64 d1 (+.f64 d2 5)))
(+.f64 (*.f64 d1 32) (*.f64 d1 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 5) 32))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 d2 5))))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 d2 5))))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 d2 5))))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 d3)
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 d3)
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 32 d1) (*.f64 (+.f64 5 d3) d1))
(+.f64 (*.f64 d1 32) (*.f64 d1 (+.f64 d3 5)))
(*.f64 d1 (+.f64 (+.f64 d3 5) 32))
(*.f64 d1 (+.f64 37 d3))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 32 d1) (*.f64 (+.f64 5 d3) d1)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 32 d1) (*.f64 (+.f64 5 d3) d1)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 32 d1) (*.f64 (+.f64 5 d3) d1)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 d1 (+.f64 d2 (+.f64 5 d3)))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 d1 (+.f64 d2 (+.f64 5 d3)))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 d1 (+.f64 d2 (+.f64 5 d3)))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 d1 (+.f64 d2 (+.f64 5 d3)))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 d2 5))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 d1 d3)
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 d1 d3)
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 (+.f64 5 d3) d1)
(*.f64 d1 (+.f64 d3 5))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(-.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 0)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d3 (+.f64 d2 37)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 1)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 1 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 2 (*.f64 (+.f64 d3 (+.f64 d2 37)) (*.f64 d1 1/2)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (*.f64 (+.f64 d1 d1) (+.f64 d3 (+.f64 d2 37))) 1/2)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 d3 (+.f64 d2 37)) 1/2))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 d3 (+.f64 d2 37)) 2))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (+.f64 d1 d1) (+.f64 16 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2)))
(*.f64 (+.f64 d1 d1) (+.f64 16 (*.f64 1/2 (+.f64 d3 (+.f64 d2 5)))))
(*.f64 (+.f64 d1 d1) (+.f64 16 (*.f64 1/2 (+.f64 (+.f64 d2 d3) 5))))
(*.f64 (+.f64 d1 d1) (+.f64 16 (*.f64 1/2 (+.f64 d2 (+.f64 d3 5)))))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2) 16))
(*.f64 (+.f64 d1 d1) (+.f64 16 (*.f64 1/2 (+.f64 d3 (+.f64 d2 5)))))
(*.f64 (+.f64 d1 d1) (+.f64 16 (*.f64 1/2 (+.f64 (+.f64 d2 d3) 5))))
(*.f64 (+.f64 d1 d1) (+.f64 16 (*.f64 1/2 (+.f64 d2 (+.f64 d3 5)))))
(*.f64 (+.f64 d3 (+.f64 d2 37)) d1)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 4))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 d2 37)) 4)) 1/4)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (*.f64 2 (+.f64 d3 (+.f64 d2 37))) (*.f64 d1 1/2))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 1/2 (*.f64 (+.f64 d1 d1) (+.f64 d3 (+.f64 d2 37))))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d3 (+.f64 5 d2)) (+.f64 d1 d1))))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (+.f64 d1 d1)) (*.f64 d1 64)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (*.f64 (+.f64 d3 (+.f64 d2 37)) (*.f64 d1 1/2)) 2)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d3 (+.f64 d2 37))))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (*.f64 d1 1/2) (+.f64 64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2) 64))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (*.f64 (+.f64 d3 (+.f64 d2 37)) 1/2) (+.f64 d1 d1))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 d2 37)) 4)))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (/.f64 (+.f64 d3 (+.f64 d2 37)) 2) (+.f64 d1 d1))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 4) 4)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (+.f64 (+.f64 d3 (+.f64 5 d2)) (+.f64 (+.f64 d3 (+.f64 5 d2)) 64)) (*.f64 d1 1/2))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2) (+.f64 32 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2))) d1)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (+.f64 32 (+.f64 32 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2))) (*.f64 d1 1/2))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (+.f64 16 (+.f64 (+.f64 d3 (+.f64 5 d2)) 16)) d1)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(*.f64 (*.f64 1/4 (+.f64 d3 (+.f64 d2 37))) (*.f64 d1 4))
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 1)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 (+.f64 d1 d1) (+.f64 d3 (+.f64 d2 37))) 2)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 d2 37)) 4)) 4)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8) 8)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8)) 16)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8))) 32)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8)))) 64)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 8))))) 128)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(pow.f64 (*.f64 d1 (+.f64 d3 (+.f64 d2 37))) 1)
(*.f64 d1 (+.f64 37 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 0)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 0 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 1/2)) (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 1/2)))
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(-.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 0)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(/.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 1)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(/.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (+.f64 d1 d1)) 2)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(/.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 4)) 4)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(/.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8)) 8)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(/.f64 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8))) 16)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8)))) 32)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8))))) 64)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 8)))))) 128)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))
(pow.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 1)
(*.f64 d1 (+.f64 d3 (+.f64 d2 5)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) 5))
(*.f64 d1 (+.f64 d2 (+.f64 d3 5)))

eval24.0ms (0.2%)

Compiler

Compiled 1249 to 839 computations (32.8% saved)

prune21.0ms (0.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1026108
Fresh000
Picked101
Done011
Total1037110
Error
0.0b
Counts
110 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
21.5b
(+.f64 (*.f64 (+.f64 5 d3) d1) (*.f64 d1 32))
24.2b
(+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32))
21.5b
(*.f64 (+.f64 37 d3) d1)
42.0b
(*.f64 d2 d1)
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
24.2b
(*.f64 d1 (+.f64 d2 37))
38.7b
(*.f64 d1 d3)
Compiler

Compiled 114 to 83 computations (27.2% saved)

localize81.0ms (0.8%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 37 d3) d1)
Compiler

Compiled 14 to 9 computations (35.7% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0ms
d3
@-inf
(*.f64 (+.f64 37 d3) d1)
0.0ms
d1
@0
(*.f64 (+.f64 37 d3) d1)
0.0ms
d1
@inf
(*.f64 (+.f64 37 d3) d1)
0.0ms
d1
@-inf
(*.f64 (+.f64 37 d3) d1)
0.0ms
d3
@0
(*.f64 (+.f64 37 d3) d1)

rewrite212.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
2428×rational.json-simplify-35
1488×rational.json-simplify-1
1486×rational.json-simplify-53
1242×exponential.json-3
1242×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14613
29913
320113
436913
582113
6206213
7365113
8475913
9615613
10689513
11689513
12689513
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 (+.f64 37 d3) d1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 37 d3) d1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 37 d3) d1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 37 d3) (*.f64 d1 1/2)) (*.f64 (+.f64 37 d3) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 37 d3) d1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 37 d3) d1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 37 d3) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 37 d3) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 37 d3) (*.f64 d1 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1)))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 16 (*.f64 (+.f64 37 d3) d1)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 37 d3) (*.f64 8 (*.f64 d1 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1))))) (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1)))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 37 d3) d1) 1)))))

simplify457.0ms (4.7%)

Algorithm
egg-herbie
Rules
3066×rational.json-simplify-35
2100×rational.json-simplify-2
1386×rational.json-simplify-53
1350×rational.json-simplify-49
1316×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
052477
1138333
2287333
3704333
42671333
54433333
65361333
75677333
85886333
96055333
106813333
117121333
127124333
137124333
147527333
157790333
167976333
Stop Event
node limit
Counts
27 → 19
Calls
Call 1
Inputs
(*.f64 37 d1)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(+.f64 (*.f64 (+.f64 37 d3) d1) 0)
(+.f64 0 (*.f64 (+.f64 37 d3) d1))
(+.f64 (*.f64 (+.f64 37 d3) (*.f64 d1 1/2)) (*.f64 (+.f64 37 d3) (*.f64 d1 1/2)))
(-.f64 (*.f64 (+.f64 37 d3) d1) 0)
(/.f64 (*.f64 (+.f64 37 d3) d1) 1)
(/.f64 (*.f64 (+.f64 37 d3) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 (+.f64 37 d3) (*.f64 d1 4)) 4)
(/.f64 (*.f64 (+.f64 37 d3) (*.f64 d1 8)) 8)
(/.f64 (*.f64 2 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1)))) 128)
(/.f64 (*.f64 16 (*.f64 (+.f64 37 d3) d1)) 16)
(/.f64 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1))) 64)
(/.f64 (*.f64 (+.f64 37 d3) (*.f64 8 (*.f64 d1 4))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1))))) (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1)))))) 512)
(pow.f64 (*.f64 (+.f64 37 d3) d1) 1)
Outputs
(*.f64 37 d1)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(+.f64 (*.f64 (+.f64 37 d3) d1) 0)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(+.f64 0 (*.f64 (+.f64 37 d3) d1))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(+.f64 (*.f64 (+.f64 37 d3) (*.f64 d1 1/2)) (*.f64 (+.f64 37 d3) (*.f64 d1 1/2)))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(-.f64 (*.f64 (+.f64 37 d3) d1) 0)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(/.f64 (*.f64 (+.f64 37 d3) d1) 1)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(/.f64 (*.f64 (+.f64 37 d3) (+.f64 d1 d1)) 2)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(/.f64 (*.f64 (+.f64 37 d3) (*.f64 d1 4)) 4)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(/.f64 (*.f64 (+.f64 37 d3) (*.f64 d1 8)) 8)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(/.f64 (*.f64 2 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1)))) 128)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(/.f64 (*.f64 16 (*.f64 (+.f64 37 d3) d1)) 16)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(/.f64 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1))) 64)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(/.f64 (*.f64 (+.f64 37 d3) (*.f64 8 (*.f64 d1 4))) 32)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1))))) 256)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1))))) (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 16 (*.f64 (+.f64 37 d3) d1)))))) 512)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))
(pow.f64 (*.f64 (+.f64 37 d3) d1) 1)
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 37 d3))

localize3.0ms (0%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize102.0ms (1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 d1 (+.f64 d2 37))
Compiler

Compiled 14 to 9 computations (35.7% saved)

series2.0ms (0%)

Counts
1 → 20
Calls

6 calls:

TimeVariablePointExpression
0.0ms
d1
@0
(*.f64 d1 (+.f64 d2 37))
0.0ms
d1
@inf
(*.f64 d1 (+.f64 d2 37))
0.0ms
d1
@-inf
(*.f64 d1 (+.f64 d2 37))
0.0ms
d2
@0
(*.f64 d1 (+.f64 d2 37))
0.0ms
d2
@inf
(*.f64 d1 (+.f64 d2 37))

rewrite689.0ms (7%)

Algorithm
batch-egg-rewrite
Rules
2428×rational.json-simplify-35
1520×rational.json-simplify-53
1482×rational.json-simplify-1
1242×exponential.json-3
1242×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14613
29913
320113
436913
582013
6206313
7365013
8475613
9615313
10689213
11689213
12689213
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 37))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 d2 37)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 d2 37)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 1/2)) (*.f64 d1 (*.f64 (+.f64 d2 37) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d2 37)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 37)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 37) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 37) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 16 (*.f64 d1 (+.f64 d2 37))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 37) (*.f64 8 (*.f64 d1 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8)))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d2 37)) 1)))))

simplify544.0ms (5.6%)

Algorithm
egg-herbie
Rules
3338×rational.json-simplify-35
2310×rational.json-simplify-2
1622×rational.json-simplify-53
1348×rational.json-simplify-1
914×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055437
1139437
2291437
3729437
42321437
54532437
65304437
75537437
85708437
95860437
106009437
117308437
127382437
137382437
147529437
157676437
167823437
177970437
Stop Event
node limit
Counts
35 → 21
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 37 d1)
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (+.f64 d2 37)) 0)
(+.f64 0 (*.f64 d1 (+.f64 d2 37)))
(+.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 1/2)) (*.f64 d1 (*.f64 (+.f64 d2 37) 1/2)))
(-.f64 (*.f64 d1 (+.f64 d2 37)) 0)
(/.f64 (*.f64 d1 (+.f64 d2 37)) 1)
(/.f64 (*.f64 (+.f64 d2 37) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 (+.f64 d2 37) (*.f64 d1 4)) 4)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 8)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8))) 128)
(/.f64 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8)) 64)
(/.f64 (*.f64 16 (*.f64 d1 (+.f64 d2 37))) 16)
(/.f64 (*.f64 (+.f64 d2 37) (*.f64 8 (*.f64 d1 4))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8)))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8))))) 512)
(pow.f64 (*.f64 d1 (+.f64 d2 37)) 1)
Outputs
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 37 d1)
(*.f64 d1 37)
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 d1 (+.f64 d2 37)) 0)
(*.f64 d1 (+.f64 37 d2))
(+.f64 0 (*.f64 d1 (+.f64 d2 37)))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 1/2)) (*.f64 d1 (*.f64 (+.f64 d2 37) 1/2)))
(*.f64 d1 (+.f64 37 d2))
(-.f64 (*.f64 d1 (+.f64 d2 37)) 0)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 d1 (+.f64 d2 37)) 1)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 (+.f64 d2 37) (+.f64 d1 d1)) 2)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 (+.f64 d2 37) (*.f64 d1 4)) 4)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 8)) 8)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8))) 128)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8)) 64)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 16 (*.f64 d1 (+.f64 d2 37))) 16)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 (+.f64 d2 37) (*.f64 8 (*.f64 d1 4))) 32)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8)))) 256)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 8) (*.f64 d1 8))))) 512)
(*.f64 d1 (+.f64 37 d2))
(pow.f64 (*.f64 d1 (+.f64 d2 37)) 1)
(*.f64 d1 (+.f64 37 d2))

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 d1 (+.f64 d2 5))
0.0b
(+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32))
Compiler

Compiled 27 to 18 computations (33.3% saved)

series2.0ms (0%)

Counts
2 → 44
Calls

12 calls:

TimeVariablePointExpression
1.0ms
d1
@-inf
(+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32))
0.0ms
d1
@0
(+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32))
0.0ms
d2
@inf
(+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32))
0.0ms
d2
@0
(+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32))
0.0ms
d2
@-inf
(+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32))

rewrite193.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
2450×rational.json-simplify-2
1538×rational.json-simplify-53
1210×rational.json-simplify-35
1124×rational.json-1
1124×rational.json-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01038
16632
213226
328226
454926
5126426
6280726
7427226
8550626
9618526
10618526
11717126
Stop Event
node limit
Counts
2 → 82
Calls
Call 1
Inputs
(+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32))
(*.f64 d1 (+.f64 d2 5))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d2 37)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 d2 37))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 d2 37)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 d2 37)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 37) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16) d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4) d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8) (+.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 1/16) (*.f64 d1 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 37) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d2 37) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 d1 (+.f64 d2 37)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 4) (/.f64 (+.f64 d2 37) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 4) (*.f64 (+.f64 d2 37) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 4) (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 4) (*.f64 1/2 (*.f64 (+.f64 d2 37) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (+.f64 d2 37) (/.f64 d1 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 d2 37)) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 8) (*.f64 (+.f64 d2 37) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 8) (*.f64 1/4 (*.f64 (+.f64 d2 37) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d2 5) (+.f64 d1 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 37)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (+.f64 d2 5) 2) 64))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (*.f64 4 (*.f64 (+.f64 d2 37) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 16) (*.f64 (+.f64 d2 37) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 16) (*.f64 1/8 (*.f64 (+.f64 d2 37) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d2 37) 4) (*.f64 d1 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 d1 (*.f64 (+.f64 d2 37) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/4) (*.f64 (+.f64 d2 37) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d2 37) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 d2 37) 4)) (/.f64 d1 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 d2 37) (*.f64 d1 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 d2 37) 4) (*.f64 d1 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d2 5) (+.f64 d1 d1))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d2 37) 1/4) (*.f64 d1 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d2 37) (/.f64 d1 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d2 37) 1/8) (*.f64 d1 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d2 37) 1/16) (*.f64 d1 16))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8) (*.f64 d1 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (+.f64 d2 37) 4)) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 (+.f64 d2 5) 2) 64)) (*.f64 d1 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 d2 37) 1/4)) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4) (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8) (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8)) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 d2 37) 1/8) (*.f64 (+.f64 d2 37) 1/8)) (*.f64 d1 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 d2 37) 1/16) (*.f64 (+.f64 d2 37) 1/16)) (*.f64 d1 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 37)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d2 37)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 d2 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 d2 5)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (*.f64 (+.f64 d2 5) 1/2)) (*.f64 d1 (*.f64 (+.f64 d2 5) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d2 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 5) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 5) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 5) (*.f64 d1 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 d2 5) (*.f64 d1 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d2 5) (*.f64 d1 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d2 5) (*.f64 d1 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d2 5) (*.f64 d1 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d2 5)) 1)))))

simplify502.0ms (5.1%)

Algorithm
egg-herbie
Rules
3706×rational.json-simplify-35
1780×rational.json-simplify-2
1508×rational.json-simplify-53
1360×exponential.json-simplify-26
938×rational.json-simplify-49
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01811830
14391782
210831782
324121782
440711782
548961782
651511782
753581782
855671782
960681782
1065851782
1169531782
1269551782
1369551782
1471531782
1573511782
1675491782
1777471782
1879451782
Stop Event
node limit
Counts
126 → 102
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 d2 37))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (+.f64 d2 5)) 32) d1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (+.f64 d2 5)) 32) d1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (+.f64 d2 5)) 32) d1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (+.f64 d2 5)) 32) d1))
(+.f64 (*.f64 5 d1) (*.f64 32 d1))
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 d2 d1) (*.f64 32 d1)))
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 d2 d1) (*.f64 32 d1)))
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 d2 d1) (*.f64 32 d1)))
(*.f64 d2 d1)
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 32 d1) (*.f64 d2 d1)))
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 32 d1) (*.f64 d2 d1)))
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 32 d1) (*.f64 d2 d1)))
(*.f64 d2 d1)
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 32 d1) (*.f64 d2 d1)))
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 32 d1) (*.f64 d2 d1)))
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 32 d1) (*.f64 d2 d1)))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 5 d2))
(*.f64 5 d1)
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(-.f64 (*.f64 d1 (+.f64 d2 37)) 0)
(*.f64 d1 (+.f64 d2 37))
(*.f64 (*.f64 d1 (+.f64 d2 37)) 1)
(*.f64 1 (*.f64 d1 (+.f64 d2 37)))
(*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 37) 1/2)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16) d1))
(*.f64 2 (*.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4) d1))
(*.f64 2 (*.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8) (+.f64 d1 d1)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/4)))
(*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 1/16) (*.f64 d1 8)))
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 37) 1/2))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16))
(*.f64 (+.f64 d1 d1) (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 2) 1/2)
(*.f64 (+.f64 d2 37) d1)
(*.f64 4 (*.f64 (*.f64 d1 (+.f64 d2 37)) 1/4))
(*.f64 (*.f64 d1 4) (/.f64 (+.f64 d2 37) 4))
(*.f64 (*.f64 d1 4) (*.f64 (+.f64 d2 37) 1/4))
(*.f64 (*.f64 d1 4) (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8))
(*.f64 (*.f64 d1 4) (*.f64 1/2 (*.f64 (+.f64 d2 37) 1/2)))
(*.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 4)) 1/4)
(*.f64 8 (*.f64 (+.f64 d2 37) (/.f64 d1 8)))
(*.f64 (*.f64 2 (+.f64 d2 37)) (*.f64 d1 1/2))
(*.f64 (*.f64 d1 8) (*.f64 (+.f64 d2 37) 1/8))
(*.f64 (*.f64 d1 8) (*.f64 1/4 (*.f64 (+.f64 d2 37) 1/2)))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8) 1/8)
(*.f64 1/2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 2))
(*.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d2 5) (+.f64 d1 d1))))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 37)))
(*.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (+.f64 d2 5) 2) 64))
(*.f64 (*.f64 d1 1/2) (*.f64 4 (*.f64 (+.f64 d2 37) 1/2)))
(*.f64 (*.f64 d1 16) (*.f64 (+.f64 d2 37) 1/16))
(*.f64 (*.f64 d1 16) (*.f64 1/8 (*.f64 (+.f64 d2 37) 1/2)))
(*.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 1/2)) 2)
(*.f64 (*.f64 (+.f64 d2 37) 4) (*.f64 d1 1/4))
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 d2 37) 4)))
(*.f64 (*.f64 d1 1/4) (*.f64 (+.f64 d2 37) 4))
(*.f64 (*.f64 (+.f64 d2 37) 1/2) (+.f64 d1 d1))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 1/4) 4)
(*.f64 (*.f64 2 (*.f64 (+.f64 d2 37) 4)) (/.f64 d1 8))
(*.f64 1/8 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))
(*.f64 1/8 (*.f64 (+.f64 d2 37) (*.f64 d1 8)))
(*.f64 (/.f64 (+.f64 d2 37) 4) (*.f64 d1 4))
(*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/2))
(*.f64 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16) (+.f64 d1 d1))
(*.f64 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d2 5) (+.f64 d1 d1))) 1/2)
(*.f64 (*.f64 (+.f64 d2 37) 1/4) (*.f64 d1 4))
(*.f64 (*.f64 (+.f64 d2 37) (/.f64 d1 8)) 8)
(*.f64 (*.f64 (+.f64 d2 37) 1/8) (*.f64 d1 8))
(*.f64 (*.f64 (+.f64 d2 37) 1/16) (*.f64 d1 16))
(*.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4) (+.f64 d1 d1))
(*.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8) (*.f64 d1 4))
(*.f64 (*.f64 2 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16)) d1)
(*.f64 (*.f64 2 (/.f64 (+.f64 d2 37) 4)) (+.f64 d1 d1))
(*.f64 (*.f64 2 (+.f64 (*.f64 (+.f64 d2 5) 2) 64)) (*.f64 d1 1/4))
(*.f64 (*.f64 2 (*.f64 (+.f64 d2 37) 1/4)) (+.f64 d1 d1))
(*.f64 (+.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4) (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4)) d1)
(*.f64 (+.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8) (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8)) (+.f64 d1 d1))
(*.f64 (+.f64 (*.f64 (+.f64 d2 37) 1/8) (*.f64 (+.f64 d2 37) 1/8)) (*.f64 d1 4))
(*.f64 (+.f64 (*.f64 (+.f64 d2 37) 1/16) (*.f64 (+.f64 d2 37) 1/16)) (*.f64 d1 8))
(/.f64 (*.f64 d1 (+.f64 d2 37)) 1)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 2) 2)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))))) 128)
(pow.f64 (*.f64 d1 (+.f64 d2 37)) 1)
(+.f64 (*.f64 d1 (+.f64 d2 5)) 0)
(+.f64 0 (*.f64 d1 (+.f64 d2 5)))
(+.f64 (*.f64 d1 (*.f64 (+.f64 d2 5) 1/2)) (*.f64 d1 (*.f64 (+.f64 d2 5) 1/2)))
(-.f64 (*.f64 d1 (+.f64 d2 5)) 0)
(/.f64 (*.f64 d1 (+.f64 d2 5)) 1)
(/.f64 (*.f64 (+.f64 d2 5) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 (+.f64 d2 5) (*.f64 d1 4)) 4)
(/.f64 (*.f64 (+.f64 d2 5) (*.f64 d1 8)) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 d2 5) (*.f64 d1 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d2 5) (*.f64 d1 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d2 5) (*.f64 d1 8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d2 5) (*.f64 d1 8)))))) 128)
(pow.f64 (*.f64 d1 (+.f64 d2 5)) 1)
Outputs
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 37 d2))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (+.f64 d2 5)) 32) d1))
(*.f64 d1 (+.f64 37 d2))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (+.f64 d2 5)) 32) d1))
(*.f64 d1 (+.f64 37 d2))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (+.f64 d2 5)) 32) d1))
(*.f64 d1 (+.f64 37 d2))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (+.f64 d2 5)) 32) d1))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 5 d1) (*.f64 32 d1))
(+.f64 (*.f64 d1 5) (*.f64 d1 32))
(*.f64 d1 37)
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 d2 d1) (*.f64 32 d1)))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 d2 d1) (*.f64 32 d1)))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 d2 d1) (*.f64 32 d1)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 32 d1) (*.f64 d2 d1)))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 32 d1) (*.f64 d2 d1)))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 32 d1) (*.f64 d2 d1)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 32 d1) (*.f64 d2 d1)))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 32 d1) (*.f64 d2 d1)))
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 5 d1) (+.f64 (*.f64 32 d1) (*.f64 d2 d1)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 d2 5))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 d2 5))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 d2 5))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 d2 5))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 d2 5))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 d2 5))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 d2 5))
(*.f64 d1 (+.f64 5 d2))
(*.f64 d1 (+.f64 d2 5))
(*.f64 5 d1)
(*.f64 d1 5)
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 5))
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 5))
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 5))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 5))
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 5))
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 5))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 5))
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 5))
(+.f64 (*.f64 5 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 5))
(-.f64 (*.f64 d1 (+.f64 d2 37)) 0)
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 (+.f64 d2 37)) 1)
(*.f64 d1 (+.f64 37 d2))
(*.f64 1 (*.f64 d1 (+.f64 d2 37)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 2 (*.f64 d1 (*.f64 (+.f64 d2 37) 1/2)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16) d1))
(*.f64 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16) (*.f64 d1 2))
(*.f64 d1 (*.f64 2 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16)))
(*.f64 2 (*.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4) d1))
(*.f64 d1 (+.f64 37 d2))
(*.f64 2 (*.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8) (+.f64 d1 d1)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/4)))
(*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/2))
(*.f64 1/2 (*.f64 d1 (+.f64 (*.f64 (+.f64 d2 5) 2) 64)))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 (+.f64 d2 10) 64))))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 64 (+.f64 d2 10)))))
(*.f64 d1 (*.f64 1/2 (+.f64 64 (*.f64 (+.f64 d2 5) 2))))
(*.f64 2 (*.f64 (*.f64 (+.f64 d2 37) 1/16) (*.f64 d1 8)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 37) 1/2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16))
(*.f64 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16) (*.f64 d1 2))
(*.f64 d1 (*.f64 2 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16)))
(*.f64 (+.f64 d1 d1) (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 2) 1/2)
(*.f64 d1 (+.f64 37 d2))
(*.f64 (+.f64 d2 37) d1)
(*.f64 d1 (+.f64 37 d2))
(*.f64 4 (*.f64 (*.f64 d1 (+.f64 d2 37)) 1/4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 4) (/.f64 (+.f64 d2 37) 4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 4) (*.f64 (+.f64 d2 37) 1/4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 4) (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 4) (*.f64 1/2 (*.f64 (+.f64 d2 37) 1/2)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 4)) 1/4)
(*.f64 d1 (+.f64 37 d2))
(*.f64 8 (*.f64 (+.f64 d2 37) (/.f64 d1 8)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 2 (+.f64 d2 37)) (*.f64 d1 1/2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 8) (*.f64 (+.f64 d2 37) 1/8))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 8) (*.f64 1/4 (*.f64 (+.f64 d2 37) 1/2)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8) 1/8)
(*.f64 d1 (+.f64 37 d2))
(*.f64 1/2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d2 5) (+.f64 d1 d1))))
(*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/4)))
(*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/2))
(*.f64 1/2 (*.f64 d1 (+.f64 (*.f64 (+.f64 d2 5) 2) 64)))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 (+.f64 d2 10) 64))))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 64 (+.f64 d2 10)))))
(*.f64 d1 (*.f64 1/2 (+.f64 64 (*.f64 (+.f64 d2 5) 2))))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 37)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (+.f64 d2 5) 2) 64))
(*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/4)))
(*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/2))
(*.f64 1/2 (*.f64 d1 (+.f64 (*.f64 (+.f64 d2 5) 2) 64)))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 (+.f64 d2 10) 64))))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 64 (+.f64 d2 10)))))
(*.f64 d1 (*.f64 1/2 (+.f64 64 (*.f64 (+.f64 d2 5) 2))))
(*.f64 (*.f64 d1 1/2) (*.f64 4 (*.f64 (+.f64 d2 37) 1/2)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 16) (*.f64 (+.f64 d2 37) 1/16))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 16) (*.f64 1/8 (*.f64 (+.f64 d2 37) 1/2)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 1/2)) 2)
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (+.f64 d2 37) 4) (*.f64 d1 1/4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 d2 37) 4)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 1/4) (*.f64 (+.f64 d2 37) 4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (+.f64 d2 37) 1/2) (+.f64 d1 d1))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 1/4) 4)
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 2 (*.f64 (+.f64 d2 37) 4)) (/.f64 d1 8))
(*.f64 d1 (+.f64 37 d2))
(*.f64 1/8 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))
(*.f64 d1 (+.f64 37 d2))
(*.f64 1/8 (*.f64 (+.f64 d2 37) (*.f64 d1 8)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (/.f64 (+.f64 d2 37) 4) (*.f64 d1 4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/2))
(*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/4)))
(*.f64 1/2 (*.f64 d1 (+.f64 (*.f64 (+.f64 d2 5) 2) 64)))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 (+.f64 d2 10) 64))))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 64 (+.f64 d2 10)))))
(*.f64 d1 (*.f64 1/2 (+.f64 64 (*.f64 (+.f64 d2 5) 2))))
(*.f64 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16) (+.f64 d1 d1))
(*.f64 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16) (*.f64 d1 2))
(*.f64 d1 (*.f64 2 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16)))
(*.f64 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d2 5) (+.f64 d1 d1))) 1/2)
(*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/4)))
(*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/2))
(*.f64 1/2 (*.f64 d1 (+.f64 (*.f64 (+.f64 d2 5) 2) 64)))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 (+.f64 d2 10) 64))))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 64 (+.f64 d2 10)))))
(*.f64 d1 (*.f64 1/2 (+.f64 64 (*.f64 (+.f64 d2 5) 2))))
(*.f64 (*.f64 (+.f64 d2 37) 1/4) (*.f64 d1 4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (+.f64 d2 37) (/.f64 d1 8)) 8)
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (+.f64 d2 37) 1/8) (*.f64 d1 8))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (+.f64 d2 37) 1/16) (*.f64 d1 16))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4) (+.f64 d1 d1))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8) (*.f64 d1 4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 2 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16)) d1)
(*.f64 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16) (*.f64 d1 2))
(*.f64 d1 (*.f64 2 (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16)))
(*.f64 (*.f64 2 (/.f64 (+.f64 d2 37) 4)) (+.f64 d1 d1))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 2 (+.f64 (*.f64 (+.f64 d2 5) 2) 64)) (*.f64 d1 1/4))
(*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/4)))
(*.f64 (+.f64 (*.f64 (+.f64 d2 5) 2) 64) (*.f64 d1 1/2))
(*.f64 1/2 (*.f64 d1 (+.f64 (*.f64 (+.f64 d2 5) 2) 64)))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 (+.f64 d2 10) 64))))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 64 (+.f64 d2 10)))))
(*.f64 d1 (*.f64 1/2 (+.f64 64 (*.f64 (+.f64 d2 5) 2))))
(*.f64 (*.f64 2 (*.f64 (+.f64 d2 37) 1/4)) (+.f64 d1 d1))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (+.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4) (*.f64 (*.f64 2 (+.f64 d2 37)) 1/4)) d1)
(*.f64 d1 (+.f64 37 d2))
(*.f64 (+.f64 (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8) (*.f64 (*.f64 2 (+.f64 d2 37)) 1/8)) (+.f64 d1 d1))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (+.f64 (*.f64 (+.f64 d2 37) 1/8) (*.f64 (+.f64 d2 37) 1/8)) (*.f64 d1 4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (+.f64 (*.f64 (+.f64 d2 37) 1/16) (*.f64 (+.f64 d2 37) 1/16)) (*.f64 d1 8))
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 d1 (+.f64 d2 37)) 1)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 2) 2)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 4)) 4)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8) 8)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8)) 16)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))) 32)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8)))) 64)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))))) 128)
(*.f64 d1 (+.f64 37 d2))
(pow.f64 (*.f64 d1 (+.f64 d2 37)) 1)
(*.f64 d1 (+.f64 37 d2))
(+.f64 (*.f64 d1 (+.f64 d2 5)) 0)
(*.f64 d1 (+.f64 d2 5))
(+.f64 0 (*.f64 d1 (+.f64 d2 5)))
(*.f64 d1 (+.f64 d2 5))
(+.f64 (*.f64 d1 (*.f64 (+.f64 d2 5) 1/2)) (*.f64 d1 (*.f64 (+.f64 d2 5) 1/2)))
(*.f64 d1 (+.f64 d2 5))
(-.f64 (*.f64 d1 (+.f64 d2 5)) 0)
(*.f64 d1 (+.f64 d2 5))
(/.f64 (*.f64 d1 (+.f64 d2 5)) 1)
(*.f64 d1 (+.f64 d2 5))
(/.f64 (*.f64 (+.f64 d2 5) (+.f64 d1 d1)) 2)
(*.f64 d1 (+.f64 d2 5))
(/.f64 (*.f64 (+.f64 d2 5) (*.f64 d1 4)) 4)
(*.f64 d1 (+.f64 d2 5))
(/.f64 (*.f64 (+.f64 d2 5) (*.f64 d1 8)) 8)
(*.f64 d1 (+.f64 d2 5))
(/.f64 (*.f64 2 (*.f64 (+.f64 d2 5) (*.f64 d1 8))) 16)
(*.f64 d1 (+.f64 d2 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d2 5) (*.f64 d1 8)))) 32)
(*.f64 d1 (+.f64 d2 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d2 5) (*.f64 d1 8))))) 64)
(*.f64 d1 (+.f64 d2 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d2 5) (*.f64 d1 8)))))) 128)
(*.f64 d1 (+.f64 d2 5))
(pow.f64 (*.f64 d1 (+.f64 d2 5)) 1)
(*.f64 d1 (+.f64 d2 5))

eval30.0ms (0.3%)

Compiler

Compiled 1441 to 1084 computations (24.8% saved)

prune105.0ms (1.1%)

Pruning

9 alts after pruning (3 fresh and 6 done)

PrunedKeptTotal
New1393142
Fresh101
Picked011
Done055
Total1409149
Error
0.0b
Counts
149 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
24.2b
(+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32))
24.2b
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
21.5b
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
21.5b
(*.f64 (+.f64 37 d3) d1)
42.0b
(*.f64 d2 d1)
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
24.2b
(*.f64 d1 (+.f64 d2 37))
38.7b
(*.f64 d1 d3)
44.8b
(*.f64 d1 37)
Compiler

Compiled 76 to 55 computations (27.6% saved)

localize3.0ms (0%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
Compiler

Compiled 19 to 10 computations (47.4% saved)

series2.0ms (0%)

Counts
1 → 15
Calls

6 calls:

TimeVariablePointExpression
0.0ms
d1
@0
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
0.0ms
d1
@-inf
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
0.0ms
d3
@-inf
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
0.0ms
d3
@inf
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
0.0ms
d3
@0
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))

rewrite349.0ms (3.6%)

Algorithm
batch-egg-rewrite
Rules
1716×rational.json-simplify-1
1714×rational.json-simplify-35
1416×exponential.json-3
1416×rational.json-1
1416×rational.json-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0819
15313
211413
324513
445713
5105113
6259413
7469513
8558213
9687013
10784713
11784713
Stop Event
node limit
Counts
1 → 44
Calls
Call 1
Inputs
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 37 d3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 37 d3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 37 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 37 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 d3 (+.f64 d3 74))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 (+.f64 37 d3) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 (*.f64 d3 1/2) 37/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 1/4 (+.f64 d3 (+.f64 d3 74))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 37 d3) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 d1 (/.f64 (+.f64 37 d3) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 d1 8) (+.f64 d3 (+.f64 d3 74))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 4) (/.f64 (+.f64 37 d3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 4) (*.f64 (+.f64 37 d3) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 4) (*.f64 1/8 (+.f64 d3 (+.f64 d3 74))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 d1 8) (+.f64 37 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d3 (+.f64 d3 74)) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 8) (*.f64 1/8 (+.f64 37 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 d1 (+.f64 d3 (+.f64 d3 74))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (+.f64 d3 (+.f64 d3 74)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d3 d3) 74))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 d1 8)) (*.f64 1/16 (+.f64 37 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 37 d3) 4) (*.f64 d1 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 d1 (+.f64 37 d3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 37 d3) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (/.f64 (+.f64 37 d3) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/4) (*.f64 (+.f64 37 d3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 37 d3) 4) (*.f64 d1 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 d3 1/2) 37/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 d3 d3) 74) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 37 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d3 (+.f64 d3 74))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 37 d3)) 1)))))

simplify230.0ms (2.3%)

Algorithm
egg-herbie
Rules
2420×rational.json-simplify-2
1876×rational.json-simplify-35
1612×rational.json-simplify-1
1492×rational.json-simplify-51
1126×rational.json-simplify-41
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0106821
1244805
2624805
31699789
44158773
55869773
66407773
76545773
86659773
96767773
106873773
117967773
Stop Event
node limit
Counts
59 → 53
Calls
Call 1
Inputs
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d3) 37)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d3) 37)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d3) 37)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d3) 37)))
(*.f64 37 d1)
(*.f64 d1 d3)
(*.f64 d1 d3)
(-.f64 (*.f64 d1 (+.f64 37 d3)) 0)
(*.f64 d1 (+.f64 37 d3))
(*.f64 (*.f64 d1 (+.f64 37 d3)) 1)
(*.f64 1 (*.f64 d1 (+.f64 37 d3)))
(*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 1/2))
(*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d3 74))) 1/2)
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 37 d3) 1/2))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 d3 1/2) 37/2))
(*.f64 (+.f64 d1 d1) (*.f64 1/4 (+.f64 d3 (+.f64 d3 74))))
(*.f64 (+.f64 37 d3) d1)
(*.f64 4 (*.f64 d1 (/.f64 (+.f64 37 d3) 4)))
(*.f64 4 (*.f64 (/.f64 d1 8) (+.f64 d3 (+.f64 d3 74))))
(*.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 4) 1/4)
(*.f64 (*.f64 d1 4) (/.f64 (+.f64 37 d3) 4))
(*.f64 (*.f64 d1 4) (*.f64 (+.f64 37 d3) 1/4))
(*.f64 (*.f64 d1 4) (*.f64 1/8 (+.f64 d3 (+.f64 d3 74))))
(*.f64 8 (*.f64 (/.f64 d1 8) (+.f64 37 d3)))
(*.f64 (+.f64 d3 (+.f64 d3 74)) (*.f64 d1 1/2))
(*.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8) 1/8)
(*.f64 (*.f64 d1 8) (*.f64 1/8 (+.f64 37 d3)))
(*.f64 1/2 (*.f64 d1 (+.f64 d3 (+.f64 d3 74))))
(*.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 1/2) 2)
(*.f64 (*.f64 d1 1/2) (+.f64 d3 (+.f64 d3 74)))
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d3 d3) 74))
(*.f64 (*.f64 2 (*.f64 d1 8)) (*.f64 1/16 (+.f64 37 d3)))
(*.f64 (*.f64 (+.f64 37 d3) 4) (*.f64 d1 1/4))
(*.f64 1/4 (*.f64 (*.f64 d1 (+.f64 37 d3)) 4))
(*.f64 (*.f64 (+.f64 37 d3) 1/2) (+.f64 d1 d1))
(*.f64 (*.f64 d1 (/.f64 (+.f64 37 d3) 4)) 4)
(*.f64 (*.f64 d1 1/4) (*.f64 (+.f64 37 d3) 4))
(*.f64 1/8 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8))
(*.f64 (/.f64 (+.f64 37 d3) 4) (*.f64 d1 4))
(*.f64 (+.f64 (*.f64 d3 1/2) 37/2) (+.f64 d1 d1))
(*.f64 (+.f64 (+.f64 d3 d3) 74) (*.f64 d1 1/2))
(/.f64 (*.f64 d1 (+.f64 37 d3)) 1)
(/.f64 (*.f64 d1 (+.f64 d3 (+.f64 d3 74))) 2)
(/.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 4) 4)
(/.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8)))))) 256)
(pow.f64 (*.f64 d1 (+.f64 37 d3)) 1)
Outputs
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d3) 37)))
(*.f64 d1 (*.f64 (-.f64 (*.f64 d3 -1) 37) -1))
(*.f64 d1 (neg.f64 (-.f64 (neg.f64 d3) 37)))
(*.f64 (-.f64 (neg.f64 d3) 37) (neg.f64 d1))
(*.f64 (-.f64 -37 d3) (neg.f64 d1))
(*.f64 d1 (-.f64 d3 -37))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d3) 37)))
(*.f64 d1 (*.f64 (-.f64 (*.f64 d3 -1) 37) -1))
(*.f64 d1 (neg.f64 (-.f64 (neg.f64 d3) 37)))
(*.f64 (-.f64 (neg.f64 d3) 37) (neg.f64 d1))
(*.f64 (-.f64 -37 d3) (neg.f64 d1))
(*.f64 d1 (-.f64 d3 -37))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d3) 37)))
(*.f64 d1 (*.f64 (-.f64 (*.f64 d3 -1) 37) -1))
(*.f64 d1 (neg.f64 (-.f64 (neg.f64 d3) 37)))
(*.f64 (-.f64 (neg.f64 d3) 37) (neg.f64 d1))
(*.f64 (-.f64 -37 d3) (neg.f64 d1))
(*.f64 d1 (-.f64 d3 -37))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d3) 37)))
(*.f64 d1 (*.f64 (-.f64 (*.f64 d3 -1) 37) -1))
(*.f64 d1 (neg.f64 (-.f64 (neg.f64 d3) 37)))
(*.f64 (-.f64 (neg.f64 d3) 37) (neg.f64 d1))
(*.f64 (-.f64 -37 d3) (neg.f64 d1))
(*.f64 d1 (-.f64 d3 -37))
(*.f64 37 d1)
(*.f64 d1 d3)
(*.f64 d3 d1)
(*.f64 d1 d3)
(*.f64 d3 d1)
(-.f64 (*.f64 d1 (+.f64 37 d3)) 0)
(*.f64 (+.f64 37 d3) d1)
(*.f64 d1 (+.f64 37 d3))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 d1 (+.f64 37 d3)) 1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 1 (*.f64 d1 (+.f64 37 d3)))
(*.f64 (+.f64 37 d3) d1)
(*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 1/2))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 d1 (+.f64 d3 (+.f64 d3 74))) 1/2)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 37 d3) 1/2))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 d3 1/2) 37/2))
(*.f64 (+.f64 d1 d1) (*.f64 1/4 (+.f64 d3 (+.f64 d3 74))))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 37 d3) d1)
(*.f64 4 (*.f64 d1 (/.f64 (+.f64 37 d3) 4)))
(*.f64 (+.f64 37 d3) d1)
(*.f64 4 (*.f64 (/.f64 d1 8) (+.f64 d3 (+.f64 d3 74))))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 4) 1/4)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 d1 4) (/.f64 (+.f64 37 d3) 4))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 d1 4) (*.f64 (+.f64 37 d3) 1/4))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 d1 4) (*.f64 1/8 (+.f64 d3 (+.f64 d3 74))))
(*.f64 (+.f64 37 d3) d1)
(*.f64 8 (*.f64 (/.f64 d1 8) (+.f64 37 d3)))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 d3 (+.f64 d3 74)) (*.f64 d1 1/2))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8) 1/8)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 d1 8) (*.f64 1/8 (+.f64 37 d3)))
(*.f64 (+.f64 37 d3) d1)
(*.f64 1/2 (*.f64 d1 (+.f64 d3 (+.f64 d3 74))))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 1/2) 2)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 d1 1/2) (+.f64 d3 (+.f64 d3 74)))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d3 d3) 74))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 2 (*.f64 d1 8)) (*.f64 1/16 (+.f64 37 d3)))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 (+.f64 37 d3) 4) (*.f64 d1 1/4))
(*.f64 (+.f64 37 d3) d1)
(*.f64 1/4 (*.f64 (*.f64 d1 (+.f64 37 d3)) 4))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 (+.f64 37 d3) 1/2) (+.f64 d1 d1))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 d1 (/.f64 (+.f64 37 d3) 4)) 4)
(*.f64 (+.f64 37 d3) d1)
(*.f64 (*.f64 d1 1/4) (*.f64 (+.f64 37 d3) 4))
(*.f64 (+.f64 37 d3) d1)
(*.f64 1/8 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (/.f64 (+.f64 37 d3) 4) (*.f64 d1 4))
(*.f64 (+.f64 37 d3) d1)
(*.f64 (+.f64 (*.f64 d3 1/2) 37/2) (+.f64 d1 d1))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 d3 1/2) 37/2))
(*.f64 (+.f64 (+.f64 d3 d3) 74) (*.f64 d1 1/2))
(*.f64 (+.f64 37 d3) d1)
(/.f64 (*.f64 d1 (+.f64 37 d3)) 1)
(*.f64 (+.f64 37 d3) d1)
(/.f64 (*.f64 d1 (+.f64 d3 (+.f64 d3 74))) 2)
(*.f64 (+.f64 37 d3) d1)
(/.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 4) 4)
(*.f64 (+.f64 37 d3) d1)
(/.f64 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8) 8)
(*.f64 (+.f64 37 d3) d1)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8)) 16)
(*.f64 (+.f64 37 d3) d1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8))) 32)
(*.f64 (+.f64 37 d3) d1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8)))) 64)
(*.f64 (+.f64 37 d3) d1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8))))) 128)
(*.f64 (+.f64 37 d3) d1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8)))))) 256)
(*.f64 (+.f64 37 d3) d1)
(pow.f64 (*.f64 d1 (+.f64 37 d3)) 1)
(*.f64 (+.f64 37 d3) d1)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
Compiler

Compiled 19 to 10 computations (47.4% saved)

series3.0ms (0%)

Counts
1 → 15
Calls

6 calls:

TimeVariablePointExpression
1.0ms
d2
@inf
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
0.0ms
d1
@0
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
0.0ms
d1
@-inf
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
0.0ms
d2
@0
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
0.0ms
d2
@-inf
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))

rewrite198.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
1716×rational.json-simplify-1
1714×rational.json-simplify-35
1416×exponential.json-3
1416×rational.json-1
1416×rational.json-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0819
15313
211413
324513
445713
5104913
6259213
7469313
8558013
9686813
10784513
11784513
Stop Event
node limit
Counts
1 → 44
Calls
Call 1
Inputs
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 37 d2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 37 d2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 37 d2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 37 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 d1 (*.f64 (+.f64 37 d2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 2 (+.f64 37 d2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 (+.f64 37 d2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 (*.f64 d2 1/2) 37/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 1/4 (*.f64 2 (+.f64 37 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 37 d2) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 d1 (+.f64 37 d2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 d1 8) (*.f64 2 (+.f64 37 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 (+.f64 37 d2) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 4) (/.f64 (+.f64 37 d2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 4) (*.f64 (+.f64 37 d2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 4) (*.f64 1/8 (*.f64 2 (+.f64 37 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 d1 8) (+.f64 37 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 37 d2)) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 8) (*.f64 1/8 (+.f64 37 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 37 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 (+.f64 37 d2) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 37 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 d2) 74))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 d1 8)) (*.f64 1/16 (+.f64 37 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 37 d2) 4) (*.f64 d1 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 d1 (*.f64 (+.f64 37 d2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 37 d2) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 37 d2)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/4) (*.f64 (+.f64 37 d2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 37 d2) 4) (*.f64 d1 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 d2 1/2) 37/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 d2 d2) 74) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 37 d2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 2 (+.f64 37 d2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 37 d2) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 37 d2)) 1)))))

simplify364.0ms (3.7%)

Algorithm
egg-herbie
Rules
2560×rational.json-simplify-2
1848×rational.json-simplify-35
1426×rational.json-simplify-51
1380×rational.json-simplify-1
996×exponential.json-simplify-26
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0107821
1251805
2604805
31571789
43882773
55388773
65696773
75807773
85915773
96014773
106110773
117164773
127604773
137862773
147865773
157865773
Stop Event
node limit
Counts
59 → 55
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 d2 37))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) 37)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) 37)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) 37)))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) 37)))
(*.f64 37 d1)
(*.f64 d2 d1)
(*.f64 d2 d1)
(-.f64 (*.f64 d1 (+.f64 37 d2)) 0)
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 (+.f64 37 d2)) 1)
(*.f64 1 (*.f64 d1 (+.f64 37 d2)))
(*.f64 2 (*.f64 d1 (*.f64 (+.f64 37 d2) 1/2)))
(*.f64 (*.f64 d1 (*.f64 2 (+.f64 37 d2))) 1/2)
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 37 d2) 1/2))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 d2 1/2) 37/2))
(*.f64 (+.f64 d1 d1) (*.f64 1/4 (*.f64 2 (+.f64 37 d2))))
(*.f64 (+.f64 37 d2) d1)
(*.f64 4 (*.f64 (*.f64 d1 (+.f64 37 d2)) 1/4))
(*.f64 4 (*.f64 (/.f64 d1 8) (*.f64 2 (+.f64 37 d2))))
(*.f64 (*.f64 d1 (*.f64 (+.f64 37 d2) 4)) 1/4)
(*.f64 (*.f64 d1 4) (/.f64 (+.f64 37 d2) 4))
(*.f64 (*.f64 d1 4) (*.f64 (+.f64 37 d2) 1/4))
(*.f64 (*.f64 d1 4) (*.f64 1/8 (*.f64 2 (+.f64 37 d2))))
(*.f64 8 (*.f64 (/.f64 d1 8) (+.f64 37 d2)))
(*.f64 (*.f64 2 (+.f64 37 d2)) (*.f64 d1 1/2))
(*.f64 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8) 1/8)
(*.f64 (*.f64 d1 8) (*.f64 1/8 (+.f64 37 d2)))
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 37 d2))))
(*.f64 (*.f64 d1 (*.f64 (+.f64 37 d2) 1/2)) 2)
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 37 d2)))
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 d2) 74))
(*.f64 (*.f64 2 (*.f64 d1 8)) (*.f64 1/16 (+.f64 37 d2)))
(*.f64 (*.f64 (+.f64 37 d2) 4) (*.f64 d1 1/4))
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 37 d2) 4)))
(*.f64 (*.f64 (+.f64 37 d2) 1/2) (+.f64 d1 d1))
(*.f64 (*.f64 (*.f64 d1 (+.f64 37 d2)) 1/4) 4)
(*.f64 (*.f64 d1 1/4) (*.f64 (+.f64 37 d2) 4))
(*.f64 1/8 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8))
(*.f64 (/.f64 (+.f64 37 d2) 4) (*.f64 d1 4))
(*.f64 (+.f64 (*.f64 d2 1/2) 37/2) (+.f64 d1 d1))
(*.f64 (+.f64 (+.f64 d2 d2) 74) (*.f64 d1 1/2))
(/.f64 (*.f64 d1 (+.f64 37 d2)) 1)
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 37 d2))) 2)
(/.f64 (*.f64 d1 (*.f64 (+.f64 37 d2) 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8)))))) 256)
(pow.f64 (*.f64 d1 (+.f64 37 d2)) 1)
Outputs
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 (+.f64 37 d2))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) 37)))
(*.f64 d1 (*.f64 (-.f64 (*.f64 d2 -1) 37) -1))
(*.f64 d1 (neg.f64 (-.f64 (neg.f64 d2) 37)))
(*.f64 (-.f64 (neg.f64 d2) 37) (neg.f64 d1))
(*.f64 (-.f64 -37 d2) (neg.f64 d1))
(*.f64 d1 (-.f64 d2 -37))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) 37)))
(*.f64 d1 (*.f64 (-.f64 (*.f64 d2 -1) 37) -1))
(*.f64 d1 (neg.f64 (-.f64 (neg.f64 d2) 37)))
(*.f64 (-.f64 (neg.f64 d2) 37) (neg.f64 d1))
(*.f64 (-.f64 -37 d2) (neg.f64 d1))
(*.f64 d1 (-.f64 d2 -37))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) 37)))
(*.f64 d1 (*.f64 (-.f64 (*.f64 d2 -1) 37) -1))
(*.f64 d1 (neg.f64 (-.f64 (neg.f64 d2) 37)))
(*.f64 (-.f64 (neg.f64 d2) 37) (neg.f64 d1))
(*.f64 (-.f64 -37 d2) (neg.f64 d1))
(*.f64 d1 (-.f64 d2 -37))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) 37)))
(*.f64 d1 (*.f64 (-.f64 (*.f64 d2 -1) 37) -1))
(*.f64 d1 (neg.f64 (-.f64 (neg.f64 d2) 37)))
(*.f64 (-.f64 (neg.f64 d2) 37) (neg.f64 d1))
(*.f64 (-.f64 -37 d2) (neg.f64 d1))
(*.f64 d1 (-.f64 d2 -37))
(*.f64 37 d1)
(*.f64 d1 37)
(*.f64 d2 d1)
(*.f64 d1 d2)
(*.f64 d2 d1)
(*.f64 d1 d2)
(-.f64 (*.f64 d1 (+.f64 37 d2)) 0)
(*.f64 d1 (+.f64 37 d2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 (+.f64 37 d2)) 1)
(*.f64 d1 (+.f64 37 d2))
(*.f64 1 (*.f64 d1 (+.f64 37 d2)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 2 (*.f64 d1 (*.f64 (+.f64 37 d2) 1/2)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 (*.f64 2 (+.f64 37 d2))) 1/2)
(*.f64 d1 (+.f64 37 d2))
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 37 d2) 1/2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 d2 1/2) 37/2))
(*.f64 (+.f64 d1 d1) (*.f64 1/4 (*.f64 2 (+.f64 37 d2))))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (+.f64 37 d2) d1)
(*.f64 d1 (+.f64 37 d2))
(*.f64 4 (*.f64 (*.f64 d1 (+.f64 37 d2)) 1/4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 4 (*.f64 (/.f64 d1 8) (*.f64 2 (+.f64 37 d2))))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 (*.f64 (+.f64 37 d2) 4)) 1/4)
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 4) (/.f64 (+.f64 37 d2) 4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 4) (*.f64 (+.f64 37 d2) 1/4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 4) (*.f64 1/8 (*.f64 2 (+.f64 37 d2))))
(*.f64 d1 (+.f64 37 d2))
(*.f64 8 (*.f64 (/.f64 d1 8) (+.f64 37 d2)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 2 (+.f64 37 d2)) (*.f64 d1 1/2))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8) 1/8)
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 8) (*.f64 1/8 (+.f64 37 d2)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 37 d2))))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 (*.f64 (+.f64 37 d2) 1/2)) 2)
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 37 d2)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 d2) 74))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 2 (*.f64 d1 8)) (*.f64 1/16 (+.f64 37 d2)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (+.f64 37 d2) 4) (*.f64 d1 1/4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 37 d2) 4)))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (+.f64 37 d2) 1/2) (+.f64 d1 d1))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 (*.f64 d1 (+.f64 37 d2)) 1/4) 4)
(*.f64 d1 (+.f64 37 d2))
(*.f64 (*.f64 d1 1/4) (*.f64 (+.f64 37 d2) 4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 1/8 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (/.f64 (+.f64 37 d2) 4) (*.f64 d1 4))
(*.f64 d1 (+.f64 37 d2))
(*.f64 (+.f64 (*.f64 d2 1/2) 37/2) (+.f64 d1 d1))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 d2 1/2) 37/2))
(*.f64 (+.f64 (+.f64 d2 d2) 74) (*.f64 d1 1/2))
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 d1 (+.f64 37 d2)) 1)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 37 d2))) 2)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 d1 (*.f64 (+.f64 37 d2) 4)) 4)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8) 8)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8)) 16)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8))) 32)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8)))) 64)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8))))) 128)
(*.f64 d1 (+.f64 37 d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8)))))) 256)
(*.f64 d1 (+.f64 37 d2))
(pow.f64 (*.f64 d1 (+.f64 37 d2)) 1)
(*.f64 d1 (+.f64 37 d2))

eval20.0ms (0.2%)

Compiler

Compiled 947 to 696 computations (26.5% saved)

prune77.0ms (0.8%)

Pruning

9 alts after pruning (0 fresh and 9 done)

PrunedKeptTotal
New1080108
Fresh000
Picked011
Done088
Total1089117
Error
0.0b
Counts
117 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
24.2b
(+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32))
24.2b
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
21.5b
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
21.5b
(*.f64 (+.f64 37 d3) d1)
42.0b
(*.f64 d2 d1)
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
24.2b
(*.f64 d1 (+.f64 d2 37))
38.7b
(*.f64 d1 d3)
44.8b
(*.f64 d1 37)
Compiler

Compiled 76 to 55 computations (27.6% saved)

regimes94.0ms (1%)

Counts
12 → 1
Calls
Call 1
Inputs
(*.f64 d1 37)
(*.f64 d1 d3)
(*.f64 d2 d1)
(*.f64 d1 (+.f64 d2 37))
(*.f64 (+.f64 37 d3) d1)
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
(+.f64 (*.f64 37 d1) (*.f64 d1 d3))
(+.f64 (*.f64 37 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32))
(+.f64 (*.f64 (+.f64 5 d3) d1) (*.f64 d1 32))
(+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32))
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
Outputs
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
Calls

5 calls:

67.0ms
d1
8.0ms
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
7.0ms
d2
6.0ms
d3
4.0ms
(+.f64 d3 5)
Results
ErrorSegmentsBranch
0.0b1d1
0.0b1d2
0.0b1d3
0.0b1(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
0.0b1(+.f64 d3 5)
Compiler

Compiled 119 to 75 computations (37% saved)

regimes181.0ms (1.8%)

Counts
5 → 2
Calls
Call 1
Inputs
(*.f64 d1 37)
(*.f64 d1 d3)
(*.f64 d2 d1)
(*.f64 d1 (+.f64 d2 37))
(*.f64 (+.f64 37 d3) d1)
Outputs
(*.f64 d1 (+.f64 d2 37))
(*.f64 (+.f64 37 d3) d1)
Calls

3 calls:

152.0ms
d2
20.0ms
d1
8.0ms
d3
Results
ErrorSegmentsBranch
15.4b4d1
4.5b2d2
3.8b2d3
Compiler

Compiled 34 to 22 computations (35.3% saved)

bsearch15.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
9.168808459316977e-12
3.7134387515884796e-9
Results
14.0ms128×body256valid
Compiler

Compiled 166 to 128 computations (22.9% saved)

regimes586.0ms (6%)

Counts
4 → 2
Calls
Call 1
Inputs
(*.f64 d1 37)
(*.f64 d1 d3)
(*.f64 d2 d1)
(*.f64 d1 (+.f64 d2 37))
Outputs
(*.f64 d1 (+.f64 d2 37))
(*.f64 d1 d3)
Calls

3 calls:

461.0ms
d2
107.0ms
d3
18.0ms
d1
Results
ErrorSegmentsBranch
19.4b5d1
15.1b6d2
4.6b2d3
Compiler

Compiled 29 to 19 computations (34.5% saved)

bsearch17.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
5.3894320619317435
3958222235.3705654
Results
15.0ms144×body256valid
Compiler

Compiled 166 to 124 computations (25.3% saved)

regimes226.0ms (2.3%)

Counts
3 → 7
Calls
Call 1
Inputs
(*.f64 d1 37)
(*.f64 d1 d3)
(*.f64 d2 d1)
Outputs
(*.f64 d2 d1)
(*.f64 d1 37)
(*.f64 d1 d3)
(*.f64 d1 37)
(*.f64 d1 d3)
(*.f64 d1 37)
(*.f64 d1 d3)
Calls

3 calls:

126.0ms
d2
58.0ms
d3
41.0ms
d1
Results
ErrorSegmentsBranch
29.7b7d1
15.7b7d2
15.9b5d3
Compiler

Compiled 24 to 16 computations (33.3% saved)

bsearch233.0ms (2.4%)

Algorithm
binary-search
Steps
TimeLeftRight
116.0ms
2.431757411407054e-202
6.0138020348564166e-195
13.0ms
4.8285668142810187e-228
4.655884481560044e-226
11.0ms
4.201209367813483e-303
8.912299946503683e-303
11.0ms
-5.973357899491283e-210
-4.7617814006648355e-211
66.0ms
-8.675380623143883e-183
-1.397789906889591e-193
16.0ms
-114.34865387709024
-0.08345461664056139
Results
224.0ms720×body256valid
Compiler

Compiled 652 to 511 computations (21.6% saved)

regimes304.0ms (3.1%)

Accuracy

Total -38.7b remaining (-171.8%)

Threshold costs -38.7b (-171.8%)

Counts
2 → 2
Calls
Call 1
Inputs
(*.f64 d1 37)
(*.f64 d1 d3)
Outputs
(*.f64 d1 37)
(*.f64 d1 d3)
Calls

3 calls:

281.0ms
d2
17.0ms
d1
5.0ms
d3
Results
ErrorSegmentsBranch
34.0b6d1
31.8b7d2
22.5b2d3
Compiler

Compiled 21 to 15 computations (28.6% saved)

bsearch16.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
5.3894320619317435
3958222235.3705654
Results
15.0ms144×body256valid
Compiler

Compiled 148 to 115 computations (22.3% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046216
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
(if (<=.f64 d3 279564095785883/75557863725914323419136) (*.f64 d1 (+.f64 d2 37)) (*.f64 (+.f64 37 d3) d1))
(if (<=.f64 d3 12500000) (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(if (<=.f64 d2 -38) (*.f64 d2 d1) (if (<=.f64 d2 -2645396987754965/9797766621314684873895700802803279209044463565243731922466831101232640732633100491228823617617764419367505179450247842283955649007454149170085442756585554871624752266571753841250508572690789992495054848) (*.f64 d1 37) (if (<=.f64 d2 -962387809749089/740298315191606967520227188330889966610377319868419938630605715764070011466206019559325413145373572325939050053182159998975553533608824916574615132828322000124194610605645134711392062011527273571616649243219599128195212771328) (*.f64 d1 d3) (if (<=.f64 d2 8956398538073743/1544206644495472857303583883048380333324864576447617480139933456630175320190394187102969236003396030389305708803686614314192266367994640173851115417028339461681498903477221384921775113999124270181577817371160469578262386195561925496048762173836971712805252506350393444460551564142078418977251644200485277277433072975872) (*.f64 d1 37) (if (<=.f64 d2 6657345609787247/853505847408621347082221029212320998034529065256436244530720999905796766440656905154743321711558949215095028555959454777073766611727278730286509574698346245900180170177793863483274020596712195165307522065393485053656415748796987045268976304128) (*.f64 d1 d3) (if (<=.f64 d2 4201375747284717/10772758326371068942829547280138503507047095916181860064252479289484763452000421523688789066296501148112861120217452989876263797248376430311685764650295051980708298078471054537096527376147092924971608579554880258048) (*.f64 d1 37) (*.f64 d1 d3)))))))
(if (<=.f64 d3 36) (*.f64 d1 37) (*.f64 d1 d3))
(*.f64 d1 37)
Outputs
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
(if (<=.f64 d3 279564095785883/75557863725914323419136) (*.f64 d1 (+.f64 d2 37)) (*.f64 (+.f64 37 d3) d1))
(if (<=.f64 d3 12500000) (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3))
(if (<=.f64 d2 -38) (*.f64 d2 d1) (if (<=.f64 d2 -2645396987754965/9797766621314684873895700802803279209044463565243731922466831101232640732633100491228823617617764419367505179450247842283955649007454149170085442756585554871624752266571753841250508572690789992495054848) (*.f64 d1 37) (if (<=.f64 d2 -962387809749089/740298315191606967520227188330889966610377319868419938630605715764070011466206019559325413145373572325939050053182159998975553533608824916574615132828322000124194610605645134711392062011527273571616649243219599128195212771328) (*.f64 d1 d3) (if (<=.f64 d2 8956398538073743/1544206644495472857303583883048380333324864576447617480139933456630175320190394187102969236003396030389305708803686614314192266367994640173851115417028339461681498903477221384921775113999124270181577817371160469578262386195561925496048762173836971712805252506350393444460551564142078418977251644200485277277433072975872) (*.f64 d1 37) (if (<=.f64 d2 6657345609787247/853505847408621347082221029212320998034529065256436244530720999905796766440656905154743321711558949215095028555959454777073766611727278730286509574698346245900180170177793863483274020596712195165307522065393485053656415748796987045268976304128) (*.f64 d1 d3) (if (<=.f64 d2 4201375747284717/10772758326371068942829547280138503507047095916181860064252479289484763452000421523688789066296501148112861120217452989876263797248376430311685764650295051980708298078471054537096527376147092924971608579554880258048) (*.f64 d1 37) (*.f64 d1 d3)))))))
(if (<=.f64 d3 36) (*.f64 d1 37) (*.f64 d1 d3))
(*.f64 d1 37)
Compiler

Compiled 109 to 72 computations (33.9% saved)

soundness13.0ms (0.1%)

Algorithm
egg-herbie
Rules
68×rational.json-simplify-1
40×rational.json-simplify-41
14×rational.json-simplify-2
12×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01331
12125
22925
34719
46619
58419
69419
Stop Event
saturated
Compiler

Compiled 72 to 47 computations (34.7% saved)

end614.0ms (6.3%)

Remove

(sort d2 d3)

Compiler

Compiled 114 to 69 computations (39.5% saved)

Profiling

Loading profile data...