Time bar (total: 17.5s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 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 |
Compiled 17 to 12 computations (29.4% saved)
| 2.7s | 8226× | body | 256 | valid |
| 172.0ms | 1345× | body | 256 | infinite |
| 3.0ms | 14× | body | 1024 | valid |
| 3.0ms | 16× | body | 512 | valid |
| 2× | egg-herbie |
| 182× | rational.json-simplify-1 |
| 124× | rational.json-simplify-41 |
| 52× | rational.json-simplify-2 |
| 36× | rational.json-simplify-51 |
| 2× | swap-d2-d3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 29 | 124 |
| 1 | 59 | 100 |
| 2 | 91 | 100 |
| 3 | 153 | 76 |
| 4 | 202 | 76 |
| 5 | 242 | 76 |
| 6 | 257 | 76 |
| 0 | 3 | 3 |
| 1 | 3 | 3 |
| 1× | unsound |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
2 |
1 |
| 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))) |
(sort d2 d3)
Compiled 19 to 14 computations (26.3% saved)
| 1× | egg-herbie |
| 68× | rational.json-simplify-1 |
| 40× | rational.json-simplify-41 |
| 14× | rational.json-simplify-2 |
| 12× | rational.json-simplify-51 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 31 |
| 1 | 21 | 25 |
| 2 | 29 | 25 |
| 3 | 47 | 19 |
| 4 | 66 | 19 |
| 5 | 84 | 19 |
| 6 | 94 | 19 |
| 1× | saturated |
| 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))) |
Compiled 52 to 34 computations (34.6% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 3 | 2 | 5 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 4 | 2 | 6 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32)) |
| ▶ | 0.0b | (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) |
Compiled 24 to 17 computations (29.2% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) |
Compiled 22 to 13 computations (40.9% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 54.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 | d1 | @ | inf | (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) |
| 0.0ms | d3 | @ | inf | (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) |
| 1× | batch-egg-rewrite |
| 1662× | bool.json-1 |
| 1662× | bool.json-2 |
| 1628× | rational.json-1 |
| 1628× | rational.json-2 |
| 1074× | bool.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 91 | 19 |
| 2 | 248 | 19 |
| 3 | 529 | 19 |
| 4 | 1158 | 19 |
| 5 | 2779 | 19 |
| 6 | 6083 | 19 |
| 1× | node limit |
| 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 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 1/2)) (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 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 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))))))) |
| 1× | egg-herbie |
| 3492× | rational.json-simplify-35 |
| 3074× | rational.json-simplify-1 |
| 2368× | rational.json-simplify-41 |
| 2304× | rational.json-simplify-2 |
| 1070× | rational.json-simplify-53 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 49 | 814 |
| 1 | 105 | 814 |
| 2 | 186 | 814 |
| 3 | 448 | 814 |
| 4 | 1781 | 814 |
| 5 | 2875 | 814 |
| 6 | 3314 | 814 |
| 7 | 3597 | 814 |
| 8 | 3769 | 814 |
| 9 | 3895 | 814 |
| 10 | 5714 | 814 |
| 11 | 6134 | 814 |
| 12 | 6272 | 814 |
| 13 | 6276 | 814 |
| 14 | 6360 | 814 |
| 15 | 6508 | 814 |
| 16 | 6599 | 814 |
| 17 | 6675 | 814 |
| 18 | 6839 | 814 |
| 19 | 6962 | 814 |
| 20 | 7085 | 814 |
| 21 | 7208 | 814 |
| 22 | 7331 | 814 |
| 23 | 7454 | 814 |
| 24 | 7577 | 814 |
| 25 | 7700 | 814 |
| 1× | node limit |
| 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 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 1/2)) (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 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 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 8))) 32) |
| 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 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 1/2)) (*.f64 d1 (*.f64 (+.f64 d2 (+.f64 d3 37)) 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 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 8) 8) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 8)) 16) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) 8))) 32) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) |
| ✓ | 0.1b | (+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32)) |
Compiled 37 to 23 computations (37.8% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 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 | d2 | @ | 0 | (+.f64 (*.f64 d1 (+.f64 (+.f64 d3 5) d2)) (*.f64 d1 32)) |
| 1× | batch-egg-rewrite |
| 1638× | bool.json-1 |
| 1638× | bool.json-2 |
| 1600× | rational.json-1 |
| 1600× | rational.json-2 |
| 1600× | rational.json-3 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 50 |
| 1 | 118 | 44 |
| 2 | 296 | 44 |
| 3 | 643 | 38 |
| 4 | 1458 | 38 |
| 5 | 3153 | 38 |
| 6 | 5990 | 38 |
| 1× | node limit |
| 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 (+.f64 d3 d2) 37)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 (+.f64 d3 d2) 37))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 d1 (/.f64 (+.f64 (+.f64 d3 d2) 37) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 d1 16) (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 1/2)) (*.f64 d1 16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 (+.f64 (+.f64 d3 d2) 37) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (/.f64 (+.f64 (+.f64 d3 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 (+.f64 d3 d2) 37) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 (+.f64 (+.f64 d3 d2) 37) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (+.f64 d3 d2) 37)) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2)) (*.f64 d1 64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 (+.f64 d3 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 d1 (/.f64 (+.f64 (+.f64 d3 d2) 37) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (+.f64 d3 d2) 37) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 d1 (*.f64 (+.f64 (+.f64 d3 d2) 37) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (+.f64 d3 d2) 37) 2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 (+.f64 d3 d2) 37) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 (+.f64 d3 d2) 37))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) (*.f64 d1 (+.f64 (+.f64 d3 d2) 37))))))) |
((#(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 d1 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2)) 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 d1 (+.f64 d3 (+.f64 5 d2))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 d3 (+.f64 5 d2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) (*.f64 d1 (+.f64 d3 (+.f64 5 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) (*.f64 d1 (+.f64 d3 (+.f64 5 d2)))))))) |
| 1× | egg-herbie |
| 3836× | rational.json-simplify-35 |
| 2780× | rational.json-simplify-2 |
| 1260× | rational.json-simplify-1 |
| 1136× | rational.json-simplify-53 |
| 888× | rational.json-simplify-51 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 130 | 2281 |
| 1 | 260 | 2221 |
| 2 | 557 | 2209 |
| 3 | 1694 | 2209 |
| 4 | 3774 | 2209 |
| 5 | 4798 | 2209 |
| 6 | 4976 | 2209 |
| 7 | 5118 | 2209 |
| 8 | 5248 | 2209 |
| 9 | 5373 | 2209 |
| 10 | 5494 | 2209 |
| 11 | 6037 | 2209 |
| 12 | 6427 | 2209 |
| 13 | 6552 | 2209 |
| 14 | 6640 | 2209 |
| 15 | 6667 | 2209 |
| 16 | 6678 | 2209 |
| 17 | 6678 | 2209 |
| 18 | 6798 | 2209 |
| 19 | 6919 | 2209 |
| 20 | 7040 | 2209 |
| 21 | 7161 | 2209 |
| 22 | 7282 | 2209 |
| 23 | 7516 | 2209 |
| 24 | 7638 | 2209 |
| 25 | 7761 | 2209 |
| 26 | 7885 | 2209 |
| 1× | node limit |
| 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 (+.f64 d3 d2) 37)) 0) |
(*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) |
(*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 1) |
(*.f64 1 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37))) |
(*.f64 2 (*.f64 d1 (/.f64 (+.f64 (+.f64 d3 d2) 37) 2))) |
(*.f64 2 (+.f64 (*.f64 d1 16) (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 1/2)))) |
(*.f64 2 (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 1/2)) (*.f64 d1 16))) |
(*.f64 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 2) 1/2) |
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 (+.f64 d3 d2) 37) 1/2)) |
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 (+.f64 d3 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 (+.f64 d3 d2) 37) d1) |
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 4)) |
(*.f64 (*.f64 d1 (*.f64 (+.f64 (+.f64 d3 d2) 37) 4)) 1/4) |
(*.f64 (*.f64 2 (+.f64 (+.f64 d3 d2) 37)) (*.f64 d1 1/2)) |
(*.f64 1/2 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 2)) |
(*.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2)))) |
(*.f64 1/2 (+.f64 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2)) (*.f64 d1 64))) |
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 (+.f64 d3 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 d1 (/.f64 (+.f64 (+.f64 d3 d2) 37) 2)) 2) |
(*.f64 (*.f64 (+.f64 (+.f64 d3 d2) 37) 1/2) (+.f64 d1 d1)) |
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 (+.f64 d3 d2) 37) 4))) |
(*.f64 (/.f64 (+.f64 (+.f64 d3 d2) 37) 2) (+.f64 d1 d1)) |
(*.f64 (/.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 4) 4) |
(/.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 1) |
(/.f64 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 2) 2) |
(/.f64 (*.f64 d1 (*.f64 (+.f64 (+.f64 d3 d2) 37) 4)) 4) |
(/.f64 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 8))) 32) |
(+.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 d1 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2)) 2) |
(/.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 4)) 4) |
(/.f64 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 8))) 32) |
| Outputs |
|---|
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 d1 (+.f64 d2 (+.f64 37 d3))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 d1 (+.f64 d2 (+.f64 37 d3))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 d1 (+.f64 d2 (+.f64 37 d3))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 d1 (+.f64 d2 (+.f64 37 d3))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 (+.f64 5 (+.f64 d2 d3))) 32))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 (+.f64 5 (+.f64 d2 d3))) 32))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 (+.f64 5 (+.f64 d2 d3))) 32))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 (+.f64 5 (+.f64 d2 d3))) 32))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.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 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 d2 5)))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 d2 5)))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 d1 d3) |
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 d1 d3) |
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 d3))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.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 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 32 d1) (*.f64 (+.f64 5 d3) d1))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 32 d1) (*.f64 (+.f64 5 d3) d1))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.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 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.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 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.f64 (*.f64 32 d1) (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 d2 (+.f64 d3 5))) |
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 d2 (+.f64 d3 5))) |
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 d2 (+.f64 d3 5))) |
(*.f64 (+.f64 5 (+.f64 d2 d3)) d1) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 d2 (+.f64 d3 5))) |
(*.f64 d1 (+.f64 d2 (+.f64 5 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 d2 (+.f64 d3 5))) |
(*.f64 d1 (+.f64 d2 (+.f64 5 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 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 d2 (+.f64 d3 5))) |
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3)) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 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 d2 (+.f64 d3 5))) |
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3)) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 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 d2 (+.f64 d3 5))) |
(+.f64 (*.f64 d1 (+.f64 5 d2)) (*.f64 d1 d3)) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 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 d2 (+.f64 d3 5))) |
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 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 d2 (+.f64 d3 5))) |
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 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 d2 (+.f64 d3 5))) |
(+.f64 (*.f64 d2 d1) (*.f64 (+.f64 5 d3) d1)) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 d2 (+.f64 d3 5))) |
(-.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 0) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 1) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 1 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 2 (*.f64 d1 (/.f64 (+.f64 (+.f64 d3 d2) 37) 2))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 2 (+.f64 (*.f64 d1 16) (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 1/2)))) |
(*.f64 2 (+.f64 (*.f64 d1 16) (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 d2 5)) 1/2)))) |
(*.f64 2 (*.f64 d1 (+.f64 16 (*.f64 (+.f64 d3 (+.f64 d2 5)) 1/2)))) |
(*.f64 d1 (*.f64 (+.f64 16 (*.f64 (+.f64 d2 (+.f64 d3 5)) 1/2)) 2)) |
(*.f64 d1 (*.f64 2 (+.f64 16 (*.f64 (+.f64 d2 (+.f64 d3 5)) 1/2)))) |
(*.f64 d1 (*.f64 2 (+.f64 16 (*.f64 (+.f64 d3 (+.f64 d2 5)) 1/2)))) |
(*.f64 2 (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) (*.f64 d1 1/2)) (*.f64 d1 16))) |
(*.f64 2 (+.f64 (*.f64 d1 16) (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 d2 5)) 1/2)))) |
(*.f64 2 (*.f64 d1 (+.f64 16 (*.f64 (+.f64 d3 (+.f64 d2 5)) 1/2)))) |
(*.f64 d1 (*.f64 (+.f64 16 (*.f64 (+.f64 d2 (+.f64 d3 5)) 1/2)) 2)) |
(*.f64 d1 (*.f64 2 (+.f64 16 (*.f64 (+.f64 d2 (+.f64 d3 5)) 1/2)))) |
(*.f64 d1 (*.f64 2 (+.f64 16 (*.f64 (+.f64 d3 (+.f64 d2 5)) 1/2)))) |
(*.f64 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 2) 1/2) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 (+.f64 d3 d2) 37) 1/2)) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 (+.f64 d3 d2) 37) 2)) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 (+.f64 d1 d1) (+.f64 16 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2))) |
(*.f64 2 (+.f64 (*.f64 d1 16) (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 d2 5)) 1/2)))) |
(*.f64 2 (*.f64 d1 (+.f64 16 (*.f64 (+.f64 d3 (+.f64 d2 5)) 1/2)))) |
(*.f64 d1 (*.f64 (+.f64 16 (*.f64 (+.f64 d2 (+.f64 d3 5)) 1/2)) 2)) |
(*.f64 d1 (*.f64 2 (+.f64 16 (*.f64 (+.f64 d2 (+.f64 d3 5)) 1/2)))) |
(*.f64 d1 (*.f64 2 (+.f64 16 (*.f64 (+.f64 d3 (+.f64 d2 5)) 1/2)))) |
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 1/2) 16)) |
(*.f64 2 (+.f64 (*.f64 d1 16) (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 d2 5)) 1/2)))) |
(*.f64 2 (*.f64 d1 (+.f64 16 (*.f64 (+.f64 d3 (+.f64 d2 5)) 1/2)))) |
(*.f64 d1 (*.f64 (+.f64 16 (*.f64 (+.f64 d2 (+.f64 d3 5)) 1/2)) 2)) |
(*.f64 d1 (*.f64 2 (+.f64 16 (*.f64 (+.f64 d2 (+.f64 d3 5)) 1/2)))) |
(*.f64 d1 (*.f64 2 (+.f64 16 (*.f64 (+.f64 d3 (+.f64 d2 5)) 1/2)))) |
(*.f64 (+.f64 (+.f64 d3 d2) 37) d1) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 4)) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 (*.f64 d1 (*.f64 (+.f64 (+.f64 d3 d2) 37) 4)) 1/4) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 (*.f64 2 (+.f64 (+.f64 d3 d2) 37)) (*.f64 d1 1/2)) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 1/2 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 2)) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2)))) |
(*.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d3 (+.f64 d2 5)) (*.f64 2 d1)))) |
(*.f64 d1 (*.f64 1/2 (+.f64 64 (*.f64 2 (+.f64 d3 (+.f64 d2 5)))))) |
(*.f64 1/2 (*.f64 d1 (+.f64 64 (*.f64 2 (+.f64 d2 (+.f64 d3 5)))))) |
(*.f64 1/2 (*.f64 d1 (+.f64 64 (*.f64 2 (+.f64 d3 (+.f64 d2 5)))))) |
(*.f64 1/2 (+.f64 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2)) (*.f64 d1 64))) |
(*.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d3 (+.f64 d2 5)) (*.f64 2 d1)))) |
(*.f64 d1 (*.f64 1/2 (+.f64 64 (*.f64 2 (+.f64 d3 (+.f64 d2 5)))))) |
(*.f64 1/2 (*.f64 d1 (+.f64 64 (*.f64 2 (+.f64 d2 (+.f64 d3 5)))))) |
(*.f64 1/2 (*.f64 d1 (+.f64 64 (*.f64 2 (+.f64 d3 (+.f64 d2 5)))))) |
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 (+.f64 d3 d2) 37))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 (*.f64 d1 1/2) (+.f64 64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2))) |
(*.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d3 (+.f64 d2 5)) (*.f64 2 d1)))) |
(*.f64 d1 (*.f64 1/2 (+.f64 64 (*.f64 2 (+.f64 d3 (+.f64 d2 5)))))) |
(*.f64 1/2 (*.f64 d1 (+.f64 64 (*.f64 2 (+.f64 d2 (+.f64 d3 5)))))) |
(*.f64 1/2 (*.f64 d1 (+.f64 64 (*.f64 2 (+.f64 d3 (+.f64 d2 5)))))) |
(*.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2) 64)) |
(*.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d3 (+.f64 d2 5)) (*.f64 2 d1)))) |
(*.f64 d1 (*.f64 1/2 (+.f64 64 (*.f64 2 (+.f64 d3 (+.f64 d2 5)))))) |
(*.f64 1/2 (*.f64 d1 (+.f64 64 (*.f64 2 (+.f64 d2 (+.f64 d3 5)))))) |
(*.f64 1/2 (*.f64 d1 (+.f64 64 (*.f64 2 (+.f64 d3 (+.f64 d2 5)))))) |
(*.f64 (*.f64 d1 (/.f64 (+.f64 (+.f64 d3 d2) 37) 2)) 2) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 (*.f64 (+.f64 (+.f64 d3 d2) 37) 1/2) (+.f64 d1 d1)) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 (+.f64 d3 d2) 37) 4))) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 (/.f64 (+.f64 (+.f64 d3 d2) 37) 2) (+.f64 d1 d1)) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(*.f64 (/.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 4) 4) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(/.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 1) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(/.f64 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 2) 2) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(/.f64 (*.f64 d1 (*.f64 (+.f64 (+.f64 d3 d2) 37) 4)) 4) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(/.f64 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 8) 8) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 8)) 16) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (+.f64 d3 d2) 37)) 8))) 32) |
(*.f64 d1 (+.f64 37 (+.f64 d2 d3))) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 37))) |
(+.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 0) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 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 d2 (+.f64 d3 5))) |
(-.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 0) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 d2 (+.f64 d3 5))) |
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 5 d2)) 2)) 2) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 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 d2 (+.f64 d3 5))) |
(/.f64 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 8) 8) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 5))) |
(*.f64 d1 (+.f64 d2 (+.f64 d3 5))) |
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 8)) 16) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 5))) |
(*.f64 d1 (+.f64 d2 (+.f64 d3 5))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d3 (+.f64 5 d2))) 8))) 32) |
(*.f64 d1 (+.f64 d3 (+.f64 d2 5))) |
(*.f64 d1 (+.f64 d2 (+.f64 d3 5))) |
Compiled 1125 to 732 computations (34.9% saved)
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 96 | 6 | 102 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 97 | 7 | 104 |
| Status | Error | Program |
|---|---|---|
| 25.1b | (+.f64 (*.f64 (+.f64 5 d3) d1) (*.f64 d1 32)) | |
| ▶ | 17.5b | (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32)) |
| ▶ | 25.1b | (*.f64 (+.f64 37 d3) d1) |
| ▶ | 38.7b | (*.f64 d2 d1) |
| ✓ | 0.0b | (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) |
| ▶ | 17.5b | (*.f64 d1 (+.f64 d2 37)) |
| ▶ | 45.2b | (*.f64 d1 d3) |
Compiled 114 to 83 computations (27.2% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 d1 (+.f64 d2 37)) |
Compiled 14 to 9 computations (35.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | d1 | @ | inf | (*.f64 d1 (+.f64 d2 37)) |
| 0.0ms | d1 | @ | 0 | (*.f64 d1 (+.f64 d2 37)) |
| 0.0ms | d1 | @ | -inf | (*.f64 d1 (+.f64 d2 37)) |
| 0.0ms | d2 | @ | -inf | (*.f64 d1 (+.f64 d2 37)) |
| 0.0ms | d2 | @ | inf | (*.f64 d1 (+.f64 d2 37)) |
| 1× | batch-egg-rewrite |
| 1604× | bool.json-1 |
| 1604× | bool.json-2 |
| 1564× | rational.json-1 |
| 1564× | rational.json-2 |
| 1564× | rational.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 70 | 13 |
| 2 | 193 | 13 |
| 3 | 401 | 13 |
| 4 | 821 | 13 |
| 5 | 1781 | 13 |
| 6 | 3864 | 13 |
| 7 | 6399 | 13 |
| 1× | node limit |
| 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 (+.f64 d2 37) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 37) (*.f64 d1 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 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 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 d2 37))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 (+.f64 d2 37)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 (+.f64 d2 37))))))) |
| 1× | egg-herbie |
| 5364× | rational.json-simplify-35 |
| 2492× | rational.json-simplify-2 |
| 1068× | rational.json-simplify-53 |
| 974× | rational.json-simplify-1 |
| 736× | rational.json-simplify-43 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 42 | 385 |
| 1 | 94 | 385 |
| 2 | 183 | 385 |
| 3 | 448 | 385 |
| 4 | 1877 | 385 |
| 5 | 3676 | 385 |
| 6 | 4583 | 385 |
| 7 | 4895 | 385 |
| 8 | 5056 | 385 |
| 9 | 5209 | 385 |
| 10 | 5360 | 385 |
| 11 | 5695 | 385 |
| 12 | 5700 | 385 |
| 13 | 5771 | 385 |
| 14 | 5814 | 385 |
| 15 | 5825 | 385 |
| 16 | 5976 | 385 |
| 17 | 6127 | 385 |
| 18 | 6278 | 385 |
| 19 | 6429 | 385 |
| 20 | 6580 | 385 |
| 21 | 6731 | 385 |
| 22 | 6882 | 385 |
| 23 | 7033 | 385 |
| 24 | 7131 | 385 |
| 25 | 7146 | 385 |
| 26 | 7193 | 385 |
| 27 | 7226 | 385 |
| 28 | 7227 | 385 |
| 29 | 7227 | 385 |
| 30 | 7378 | 385 |
| 31 | 7529 | 385 |
| 32 | 7680 | 385 |
| 33 | 7831 | 385 |
| 34 | 7982 | 385 |
| 1× | node limit |
| 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 (+.f64 d2 37) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 37) (*.f64 d1 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 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 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8)))) 64) |
| 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 (+.f64 d2 37) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 37) (*.f64 d1 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 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 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8)))) 64) |
(*.f64 d1 (+.f64 37 d2)) |
Compiled 8 to 4 computations (50% saved)
Compiled 8 to 4 computations (50% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (+.f64 37 d3) d1) |
Compiled 14 to 9 computations (35.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | d1 | @ | inf | (*.f64 (+.f64 37 d3) d1) |
| 0.0ms | d1 | @ | -inf | (*.f64 (+.f64 37 d3) d1) |
| 0.0ms | d1 | @ | 0 | (*.f64 (+.f64 37 d3) d1) |
| 0.0ms | d3 | @ | 0 | (*.f64 (+.f64 37 d3) d1) |
| 0.0ms | d3 | @ | -inf | (*.f64 (+.f64 37 d3) d1) |
| 1× | batch-egg-rewrite |
| 1604× | bool.json-1 |
| 1604× | bool.json-2 |
| 1564× | rational.json-1 |
| 1564× | rational.json-2 |
| 1564× | rational.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 70 | 13 |
| 2 | 193 | 13 |
| 3 | 401 | 13 |
| 4 | 821 | 13 |
| 5 | 1782 | 13 |
| 6 | 3867 | 13 |
| 7 | 6402 | 13 |
| 1× | node limit |
| 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 2)) (*.f64 (+.f64 37 d3) (/.f64 d1 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 d1 8) (+.f64 37 d3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 8) (+.f64 37 d3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 8) (+.f64 37 d3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 8) (+.f64 37 d3)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 8) (+.f64 37 d3))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (+.f64 37 d3) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (+.f64 37 d3) d1) (*.f64 (+.f64 37 d3) d1))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (+.f64 37 d3) d1) (*.f64 (+.f64 37 d3) d1)))))) |
| 1× | egg-herbie |
| 5344× | rational.json-simplify-35 |
| 2850× | rational.json-simplify-2 |
| 1642× | rational.json-simplify-53 |
| 1058× | rational.json-simplify-1 |
| 732× | rational.json-simplify-41 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 401 |
| 1 | 92 | 281 |
| 2 | 180 | 281 |
| 3 | 409 | 281 |
| 4 | 1287 | 281 |
| 5 | 2690 | 281 |
| 6 | 3652 | 281 |
| 7 | 3775 | 281 |
| 8 | 3861 | 281 |
| 9 | 3944 | 281 |
| 10 | 4027 | 281 |
| 11 | 4110 | 281 |
| 12 | 4664 | 281 |
| 13 | 4945 | 281 |
| 14 | 5184 | 281 |
| 15 | 5373 | 281 |
| 16 | 5374 | 281 |
| 17 | 5374 | 281 |
| 18 | 5457 | 281 |
| 19 | 5540 | 281 |
| 20 | 5623 | 281 |
| 21 | 5706 | 281 |
| 22 | 5963 | 281 |
| 23 | 6276 | 281 |
| 24 | 6422 | 281 |
| 25 | 6509 | 281 |
| 26 | 6592 | 281 |
| 27 | 6675 | 281 |
| 28 | 6758 | 281 |
| 29 | 6841 | 281 |
| 30 | 6924 | 281 |
| 31 | 7007 | 281 |
| 32 | 7090 | 281 |
| 33 | 7090 | 281 |
| 34 | 7090 | 281 |
| 35 | 7173 | 281 |
| 36 | 7256 | 281 |
| 37 | 7339 | 281 |
| 38 | 7422 | 281 |
| 39 | 7505 | 281 |
| 40 | 7588 | 281 |
| 41 | 7671 | 281 |
| 42 | 7754 | 281 |
| 43 | 7837 | 281 |
| 44 | 7920 | 281 |
| 1× | node limit |
| 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 2)) (*.f64 (+.f64 37 d3) (/.f64 d1 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 d1 8) (+.f64 37 d3)) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 8) (+.f64 37 d3))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 8) (+.f64 37 d3)))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 8) (+.f64 37 d3)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 8) (+.f64 37 d3))))) 64) |
| 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 2)) (*.f64 (+.f64 37 d3) (/.f64 d1 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 d1 8) (+.f64 37 d3)) 8) |
(+.f64 (*.f64 37 d1) (*.f64 d1 d3)) |
(*.f64 d1 (+.f64 37 d3)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 8) (+.f64 37 d3))) 16) |
(+.f64 (*.f64 37 d1) (*.f64 d1 d3)) |
(*.f64 d1 (+.f64 37 d3)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 8) (+.f64 37 d3)))) 32) |
(+.f64 (*.f64 37 d1) (*.f64 d1 d3)) |
(*.f64 d1 (+.f64 37 d3)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 8) (+.f64 37 d3)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 8) (+.f64 37 d3))))) 64) |
(+.f64 (*.f64 37 d1) (*.f64 d1 d3)) |
(*.f64 d1 (+.f64 37 d3)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 d1 (+.f64 d2 5)) |
| ✓ | 0.1b | (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32)) |
Compiled 27 to 18 computations (33.3% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 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)) |
| 1× | batch-egg-rewrite |
| 1502× | bool.json-1 |
| 1502× | bool.json-2 |
| 1458× | rational.json-1 |
| 1458× | rational.json-2 |
| 1458× | rational.json-4 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 38 |
| 1 | 99 | 32 |
| 2 | 253 | 26 |
| 3 | 533 | 26 |
| 4 | 1133 | 26 |
| 5 | 2528 | 26 |
| 6 | 5395 | 26 |
| 1× | node limit |
| 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) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 d1 16) (*.f64 (+.f64 d2 5) (*.f64 d1 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 d2 5) (*.f64 d1 1/2)) (*.f64 d1 16)))))) (#(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 d2 37) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 16 (*.f64 (+.f64 d2 5) 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 (*.f64 2 (+.f64 d2 37))) 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)) 4))))) (#(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 (*.f64 2 (+.f64 d2 37)) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 d2 37))))))) (#(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 1/2 (+.f64 (*.f64 (+.f64 d2 5) (+.f64 d1 d1)) (*.f64 d1 64)))))) (#(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 64 (+.f64 d2 (+.f64 d2 10))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 (+.f64 d2 10)) 64))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (/.f64 (+.f64 d2 37) 2)) 2)))) (#(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 1/4 (*.f64 d1 (*.f64 (+.f64 d2 37) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 d2 37) 2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 d2 37)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 37)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 2 (+.f64 d2 37))) 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 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 d2 37))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 (+.f64 d2 37)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 (+.f64 d2 37))))))) |
((#(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 (+.f64 d2 5) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 5) (*.f64 d1 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 d1 (*.f64 (+.f64 d2 5) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d2 5)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 5)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 5)) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 5)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 d2 5))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 (+.f64 d2 5)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 (+.f64 d2 5))))))) |
| 1× | egg-herbie |
| 5232× | rational.json-simplify-41 |
| 2840× | rational.json-simplify-35 |
| 2426× | rational.json-simplify-2 |
| 1076× | rational.json-simplify-53 |
| 820× | rational.json-simplify-1 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 114 | 1203 |
| 1 | 225 | 1167 |
| 2 | 487 | 1167 |
| 3 | 1426 | 1167 |
| 4 | 3072 | 1167 |
| 5 | 3947 | 1167 |
| 6 | 4375 | 1167 |
| 7 | 4534 | 1167 |
| 8 | 4686 | 1167 |
| 9 | 4848 | 1167 |
| 10 | 5000 | 1167 |
| 11 | 5470 | 1167 |
| 12 | 5610 | 1167 |
| 13 | 5841 | 1167 |
| 14 | 5877 | 1167 |
| 15 | 5914 | 1167 |
| 16 | 5922 | 1167 |
| 17 | 6062 | 1167 |
| 18 | 6204 | 1167 |
| 19 | 6346 | 1167 |
| 1× | node limit |
| 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) 2))) |
(*.f64 2 (+.f64 (*.f64 d1 16) (*.f64 (+.f64 d2 5) (*.f64 d1 1/2)))) |
(*.f64 2 (+.f64 (*.f64 (+.f64 d2 5) (*.f64 d1 1/2)) (*.f64 d1 16))) |
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 37) 1/2)) |
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 d2 37) 2)) |
(*.f64 (+.f64 d1 d1) (+.f64 16 (*.f64 (+.f64 d2 5) 1/2))) |
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16)) |
(*.f64 (*.f64 d1 (*.f64 2 (+.f64 d2 37))) 1/2) |
(*.f64 (+.f64 d2 37) d1) |
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 d2 37)) 4)) |
(*.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 4)) 1/4) |
(*.f64 (*.f64 2 (+.f64 d2 37)) (*.f64 d1 1/2)) |
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 d2 37)))) |
(*.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d2 5) (+.f64 d1 d1)))) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 d2 5) (+.f64 d1 d1)) (*.f64 d1 64))) |
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 37))) |
(*.f64 (*.f64 d1 1/2) (+.f64 64 (+.f64 d2 (+.f64 d2 10)))) |
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 (+.f64 d2 10)) 64)) |
(*.f64 (*.f64 d1 (/.f64 (+.f64 d2 37) 2)) 2) |
(*.f64 (*.f64 (+.f64 d2 37) 1/2) (+.f64 d1 d1)) |
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 d2 37) 4))) |
(*.f64 (/.f64 (+.f64 d2 37) 2) (+.f64 d1 d1)) |
(*.f64 (/.f64 (*.f64 d1 (+.f64 d2 37)) 4) 4) |
(/.f64 (*.f64 d1 (+.f64 d2 37)) 1) |
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 d2 37))) 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 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))) 32) |
(+.f64 (*.f64 d1 (+.f64 d2 5)) 0) |
(+.f64 0 (*.f64 d1 (+.f64 d2 5))) |
(+.f64 (*.f64 (+.f64 d2 5) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 5) (*.f64 d1 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 d1 (*.f64 (+.f64 d2 5) 4)) 4) |
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 5)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 5)) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 5)) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 5)) 8))) 32) |
| 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) 2))) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 2 (+.f64 (*.f64 d1 16) (*.f64 (+.f64 d2 5) (*.f64 d1 1/2)))) |
(*.f64 2 (*.f64 d1 (+.f64 16 (*.f64 (+.f64 d2 5) 1/2)))) |
(*.f64 d1 (*.f64 (+.f64 16 (*.f64 (+.f64 d2 5) 1/2)) 2)) |
(*.f64 d1 (*.f64 2 (+.f64 16 (*.f64 (+.f64 d2 5) 1/2)))) |
(*.f64 2 (+.f64 (*.f64 (+.f64 d2 5) (*.f64 d1 1/2)) (*.f64 d1 16))) |
(*.f64 2 (+.f64 (*.f64 d1 16) (*.f64 (+.f64 d2 5) (*.f64 d1 1/2)))) |
(*.f64 2 (*.f64 d1 (+.f64 16 (*.f64 (+.f64 d2 5) 1/2)))) |
(*.f64 d1 (*.f64 (+.f64 16 (*.f64 (+.f64 d2 5) 1/2)) 2)) |
(*.f64 d1 (*.f64 2 (+.f64 16 (*.f64 (+.f64 d2 5) 1/2)))) |
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 37) 1/2)) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 d2 37) 2)) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (+.f64 d1 d1) (+.f64 16 (*.f64 (+.f64 d2 5) 1/2))) |
(*.f64 2 (+.f64 (*.f64 d1 16) (*.f64 (+.f64 d2 5) (*.f64 d1 1/2)))) |
(*.f64 2 (*.f64 d1 (+.f64 16 (*.f64 (+.f64 d2 5) 1/2)))) |
(*.f64 d1 (*.f64 (+.f64 16 (*.f64 (+.f64 d2 5) 1/2)) 2)) |
(*.f64 d1 (*.f64 2 (+.f64 16 (*.f64 (+.f64 d2 5) 1/2)))) |
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 (+.f64 d2 5) 1/2) 16)) |
(*.f64 2 (+.f64 (*.f64 d1 16) (*.f64 (+.f64 d2 5) (*.f64 d1 1/2)))) |
(*.f64 2 (*.f64 d1 (+.f64 16 (*.f64 (+.f64 d2 5) 1/2)))) |
(*.f64 d1 (*.f64 (+.f64 16 (*.f64 (+.f64 d2 5) 1/2)) 2)) |
(*.f64 d1 (*.f64 2 (+.f64 16 (*.f64 (+.f64 d2 5) 1/2)))) |
(*.f64 (*.f64 d1 (*.f64 2 (+.f64 d2 37))) 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)) 4)) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (*.f64 d1 (*.f64 (+.f64 d2 37) 4)) 1/4) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (*.f64 2 (+.f64 d2 37)) (*.f64 d1 1/2)) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 d2 37)))) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 1/2 (+.f64 (*.f64 d1 64) (*.f64 (+.f64 d2 5) (+.f64 d1 d1)))) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 d2 5) (+.f64 d1 d1)) (*.f64 d1 64))) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 37))) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (*.f64 d1 1/2) (+.f64 64 (+.f64 d2 (+.f64 d2 10)))) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 (+.f64 d2 10)) 64)) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (*.f64 d1 (/.f64 (+.f64 d2 37) 2)) 2) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (*.f64 (+.f64 d2 37) 1/2) (+.f64 d1 d1)) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 d2 37) 4))) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (/.f64 (+.f64 d2 37) 2) (+.f64 d1 d1)) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (/.f64 (*.f64 d1 (+.f64 d2 37)) 4) 4) |
(*.f64 d1 (+.f64 37 d2)) |
(/.f64 (*.f64 d1 (+.f64 d2 37)) 1) |
(*.f64 d1 (+.f64 37 d2)) |
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 d2 37))) 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 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 37)) 8))) 32) |
(*.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 (+.f64 d2 5) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 5) (*.f64 d1 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 d1 (*.f64 (+.f64 d2 5) 4)) 4) |
(*.f64 d1 (+.f64 d2 5)) |
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 5)) 8) 8) |
(*.f64 d1 (+.f64 d2 5)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 5)) 8)) 16) |
(*.f64 d1 (+.f64 d2 5)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 5)) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 5)) 8))) 32) |
(*.f64 d1 (+.f64 d2 5)) |
Compiled 881 to 633 computations (28.1% saved)
9 alts after pruning (3 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 89 | 3 | 92 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 90 | 9 | 99 |
| Status | Error | Program |
|---|---|---|
| ✓ | 17.5b | (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32)) |
| ▶ | 17.5b | (+.f64 (*.f64 37 d1) (*.f64 d2 d1)) |
| ▶ | 25.1b | (+.f64 (*.f64 37 d1) (*.f64 d1 d3)) |
| ✓ | 25.1b | (*.f64 (+.f64 37 d3) d1) |
| ✓ | 38.7b | (*.f64 d2 d1) |
| ✓ | 0.0b | (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) |
| ✓ | 17.5b | (*.f64 d1 (+.f64 d2 37)) |
| ✓ | 45.2b | (*.f64 d1 d3) |
| ▶ | 42.1b | (*.f64 d1 37) |
Compiled 76 to 55 computations (27.6% saved)
Compiled 8 to 6 computations (25% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 37 d1) (*.f64 d1 d3)) |
Compiled 19 to 10 computations (47.4% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.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)) |
| 1× | batch-egg-rewrite |
| 2018× | bool.json-1 |
| 1266× | bool.json-2 |
| 1222× | rational.json-1 |
| 1222× | rational.json-2 |
| 1222× | rational.json-4 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 80 | 13 |
| 2 | 217 | 13 |
| 3 | 467 | 13 |
| 4 | 966 | 13 |
| 5 | 2134 | 13 |
| 6 | 4533 | 13 |
| 7 | 7724 | 13 |
| 1× | node limit |
| 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 d1 (/.f64 (+.f64 37 d3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 d1 37/2) (*.f64 d1 (/.f64 d3 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 37 d3) 1/2) d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 2 (+.f64 37 d3))) 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 37 d3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 37/2 (/.f64 d3 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 37 d3) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 d1 (+.f64 37 d3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 (+.f64 37 d3) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 37 d3)) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 37 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 d1 74) (*.f64 d1 (+.f64 d3 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (/.f64 (+.f64 37 d3) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 37 d3)))))) (#(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 (+.f64 37 d3) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 d1 (*.f64 (+.f64 37 d3) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 37 d3) 2) (+.f64 d1 d1))))) (#(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 d1 (+.f64 37 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 2 (+.f64 37 d3))) 2)))) (#(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 (*.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 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 37 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 37 d3)) (*.f64 d1 (+.f64 37 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 37 d3)) (*.f64 d1 (+.f64 37 d3))))))) |
| 1× | egg-herbie |
| 5586× | rational.json-simplify-35 |
| 1824× | rational.json-simplify-2 |
| 1288× | rational.json-simplify-1 |
| 892× | rational.json-simplify-41 |
| 672× | rational.json-simplify-53 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 81 | 664 |
| 1 | 174 | 636 |
| 2 | 354 | 636 |
| 3 | 1166 | 620 |
| 4 | 2299 | 604 |
| 5 | 3437 | 604 |
| 6 | 4217 | 604 |
| 7 | 4389 | 604 |
| 8 | 4513 | 604 |
| 9 | 4605 | 604 |
| 10 | 4691 | 604 |
| 11 | 4771 | 604 |
| 12 | 5059 | 604 |
| 13 | 5159 | 604 |
| 14 | 5259 | 604 |
| 15 | 5337 | 604 |
| 16 | 5415 | 604 |
| 17 | 5493 | 604 |
| 18 | 5493 | 604 |
| 19 | 5547 | 604 |
| 20 | 5603 | 604 |
| 21 | 5607 | 604 |
| 22 | 5687 | 604 |
| 23 | 5765 | 604 |
| 24 | 5843 | 604 |
| 25 | 5921 | 604 |
| 26 | 5999 | 604 |
| 27 | 6077 | 604 |
| 28 | 6155 | 604 |
| 29 | 6233 | 604 |
| 30 | 6311 | 604 |
| 31 | 6389 | 604 |
| 32 | 6467 | 604 |
| 33 | 6545 | 604 |
| 34 | 6623 | 604 |
| 35 | 6701 | 604 |
| 36 | 6779 | 604 |
| 37 | 6857 | 604 |
| 38 | 6935 | 604 |
| 39 | 6935 | 604 |
| 40 | 6935 | 604 |
| 41 | 7013 | 604 |
| 42 | 7091 | 604 |
| 43 | 7169 | 604 |
| 44 | 7247 | 604 |
| 45 | 7325 | 604 |
| 46 | 7403 | 604 |
| 47 | 7481 | 604 |
| 48 | 7559 | 604 |
| 49 | 7637 | 604 |
| 50 | 7715 | 604 |
| 51 | 7793 | 604 |
| 52 | 7871 | 604 |
| 53 | 7949 | 604 |
| 1× | node limit |
| 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 d1 (/.f64 (+.f64 37 d3) 2))) |
(*.f64 2 (+.f64 (*.f64 d1 37/2) (*.f64 d1 (/.f64 d3 2)))) |
(*.f64 2 (*.f64 (*.f64 (+.f64 37 d3) 1/2) d1)) |
(*.f64 (*.f64 d1 (*.f64 2 (+.f64 37 d3))) 1/2) |
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 37 d3) 1/2)) |
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 37 d3) 2)) |
(*.f64 (+.f64 d1 d1) (+.f64 37/2 (/.f64 d3 2))) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 37 d3)) 4)) |
(*.f64 (*.f64 d1 (*.f64 (+.f64 37 d3) 4)) 1/4) |
(*.f64 (*.f64 2 (+.f64 37 d3)) (*.f64 d1 1/2)) |
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 37 d3)))) |
(*.f64 1/2 (+.f64 (*.f64 d1 74) (*.f64 d1 (+.f64 d3 d3)))) |
(*.f64 (*.f64 d1 (/.f64 (+.f64 37 d3) 2)) 2) |
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 37 d3))) |
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d3 d3) 74)) |
(*.f64 (*.f64 (+.f64 37 d3) 1/2) (+.f64 d1 d1)) |
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 37 d3) 4))) |
(*.f64 (/.f64 (+.f64 37 d3) 2) (+.f64 d1 d1)) |
(*.f64 (/.f64 (*.f64 d1 (+.f64 37 d3)) 4) 4) |
(/.f64 (*.f64 d1 (+.f64 37 d3)) 1) |
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 37 d3))) 2) |
(/.f64 (*.f64 d1 (*.f64 (+.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 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8)))) 64) |
| 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 d1 (neg.f64 (-.f64 -37 d3))) |
(*.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 d1 (neg.f64 (-.f64 -37 d3))) |
(*.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 d1 (neg.f64 (-.f64 -37 d3))) |
(*.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 d1 (neg.f64 (-.f64 -37 d3))) |
(*.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 d1 (/.f64 (+.f64 37 d3) 2))) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 2 (+.f64 (*.f64 d1 37/2) (*.f64 d1 (/.f64 d3 2)))) |
(*.f64 2 (*.f64 d1 (+.f64 37/2 (/.f64 d3 2)))) |
(*.f64 2 (*.f64 (*.f64 (+.f64 37 d3) 1/2) d1)) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 (*.f64 d1 (*.f64 2 (+.f64 37 d3))) 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 37 d3) 2)) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 (+.f64 d1 d1) (+.f64 37/2 (/.f64 d3 2))) |
(*.f64 2 (+.f64 (*.f64 d1 37/2) (*.f64 d1 (/.f64 d3 2)))) |
(*.f64 2 (*.f64 d1 (+.f64 37/2 (/.f64 d3 2)))) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 37 d3)) 4)) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 (*.f64 d1 (*.f64 (+.f64 37 d3) 4)) 1/4) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 (*.f64 2 (+.f64 37 d3)) (*.f64 d1 1/2)) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 37 d3)))) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 1/2 (+.f64 (*.f64 d1 74) (*.f64 d1 (+.f64 d3 d3)))) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 (*.f64 d1 (/.f64 (+.f64 37 d3) 2)) 2) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 37 d3))) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d3 d3) 74)) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 (*.f64 (+.f64 37 d3) 1/2) (+.f64 d1 d1)) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 37 d3) 4))) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 (/.f64 (+.f64 37 d3) 2) (+.f64 d1 d1)) |
(*.f64 (+.f64 37 d3) d1) |
(*.f64 (/.f64 (*.f64 d1 (+.f64 37 d3)) 4) 4) |
(*.f64 (+.f64 37 d3) d1) |
(/.f64 (*.f64 d1 (+.f64 37 d3)) 1) |
(*.f64 (+.f64 37 d3) d1) |
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 37 d3))) 2) |
(*.f64 (+.f64 37 d3) d1) |
(/.f64 (*.f64 d1 (*.f64 (+.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 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d3)) 8)))) 64) |
(*.f64 (+.f64 37 d3) d1) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 37 d1) (*.f64 d2 d1)) |
Compiled 19 to 10 computations (47.4% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | d1 | @ | -inf | (+.f64 (*.f64 37 d1) (*.f64 d2 d1)) |
| 0.0ms | d1 | @ | 0 | (+.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)) |
| 0.0ms | d2 | @ | -inf | (+.f64 (*.f64 37 d1) (*.f64 d2 d1)) |
| 1× | batch-egg-rewrite |
| 2018× | bool.json-1 |
| 1266× | bool.json-2 |
| 1222× | rational.json-1 |
| 1222× | rational.json-2 |
| 1222× | rational.json-4 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 80 | 13 |
| 2 | 217 | 13 |
| 3 | 467 | 13 |
| 4 | 965 | 13 |
| 5 | 2132 | 13 |
| 6 | 4532 | 13 |
| 7 | 7723 | 13 |
| 1× | node limit |
| 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 (+.f64 37 d2) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 d1 37/2) (*.f64 d1 (*.f64 d2 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 37 d2) 1/2) d1))))) (#(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 37 d2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 37/2 (*.f64 d2 1/2)))))) (#(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)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 37 d2) (*.f64 d1 4)) 1/4)))) (#(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 1/2 (*.f64 d1 (*.f64 2 (+.f64 37 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 d1 74) (*.f64 d1 (+.f64 d2 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 37 d2) (*.f64 d1 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 (+.f64 37 d2) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 37 d2) (*.f64 d1 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 37 d2) 2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 37 d2)) 4) 4)))) (#(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 (+.f64 37 d2) (*.f64 d1 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 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 37 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 37 d2)) (*.f64 d1 (+.f64 37 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 37 d2)) (*.f64 d1 (+.f64 37 d2))))))) |
| 1× | egg-herbie |
| 5128× | rational.json-simplify-35 |
| 2166× | rational.json-simplify-2 |
| 1236× | rational.json-simplify-1 |
| 936× | rational.json-simplify-53 |
| 872× | rational.json-simplify-41 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 83 | 664 |
| 1 | 175 | 636 |
| 2 | 350 | 636 |
| 3 | 1140 | 620 |
| 4 | 2269 | 604 |
| 5 | 3402 | 604 |
| 6 | 4196 | 604 |
| 7 | 4430 | 604 |
| 8 | 4522 | 604 |
| 9 | 4601 | 604 |
| 10 | 4679 | 604 |
| 11 | 4756 | 604 |
| 12 | 5078 | 604 |
| 13 | 5222 | 604 |
| 14 | 5470 | 604 |
| 15 | 5666 | 604 |
| 16 | 5765 | 604 |
| 17 | 5847 | 604 |
| 18 | 5924 | 604 |
| 19 | 5924 | 604 |
| 20 | 5924 | 604 |
| 21 | 6001 | 604 |
| 22 | 6078 | 604 |
| 23 | 6155 | 604 |
| 24 | 6232 | 604 |
| 25 | 6309 | 604 |
| 26 | 6386 | 604 |
| 27 | 6463 | 604 |
| 28 | 6540 | 604 |
| 29 | 6617 | 604 |
| 30 | 6694 | 604 |
| 31 | 6771 | 604 |
| 32 | 6848 | 604 |
| 33 | 6925 | 604 |
| 34 | 7002 | 604 |
| 35 | 7079 | 604 |
| 36 | 7156 | 604 |
| 37 | 7233 | 604 |
| 38 | 7233 | 604 |
| 39 | 7310 | 604 |
| 40 | 7387 | 604 |
| 41 | 7464 | 604 |
| 42 | 7541 | 604 |
| 43 | 7618 | 604 |
| 44 | 7695 | 604 |
| 45 | 7772 | 604 |
| 46 | 7849 | 604 |
| 47 | 7926 | 604 |
| 1× | node limit |
| 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 (+.f64 37 d2) (*.f64 d1 1/2))) |
(*.f64 2 (+.f64 (*.f64 d1 37/2) (*.f64 d1 (*.f64 d2 1/2)))) |
(*.f64 2 (*.f64 (*.f64 (+.f64 37 d2) 1/2) d1)) |
(*.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 37 d2) 2)) |
(*.f64 (+.f64 d1 d1) (+.f64 37/2 (*.f64 d2 1/2))) |
(*.f64 (+.f64 37 d2) d1) |
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 37 d2)) 4)) |
(*.f64 (*.f64 (+.f64 37 d2) (*.f64 d1 4)) 1/4) |
(*.f64 (*.f64 2 (+.f64 37 d2)) (*.f64 d1 1/2)) |
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 37 d2)))) |
(*.f64 1/2 (+.f64 (*.f64 d1 74) (*.f64 d1 (+.f64 d2 d2)))) |
(*.f64 (*.f64 (+.f64 37 d2) (*.f64 d1 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 (+.f64 37 d2) 1/2) (+.f64 d1 d1)) |
(*.f64 1/4 (*.f64 (+.f64 37 d2) (*.f64 d1 4))) |
(*.f64 (/.f64 (+.f64 37 d2) 2) (+.f64 d1 d1)) |
(*.f64 (/.f64 (*.f64 d1 (+.f64 37 d2)) 4) 4) |
(/.f64 (*.f64 d1 (+.f64 37 d2)) 1) |
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 37 d2))) 2) |
(/.f64 (*.f64 (+.f64 37 d2) (*.f64 d1 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 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8)))) 64) |
| 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 -1 (*.f64 d1 (-.f64 (*.f64 d2 -1) 37))) |
(*.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 -1 (*.f64 d1 (-.f64 (*.f64 d2 -1) 37))) |
(*.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 -1 (*.f64 d1 (-.f64 (*.f64 d2 -1) 37))) |
(*.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 -1 (*.f64 d1 (-.f64 (*.f64 d2 -1) 37))) |
(*.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 (+.f64 37 d2) (*.f64 d1 1/2))) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 2 (+.f64 (*.f64 d1 37/2) (*.f64 d1 (*.f64 d2 1/2)))) |
(*.f64 2 (*.f64 d1 (+.f64 37/2 (*.f64 d2 1/2)))) |
(*.f64 d1 (*.f64 (+.f64 37/2 (*.f64 d2 1/2)) 2)) |
(*.f64 d1 (*.f64 2 (+.f64 37/2 (*.f64 d2 1/2)))) |
(*.f64 2 (*.f64 (*.f64 (+.f64 37 d2) 1/2) d1)) |
(*.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 37 d2) 2)) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (+.f64 d1 d1) (+.f64 37/2 (*.f64 d2 1/2))) |
(*.f64 2 (+.f64 (*.f64 d1 37/2) (*.f64 d1 (*.f64 d2 1/2)))) |
(*.f64 2 (*.f64 d1 (+.f64 37/2 (*.f64 d2 1/2)))) |
(*.f64 d1 (*.f64 (+.f64 37/2 (*.f64 d2 1/2)) 2)) |
(*.f64 d1 (*.f64 2 (+.f64 37/2 (*.f64 d2 1/2)))) |
(*.f64 (+.f64 37 d2) d1) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 37 d2)) 4)) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (*.f64 (+.f64 37 d2) (*.f64 d1 4)) 1/4) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (*.f64 2 (+.f64 37 d2)) (*.f64 d1 1/2)) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 37 d2)))) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 1/2 (+.f64 (*.f64 d1 74) (*.f64 d1 (+.f64 d2 d2)))) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (*.f64 (+.f64 37 d2) (*.f64 d1 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 (+.f64 37 d2) 1/2) (+.f64 d1 d1)) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 1/4 (*.f64 (+.f64 37 d2) (*.f64 d1 4))) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (/.f64 (+.f64 37 d2) 2) (+.f64 d1 d1)) |
(*.f64 d1 (+.f64 37 d2)) |
(*.f64 (/.f64 (*.f64 d1 (+.f64 37 d2)) 4) 4) |
(*.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 (+.f64 37 d2) (*.f64 d1 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 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 37 d2)) 8)))) 64) |
(*.f64 d1 (+.f64 37 d2)) |
Compiled 722 to 520 computations (28% saved)
9 alts after pruning (0 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 85 | 0 | 85 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 8 | 8 |
| Total | 85 | 9 | 94 |
| Status | Error | Program |
|---|---|---|
| ✓ | 17.5b | (+.f64 (*.f64 d1 (+.f64 d2 5)) (*.f64 d1 32)) |
| ✓ | 17.5b | (+.f64 (*.f64 37 d1) (*.f64 d2 d1)) |
| ✓ | 25.1b | (+.f64 (*.f64 37 d1) (*.f64 d1 d3)) |
| ✓ | 25.1b | (*.f64 (+.f64 37 d3) d1) |
| ✓ | 38.7b | (*.f64 d2 d1) |
| ✓ | 0.0b | (*.f64 d1 (+.f64 d2 (+.f64 d3 37))) |
| ✓ | 17.5b | (*.f64 d1 (+.f64 d2 37)) |
| ✓ | 45.2b | (*.f64 d1 d3) |
| ✓ | 42.1b | (*.f64 d1 37) |
Compiled 76 to 55 computations (27.6% saved)
| 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))) |
5 calls:
| 8.0ms | (+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32)) |
| 7.0ms | d2 |
| 7.0ms | d1 |
| 6.0ms | d3 |
| 3.0ms | (+.f64 d3 5) |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | d1 |
| 0.0b | 1 | d2 |
| 0.0b | 1 | d3 |
| 0.0b | 1 | (+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32)) |
| 0.0b | 1 | (+.f64 d3 5) |
Compiled 119 to 75 computations (37% saved)
| 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) |
3 calls:
| 66.0ms | d3 |
| 8.0ms | d2 |
| 5.0ms | d1 |
| Error | Segments | Branch |
|---|---|---|
| 17.5b | 1 | d1 |
| 3.1b | 2 | d2 |
| 3.6b | 2 | d3 |
Compiled 34 to 22 computations (35.3% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 67.0ms | -5.751902211463193e-10 | -2.0084504755016584e-16 |
| 66.0ms | 144× | body | 256 | valid |
Compiled 184 to 142 computations (22.8% saved)
| Inputs |
|---|
(*.f64 d1 37) |
(*.f64 d1 d3) |
(*.f64 d2 d1) |
(*.f64 d1 (+.f64 d2 37)) |
| Outputs |
|---|
(*.f64 d1 (+.f64 d2 37)) |
(*.f64 d1 d3) |
3 calls:
| 72.0ms | d2 |
| 7.0ms | d3 |
| 5.0ms | d1 |
| Error | Segments | Branch |
|---|---|---|
| 17.5b | 1 | d1 |
| 11.5b | 4 | d2 |
| 4.7b | 2 | d3 |
Compiled 29 to 19 computations (34.5% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 35.37222327286704 | 603039.7030815742 |
| 13.0ms | 128× | body | 256 | valid |
Compiled 150 to 112 computations (25.3% saved)
| 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) |
3 calls:
| 167.0ms | d3 |
| 63.0ms | d2 |
| 21.0ms | d1 |
| Error | Segments | Branch |
|---|---|---|
| 31.3b | 7 | d1 |
| 12.8b | 5 | d2 |
| 17.4b | 7 | d3 |
Compiled 24 to 16 computations (33.3% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 160.0ms | 1.0961060834332642e-190 | 6.074560856425606e-173 |
| 66.0ms | -1.6365555506664185e-47 | -4.643050109641823e-48 |
| 12.0ms | -8.764283688414497e-29 | -3.698047275035257e-30 |
| 16.0ms | -11796732.096846698 | -35.72728131445914 |
| 249.0ms | 496× | body | 256 | valid |
Compiled 456 to 357 computations (21.7% saved)
Total -34.9b remaining (-132.1%)
Threshold costs -34.9b (-132.1%)
| Inputs |
|---|
(*.f64 d1 37) |
(*.f64 d1 d3) |
| Outputs |
|---|
(*.f64 d1 37) |
(*.f64 d1 d3) |
3 calls:
| 61.0ms | d1 |
| 13.0ms | d2 |
| 5.0ms | d3 |
| Error | Segments | Branch |
|---|---|---|
| 36.4b | 7 | d1 |
| 33.4b | 5 | d2 |
| 26.4b | 2 | d3 |
Compiled 21 to 15 computations (28.6% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 35.37222327286704 | 603039.7030815742 |
| 14.0ms | 128× | body | 256 | valid |
Compiled 134 to 104 computations (22.4% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 184 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(*.f64 d1 (+.f64 d2 (+.f64 d3 37))) |
(if (<=.f64 d2 -5029131409596857/9671406556917033397649408) (*.f64 d1 (+.f64 d2 37)) (*.f64 (+.f64 37 d3) d1)) |
(if (<=.f64 d3 600000) (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3)) |
(if (<=.f64 d2 -38) (*.f64 d2 d1) (if (<=.f64 d2 -825127572345633/44601490397061246283071436545296723011960832) (*.f64 d1 37) (if (<=.f64 d2 -822752278660603/51422017416287688817342786954917203280710495801049370729644032) (*.f64 d1 d3) (if (<=.f64 d2 840949054640123/18687756769780511615554238896948393266762663965690101475652372553315431084886742575128218875155953253493318900013442692344580934538753794040842900765582189315080170186179645235539452691442089066496) (*.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 d2 -5029131409596857/9671406556917033397649408) (*.f64 d1 (+.f64 d2 37)) (*.f64 (+.f64 37 d3) d1)) |
(if (<=.f64 d3 600000) (*.f64 d1 (+.f64 d2 37)) (*.f64 d1 d3)) |
(if (<=.f64 d2 -38) (*.f64 d2 d1) (if (<=.f64 d2 -825127572345633/44601490397061246283071436545296723011960832) (*.f64 d1 37) (if (<=.f64 d2 -822752278660603/51422017416287688817342786954917203280710495801049370729644032) (*.f64 d1 d3) (if (<=.f64 d2 840949054640123/18687756769780511615554238896948393266762663965690101475652372553315431084886742575128218875155953253493318900013442692344580934538753794040842900765582189315080170186179645235539452691442089066496) (*.f64 d1 37) (*.f64 d1 d3))))) |
(if (<=.f64 d3 36) (*.f64 d1 37) (*.f64 d1 d3)) |
(*.f64 d1 37) |
Compiled 95 to 64 computations (32.6% saved)
| 1× | egg-herbie |
| 68× | rational.json-simplify-1 |
| 40× | rational.json-simplify-41 |
| 14× | rational.json-simplify-2 |
| 12× | rational.json-simplify-51 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 31 |
| 1 | 21 | 25 |
| 2 | 29 | 25 |
| 3 | 47 | 19 |
| 4 | 66 | 19 |
| 5 | 84 | 19 |
| 6 | 94 | 19 |
| 1× | saturated |
Compiled 72 to 47 computations (34.7% saved)
(sort d2 d3)
Compiled 100 to 61 computations (39% saved)
Loading profile data...