Time bar (total: 9.0s)
| 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 |
| 25% | 25% | 74.9% | 0.1% | 0% | 0% | 0% | 5 |
| 33.3% | 25% | 50% | 0.1% | 25% | 0% | 0% | 6 |
| 44.4% | 25% | 31.2% | 0.1% | 43.7% | 0% | 0% | 7 |
| 53.3% | 25% | 21.9% | 0.1% | 53.1% | 0% | 0% | 8 |
| 64% | 25% | 14% | 0.1% | 60.9% | 0% | 0% | 9 |
| 72% | 28.1% | 10.9% | 0.1% | 60.9% | 0% | 0% | 10 |
| 81% | 31.6% | 7.4% | 0.1% | 60.9% | 0% | 0% | 11 |
| 85.5% | 33.4% | 5.7% | 0.1% | 60.9% | 0% | 0% | 12 |
Compiled 20 to 13 computations (35% saved)
| 1.4s | 8256× | body | 256 | valid |
| 0.0ms | 3× | body | 256 | infinite |
| 2× | egg-herbie |
| 1158× | rational.json-simplify-2 |
| 932× | rational.json-simplify-44 |
| 902× | rational.json-simplify-37 |
| 826× | rational.json-simplify-39 |
| 820× | rational.json-simplify-47 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 98 |
| 1 | 40 | 98 |
| 2 | 62 | 98 |
| 3 | 113 | 98 |
| 4 | 430 | 98 |
| 5 | 4078 | 98 |
| 6 | 6377 | 98 |
| 7 | 7478 | 98 |
| 0 | 2 | 2 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
| Outputs |
|---|
0 |
1 |
| Inputs |
|---|
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1) |
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (*.f64 a a))) 1) |
| Outputs |
|---|
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1) |
(+.f64 (*.f64 b (*.f64 b 4)) (-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 1)) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (-.f64 (*.f64 b (*.f64 b 4)) 1)) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (+.f64 (*.f64 b (*.f64 b 4)) -1)) |
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (*.f64 a a))) 1) |
(+.f64 (*.f64 a (*.f64 a 4)) (-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 1)) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (-.f64 (*.f64 (*.f64 a a) 4) 1)) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (+.f64 (*.f64 (*.f64 a a) 4) -1)) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (+.f64 (*.f64 a (*.f64 a 4)) -1)) |
Compiled 21 to 14 computations (33.3% saved)
| 1× | egg-herbie |
| 1124× | rational.json-simplify-2 |
| 938× | rational.json-simplify-44 |
| 902× | rational.json-simplify-37 |
| 830× | rational.json-simplify-39 |
| 828× | rational.json-simplify-47 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 49 |
| 1 | 26 | 49 |
| 2 | 42 | 49 |
| 3 | 87 | 49 |
| 4 | 398 | 49 |
| 5 | 4035 | 49 |
| 6 | 6358 | 49 |
| 7 | 7450 | 49 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1) |
| Outputs |
|---|
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1) |
(+.f64 (*.f64 b (*.f64 b 4)) (-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 1)) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (-.f64 (*.f64 b (*.f64 b 4)) 1)) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (+.f64 (*.f64 b (*.f64 b 4)) -1)) |
Compiled 70 to 36 computations (48.6% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 3 | 1 | 4 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 3 | 2 | 5 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.2b | (-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1) |
Compiled 19 to 12 computations (36.8% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
| ✓ | 0.0b | (*.f64 4 (*.f64 b b)) |
| ✓ | 0.3b | (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
Compiled 66 to 24 computations (63.6% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a | @ | 0 | (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
| 0.0ms | b | @ | inf | (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
| 0.0ms | a | @ | inf | (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
| 0.0ms | b | @ | 0 | (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
| 0.0ms | b | @ | 0 | (*.f64 4 (*.f64 b b)) |
| 1× | batch-egg-rewrite |
| 1488× | rational.json-simplify-35 |
| 1164× | bool.json-1 |
| 1164× | bool.json-2 |
| 1150× | rational.json-1 |
| 1150× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 81 |
| 1 | 121 | 81 |
| 2 | 322 | 81 |
| 3 | 764 | 81 |
| 4 | 2910 | 81 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(*.f64 4 (*.f64 b b)) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 4)) (*.f64 2 (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x and (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x or (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 b b) 4) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 b b) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b (+.f64 b b)) (*.f64 b (+.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b))) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 b b) 4) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 b b) 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (*.f64 b 8)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 b (*.f64 b 8))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 b (*.f64 b 8)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 b b) 4) (*.f64 (*.f64 b b) 4)) (*.f64 (*.f64 b b) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 b (*.f64 b 8)))) (*.f64 2 (*.f64 2 (*.f64 b (*.f64 b 8))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (*.f64 b b) 4))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (*.f64 b b) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (*.f64 b b) 4) (*.f64 (*.f64 b b) 4))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (*.f64 b b) 4) (*.f64 (*.f64 b b) 4)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))) (*.f64 2 (*.f64 4 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))))))) |
| 1× | egg-herbie |
| 1090× | rational.json-simplify-35 |
| 942× | rational.json-simplify-39 |
| 800× | rational.json-simplify-19 |
| 718× | rational.json-simplify-1 |
| 628× | rational.json-simplify-2 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 104 | 3501 |
| 1 | 217 | 3423 |
| 2 | 512 | 3087 |
| 3 | 2503 | 3009 |
| 4 | 6310 | 3009 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 b 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) |
(pow.f64 a 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(pow.f64 a 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(pow.f64 a 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(pow.f64 b 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) |
(pow.f64 b 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)))) |
(pow.f64 a 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)))) |
(pow.f64 a 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)))) |
(pow.f64 a 4) |
(+.f64 (pow.f64 a 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2)))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2)))) |
(pow.f64 b 4) |
(+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2)))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2)))) |
(pow.f64 b 4) |
(+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2)))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2)))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 0) |
(+.f64 0 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)) |
(-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 0) |
(*.f64 2 (/.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 2)) |
(*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 1) |
(*.f64 1 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)) |
(*.f64 (*.f64 2 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)) 1/2) |
(*.f64 1/2 (*.f64 2 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2))) |
(*.f64 (/.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 2) 2) |
(/.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 1) |
(/.f64 (*.f64 2 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)) 2) |
(/.f64 (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 4)) 8) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 4)) (*.f64 2 (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 4))) 16) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 (*.f64 b b) 4) 0) |
(+.f64 0 (*.f64 (*.f64 b b) 4)) |
(+.f64 (*.f64 b (+.f64 b b)) (*.f64 b (+.f64 b b))) |
(+.f64 (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b))) (*.f64 b b)) |
(-.f64 (*.f64 (*.f64 b b) 4) 0) |
(/.f64 (*.f64 (*.f64 b b) 4) 1) |
(/.f64 (*.f64 b (*.f64 b 8)) 2) |
(/.f64 (*.f64 2 (*.f64 b (*.f64 b 8))) 4) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 b (*.f64 b 8)))) 8) |
(/.f64 (*.f64 (*.f64 (*.f64 b b) 4) (*.f64 (*.f64 b b) 4)) (*.f64 (*.f64 b b) 4)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 b (*.f64 b 8)))) (*.f64 2 (*.f64 2 (*.f64 b (*.f64 b 8))))) 16) |
(fabs.f64 (*.f64 (*.f64 b b) 4)) |
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 0) |
(*.f64 2 (/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 2)) |
(*.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 1) |
(*.f64 1 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))) |
(*.f64 (*.f64 2 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))) 1/2) |
(*.f64 1/2 (*.f64 2 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))) |
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 2) 2) |
(/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 1) |
(/.f64 (*.f64 2 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))) 2) |
(/.f64 (*.f64 4 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))) 4) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))) 8) |
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))) (*.f64 2 (*.f64 4 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))))) 16) |
| Outputs |
|---|
(pow.f64 b 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4)) |
(+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) |
(+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2)))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))) |
(pow.f64 a 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))) |
(pow.f64 a 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))) |
(pow.f64 a 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))) |
(pow.f64 b 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4)) |
(+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) |
(+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2)))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))) |
(pow.f64 b 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4)) |
(+.f64 (pow.f64 b 4) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) |
(+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2)))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 b 4) (pow.f64 a 4))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2)))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)))) |
(+.f64 (pow.f64 b 4) (+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)))) |
(+.f64 (pow.f64 b 4) (+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(pow.f64 a 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)))) |
(+.f64 (pow.f64 b 4) (+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)))) |
(+.f64 (pow.f64 b 4) (+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(pow.f64 a 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (pow.f64 a 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)))) |
(+.f64 (pow.f64 b 4) (+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)))) |
(+.f64 (pow.f64 b 4) (+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(pow.f64 a 4) |
(+.f64 (pow.f64 a 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2))) |
(+.f64 (pow.f64 a 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2)))) |
(+.f64 (pow.f64 b 4) (+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2)))) |
(+.f64 (pow.f64 b 4) (+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(pow.f64 b 4) |
(+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2)))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2)))) |
(+.f64 (pow.f64 b 4) (+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2)))) |
(+.f64 (pow.f64 b 4) (+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(pow.f64 b 4) |
(+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2)))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 4 (pow.f64 b 2)) (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2)))) |
(+.f64 (pow.f64 b 4) (+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 a 2))) (pow.f64 b 2)))) |
(+.f64 (pow.f64 b 4) (+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (*.f64 (pow.f64 b 2) (*.f64 2 (pow.f64 a 2))) (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))))) |
(+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2))))) |
(+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (pow.f64 b 2) (+.f64 4 (*.f64 2 (pow.f64 a 2)))))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 0) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(+.f64 0 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(-.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 0) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(*.f64 2 (/.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 2)) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 1) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(*.f64 1 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(*.f64 (*.f64 2 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)) 1/2) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(*.f64 1/2 (*.f64 2 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2))) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(*.f64 (/.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 2) 2) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(/.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 1) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(/.f64 (*.f64 2 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)) 2) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(/.f64 (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 4) 4) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 4)) 8) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 4)) (*.f64 2 (*.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) 4))) 16) |
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 b b) (*.f64 b (+.f64 (+.f64 b b) b))) |
(*.f64 (+.f64 b b) (+.f64 b b)) |
(*.f64 b (*.f64 b 4)) |
(+.f64 (*.f64 (*.f64 b b) 4) 0) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 b b) (*.f64 b (+.f64 (+.f64 b b) b))) |
(*.f64 (+.f64 b b) (+.f64 b b)) |
(*.f64 b (*.f64 b 4)) |
(+.f64 0 (*.f64 (*.f64 b b) 4)) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 b b) (*.f64 b (+.f64 (+.f64 b b) b))) |
(*.f64 (+.f64 b b) (+.f64 b b)) |
(*.f64 b (*.f64 b 4)) |
(+.f64 (*.f64 b (+.f64 b b)) (*.f64 b (+.f64 b b))) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 b b) (*.f64 b (+.f64 (+.f64 b b) b))) |
(*.f64 (+.f64 b b) (+.f64 b b)) |
(*.f64 b (*.f64 b 4)) |
(+.f64 (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b))) (*.f64 b b)) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 b b) (*.f64 b (+.f64 (+.f64 b b) b))) |
(*.f64 (+.f64 b b) (+.f64 b b)) |
(*.f64 b (*.f64 b 4)) |
(-.f64 (*.f64 (*.f64 b b) 4) 0) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 b b) (*.f64 b (+.f64 (+.f64 b b) b))) |
(*.f64 (+.f64 b b) (+.f64 b b)) |
(*.f64 b (*.f64 b 4)) |
(/.f64 (*.f64 (*.f64 b b) 4) 1) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 b b) (*.f64 b (+.f64 (+.f64 b b) b))) |
(*.f64 (+.f64 b b) (+.f64 b b)) |
(*.f64 b (*.f64 b 4)) |
(/.f64 (*.f64 b (*.f64 b 8)) 2) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 b b) (*.f64 b (+.f64 (+.f64 b b) b))) |
(*.f64 (+.f64 b b) (+.f64 b b)) |
(*.f64 b (*.f64 b 4)) |
(/.f64 (*.f64 2 (*.f64 b (*.f64 b 8))) 4) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 b b) (*.f64 b (+.f64 (+.f64 b b) b))) |
(*.f64 (+.f64 b b) (+.f64 b b)) |
(*.f64 b (*.f64 b 4)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 b (*.f64 b 8)))) 8) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 b b) (*.f64 b (+.f64 (+.f64 b b) b))) |
(*.f64 (+.f64 b b) (+.f64 b b)) |
(*.f64 b (*.f64 b 4)) |
(/.f64 (*.f64 (*.f64 (*.f64 b b) 4) (*.f64 (*.f64 b b) 4)) (*.f64 (*.f64 b b) 4)) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 b b) (*.f64 b (+.f64 (+.f64 b b) b))) |
(*.f64 (+.f64 b b) (+.f64 b b)) |
(*.f64 b (*.f64 b 4)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 b (*.f64 b 8)))) (*.f64 2 (*.f64 2 (*.f64 b (*.f64 b 8))))) 16) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 b b) (*.f64 b (+.f64 (+.f64 b b) b))) |
(*.f64 (+.f64 b b) (+.f64 b b)) |
(*.f64 b (*.f64 b 4)) |
(fabs.f64 (*.f64 (*.f64 b b) 4)) |
(+.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 b (+.f64 b b)))) |
(+.f64 (*.f64 b b) (*.f64 b (+.f64 (+.f64 b b) b))) |
(*.f64 (+.f64 b b) (+.f64 b b)) |
(*.f64 b (*.f64 b 4)) |
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 0) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 b (*.f64 b 4))) |
(*.f64 2 (/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 2)) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 b (*.f64 b 4))) |
(*.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 1) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 b (*.f64 b 4))) |
(*.f64 1 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 b (*.f64 b 4))) |
(*.f64 (*.f64 2 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))) 1/2) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 b (*.f64 b 4))) |
(*.f64 1/2 (*.f64 2 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 b (*.f64 b 4))) |
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 2) 2) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 b (*.f64 b 4))) |
(/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) 1) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 b (*.f64 b 4))) |
(/.f64 (*.f64 2 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))) 2) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 b (*.f64 b 4))) |
(/.f64 (*.f64 4 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))) 4) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 b (*.f64 b 4))) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))) 8) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 b (*.f64 b 4))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))) (*.f64 2 (*.f64 4 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))))) 16) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 b (*.f64 b 4))) |
Compiled 1563 to 927 computations (40.7% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 72 | 2 | 74 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 73 | 2 | 75 |
| Status | Error | Program |
|---|---|---|
| ▶ | 10.8b | (-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1) |
| ▶ | 10.8b | (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
Compiled 26 to 20 computations (23.1% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
| ✓ | 0.0b | (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
| 0.0b | (*.f64 4 (*.f64 b b)) |
Compiled 37 to 21 computations (43.2% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a | @ | -inf | (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
| 0.0ms | a | @ | 0 | (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
| 0.0ms | a | @ | inf | (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
| 0.0ms | b | @ | 0 | (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
| 0.0ms | b | @ | inf | (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
| 1× | batch-egg-rewrite |
| 1844× | bool.json-1 |
| 1844× | bool.json-2 |
| 1366× | bool.json-3 |
| 938× | rational.json-simplify-35 |
| 804× | rational.json-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 56 |
| 1 | 121 | 56 |
| 2 | 357 | 56 |
| 3 | 763 | 56 |
| 4 | 2256 | 56 |
| 5 | 6441 | 56 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
(+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 4 (*.f64 b b)) (+.f64 (pow.f64 a 4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (pow.f64 a 4) -1) (*.f64 4 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 4 (*.f64 b b)) -1) (pow.f64 a 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)))) (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 b (+.f64 b b)) (/.f64 (pow.f64 a 4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))))) (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b)))))))) |
| 1× | egg-herbie |
| 1914× | rational.json-simplify-35 |
| 1056× | rational.json-simplify-19 |
| 1046× | rational.json-simplify-1 |
| 848× | rational.json-simplify-2 |
| 740× | rational.json-simplify-41 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 72 | 2066 |
| 1 | 134 | 2066 |
| 2 | 303 | 2066 |
| 3 | 688 | 2066 |
| 4 | 1960 | 2066 |
| 5 | 3740 | 2066 |
| 6 | 5670 | 2066 |
| 7 | 7039 | 2066 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(pow.f64 a 4) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(pow.f64 a 4) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(-.f64 (pow.f64 a 4) 1) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(*.f64 4 (pow.f64 b 2)) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(*.f64 4 (pow.f64 b 2)) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(*.f64 4 (pow.f64 b 2)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(pow.f64 a 4) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(pow.f64 a 4) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(pow.f64 a 4) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(*.f64 4 (pow.f64 b 2)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(*.f64 4 (pow.f64 b 2)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(+.f64 (*.f64 4 (*.f64 b b)) (+.f64 (pow.f64 a 4) -1)) |
(+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) -1) |
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 0) |
(+.f64 0 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1))) |
(+.f64 -1 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b)))) |
(+.f64 (+.f64 (pow.f64 a 4) -1) (*.f64 4 (*.f64 b b))) |
(+.f64 (+.f64 (*.f64 4 (*.f64 b b)) -1) (pow.f64 a 4)) |
(*.f64 1 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1))) |
(*.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 1) |
(*.f64 2 (/.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2)) |
(*.f64 (*.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2) 1/2) |
(*.f64 1/2 (*.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2)) |
(*.f64 (/.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2) 2) |
(/.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 1) |
(/.f64 (*.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2) 2) |
(/.f64 (*.f64 4 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1))) 4) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)))) 8) |
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)))) (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1))))) 16) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 0) |
(*.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
(*.f64 1 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b)))) |
(*.f64 2 (/.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2)) |
(*.f64 2 (+.f64 (*.f64 b (+.f64 b b)) (/.f64 (pow.f64 a 4) 2))) |
(*.f64 (*.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2) 1/2) |
(*.f64 1/2 (*.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2)) |
(*.f64 (/.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2) 2) |
(/.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
(/.f64 (*.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2) 2) |
(/.f64 (*.f64 4 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b)))) 4) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))))) 8) |
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))))) (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b)))))) 16) |
| Outputs |
|---|
(-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) -1) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(pow.f64 a 4) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(pow.f64 a 4) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(-.f64 (pow.f64 a 4) 1) |
(+.f64 (pow.f64 a 4) -1) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(*.f64 4 (pow.f64 b 2)) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(*.f64 4 (pow.f64 b 2)) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) 1) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (+.f64 (pow.f64 a 4) -1)) |
(*.f64 4 (pow.f64 b 2)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(pow.f64 a 4) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(pow.f64 a 4) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(pow.f64 a 4) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(*.f64 4 (pow.f64 b 2)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(*.f64 4 (pow.f64 b 2)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 a 4)) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(+.f64 (*.f64 4 (*.f64 b b)) (+.f64 (pow.f64 a 4) -1)) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(+.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) -1) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 0) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(+.f64 0 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1))) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(+.f64 -1 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b)))) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(+.f64 (+.f64 (pow.f64 a 4) -1) (*.f64 4 (*.f64 b b))) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(+.f64 (+.f64 (*.f64 4 (*.f64 b b)) -1) (pow.f64 a 4)) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(*.f64 1 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1))) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(*.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 1) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(*.f64 2 (/.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2)) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(*.f64 (*.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2) 1/2) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(*.f64 1/2 (*.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2)) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(*.f64 (/.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2) 2) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(/.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 1) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) 2) 2) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(/.f64 (*.f64 4 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1))) 4) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)))) 8) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)))) (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1))))) 16) |
(+.f64 (pow.f64 a 4) (+.f64 (*.f64 4 (*.f64 b b)) -1)) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 0) |
(+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
(*.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
(+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
(*.f64 1 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b)))) |
(+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
(*.f64 2 (/.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
(*.f64 2 (+.f64 (*.f64 b (+.f64 b b)) (/.f64 (pow.f64 a 4) 2))) |
(*.f64 2 (+.f64 (/.f64 (pow.f64 a 4) 2) (*.f64 b (+.f64 b b)))) |
(*.f64 (*.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2) 1/2) |
(+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
(*.f64 1/2 (*.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2)) |
(+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
(*.f64 (/.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2) 2) |
(+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
(/.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
(+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 2) 2) |
(+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
(/.f64 (*.f64 4 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b)))) 4) |
(+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))))) 8) |
(+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))))) (*.f64 2 (*.f64 4 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b)))))) 16) |
(+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
| ✓ | 0.0b | (pow.f64 b 4) |
| 0.0b | (*.f64 4 (*.f64 b b)) |
Compiled 36 to 21 computations (41.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | b | @ | -inf | (pow.f64 b 4) |
| 0.0ms | b | @ | inf | (pow.f64 b 4) |
| 0.0ms | b | @ | 0 | (pow.f64 b 4) |
| 0.0ms | b | @ | inf | (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
| 0.0ms | b | @ | 0 | (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
| 1× | batch-egg-rewrite |
| 1686× | bool.json-1 |
| 1686× | bool.json-2 |
| 1658× | rational.json-1 |
| 1658× | rational.json-2 |
| 1310× | bool.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 32 |
| 1 | 83 | 32 |
| 2 | 242 | 32 |
| 3 | 560 | 32 |
| 4 | 1795 | 32 |
| 5 | 5617 | 32 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 b 4) |
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 b 4) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 b 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 b 4) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 b 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 b 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 b 4) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (pow.f64 b 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 b 4) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 b 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 b 4) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (pow.f64 b 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (pow.f64 b 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 4 (pow.f64 b 4))) (*.f64 2 (*.f64 4 (pow.f64 b 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (pow.f64 b 4)))))) (#(struct:change #<rule egg-rr> (2) ((x and (pow.f64 b 4) (pow.f64 b 4))))) (#(struct:change #<rule egg-rr> (2) ((x or (pow.f64 b 4) (pow.f64 b 4)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 b (+.f64 b b)) (/.f64 (pow.f64 b 4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))))) (*.f64 2 (*.f64 4 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4)))))))) |
| 1× | egg-herbie |
| 2068× | rational.json-simplify-51 |
| 974× | rational.json-simplify-46 |
| 838× | rational.json-simplify-35 |
| 756× | rational.json-simplify-19 |
| 716× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 58 | 687 |
| 1 | 103 | 687 |
| 2 | 240 | 687 |
| 3 | 527 | 687 |
| 4 | 1304 | 687 |
| 5 | 1782 | 687 |
| 6 | 1900 | 687 |
| 7 | 2213 | 687 |
| 8 | 3526 | 687 |
| 9 | 5185 | 687 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 4 (pow.f64 b 2)) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(pow.f64 b 4) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(pow.f64 b 4) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(+.f64 (pow.f64 b 4) 0) |
(+.f64 0 (pow.f64 b 4)) |
(-.f64 (pow.f64 b 4) 0) |
(*.f64 (pow.f64 b 4) 1) |
(*.f64 1 (pow.f64 b 4)) |
(*.f64 2 (/.f64 (pow.f64 b 4) 2)) |
(*.f64 (*.f64 (pow.f64 b 4) 2) 1/2) |
(*.f64 1/2 (*.f64 (pow.f64 b 4) 2)) |
(*.f64 (/.f64 (pow.f64 b 4) 2) 2) |
(/.f64 (pow.f64 b 4) 1) |
(/.f64 (*.f64 (pow.f64 b 4) 2) 2) |
(/.f64 (*.f64 4 (pow.f64 b 4)) 4) |
(/.f64 (*.f64 2 (*.f64 4 (pow.f64 b 4))) 8) |
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (pow.f64 b 4))) (*.f64 2 (*.f64 4 (pow.f64 b 4)))) 16) |
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 0) |
(*.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 1) |
(*.f64 1 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4)))) |
(*.f64 2 (/.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2)) |
(*.f64 2 (+.f64 (*.f64 b (+.f64 b b)) (/.f64 (pow.f64 b 4) 2))) |
(*.f64 (*.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2) 1/2) |
(*.f64 1/2 (*.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2)) |
(*.f64 (/.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2) 2) |
(/.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 1) |
(/.f64 (*.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2) 2) |
(/.f64 (*.f64 4 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4)))) 4) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))))) 8) |
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))))) (*.f64 2 (*.f64 4 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4)))))) 16) |
| Outputs |
|---|
(*.f64 4 (pow.f64 b 2)) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(pow.f64 b 4) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(pow.f64 b 4) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) |
(+.f64 (pow.f64 b 4) (*.f64 4 (pow.f64 b 2))) |
(+.f64 (pow.f64 b 4) 0) |
(pow.f64 b 4) |
(+.f64 0 (pow.f64 b 4)) |
(pow.f64 b 4) |
(-.f64 (pow.f64 b 4) 0) |
(pow.f64 b 4) |
(*.f64 (pow.f64 b 4) 1) |
(pow.f64 b 4) |
(*.f64 1 (pow.f64 b 4)) |
(pow.f64 b 4) |
(*.f64 2 (/.f64 (pow.f64 b 4) 2)) |
(pow.f64 b 4) |
(*.f64 (*.f64 (pow.f64 b 4) 2) 1/2) |
(pow.f64 b 4) |
(*.f64 1/2 (*.f64 (pow.f64 b 4) 2)) |
(pow.f64 b 4) |
(*.f64 (/.f64 (pow.f64 b 4) 2) 2) |
(pow.f64 b 4) |
(/.f64 (pow.f64 b 4) 1) |
(pow.f64 b 4) |
(/.f64 (*.f64 (pow.f64 b 4) 2) 2) |
(pow.f64 b 4) |
(/.f64 (*.f64 4 (pow.f64 b 4)) 4) |
(pow.f64 b 4) |
(/.f64 (*.f64 2 (*.f64 4 (pow.f64 b 4))) 8) |
(pow.f64 b 4) |
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (pow.f64 b 4))) (*.f64 2 (*.f64 4 (pow.f64 b 4)))) 16) |
(pow.f64 b 4) |
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 0) |
(+.f64 (pow.f64 b 4) (*.f64 b (*.f64 4 b))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
(*.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 1) |
(+.f64 (pow.f64 b 4) (*.f64 b (*.f64 4 b))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
(*.f64 1 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4)))) |
(+.f64 (pow.f64 b 4) (*.f64 b (*.f64 4 b))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
(*.f64 2 (/.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2)) |
(+.f64 (pow.f64 b 4) (*.f64 b (*.f64 4 b))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
(*.f64 2 (+.f64 (*.f64 b (+.f64 b b)) (/.f64 (pow.f64 b 4) 2))) |
(*.f64 2 (+.f64 (/.f64 (pow.f64 b 4) 2) (*.f64 b (+.f64 b b)))) |
(*.f64 2 (+.f64 (*.f64 (pow.f64 b 4) 1/2) (*.f64 b (+.f64 b b)))) |
(*.f64 (*.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2) 1/2) |
(+.f64 (pow.f64 b 4) (*.f64 b (*.f64 4 b))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
(*.f64 1/2 (*.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2)) |
(+.f64 (pow.f64 b 4) (*.f64 b (*.f64 4 b))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
(*.f64 (/.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2) 2) |
(+.f64 (pow.f64 b 4) (*.f64 b (*.f64 4 b))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
(/.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 1) |
(+.f64 (pow.f64 b 4) (*.f64 b (*.f64 4 b))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
(/.f64 (*.f64 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))) 2) 2) |
(+.f64 (pow.f64 b 4) (*.f64 b (*.f64 4 b))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
(/.f64 (*.f64 4 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4)))) 4) |
(+.f64 (pow.f64 b 4) (*.f64 b (*.f64 4 b))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))))) 8) |
(+.f64 (pow.f64 b 4) (*.f64 b (*.f64 4 b))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4))))) (*.f64 2 (*.f64 4 (+.f64 (pow.f64 b 4) (*.f64 b (*.f64 b 4)))))) 16) |
(+.f64 (pow.f64 b 4) (*.f64 b (*.f64 4 b))) |
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) |
Compiled 1624 to 1126 computations (30.7% saved)
6 alts after pruning (5 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 109 | 5 | 114 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 0 | 1 |
| Total | 110 | 6 | 116 |
| Status | Error | Program |
|---|---|---|
| ▶ | 51.5b | (pow.f64 a 4) |
| ▶ | 11.6b | (-.f64 (pow.f64 b 4) 1) |
| ▶ | 11.7b | (-.f64 (pow.f64 a 4) 1) |
| ✓ | 10.8b | (-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1) |
| ▶ | 21.7b | (-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
| ▶ | 61.7b | (*.f64 4 (pow.f64 b 2)) |
Compiled 83 to 70 computations (15.7% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (pow.f64 b 4) 1) |
| 0.0b | (pow.f64 b 4) |
Compiled 13 to 10 computations (23.1% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | b | @ | 0 | (-.f64 (pow.f64 b 4) 1) |
| 0.0ms | b | @ | inf | (-.f64 (pow.f64 b 4) 1) |
| 0.0ms | b | @ | -inf | (-.f64 (pow.f64 b 4) 1) |
| 1× | batch-egg-rewrite |
| 1626× | bool.json-1 |
| 1626× | bool.json-2 |
| 1582× | rational.json-1 |
| 1582× | rational.json-2 |
| 1166× | rational.json-simplify-35 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 78 | 13 |
| 2 | 241 | 13 |
| 3 | 454 | 13 |
| 4 | 876 | 13 |
| 5 | 1877 | 13 |
| 6 | 4142 | 13 |
| 7 | 6686 | 13 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (pow.f64 b 4) 1) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 b 4) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (pow.f64 b 4) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (pow.f64 b 4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (pow.f64 b 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 b 4) 1/2) (-.f64 (*.f64 (pow.f64 b 4) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/2) (*.f64 (+.f64 (pow.f64 b 4) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (pow.f64 b 4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 b 4) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 b 4) 2) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (pow.f64 b 4) -1)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 b 4) 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (pow.f64 b 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 b 4) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 b 4) 2) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (pow.f64 b 4) -1)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (pow.f64 b 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (pow.f64 b 4) -1) (+.f64 (pow.f64 b 4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (pow.f64 b 4) -1) (+.f64 (pow.f64 b 4) -1)))))) |
| 1× | egg-herbie |
| 3660× | rational.json-simplify-2 |
| 3236× | rational.json-simplify-51 |
| 2770× | rational.json-simplify-35 |
| 1210× | rational.json-simplify-48 |
| 1180× | rational.json-simplify-49 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 52 | 327 |
| 1 | 97 | 327 |
| 2 | 259 | 327 |
| 3 | 808 | 327 |
| 4 | 1443 | 327 |
| 5 | 2230 | 327 |
| 6 | 2631 | 327 |
| 7 | 2727 | 327 |
| 8 | 2857 | 327 |
| 9 | 2999 | 327 |
| 10 | 3133 | 327 |
| 11 | 3267 | 327 |
| 12 | 3383 | 327 |
| 13 | 3476 | 327 |
| 14 | 3529 | 327 |
| 15 | 3567 | 327 |
| 16 | 3599 | 327 |
| 17 | 3631 | 327 |
| 18 | 3663 | 327 |
| 19 | 4518 | 327 |
| 20 | 4986 | 327 |
| 21 | 5046 | 327 |
| 22 | 5091 | 327 |
| 23 | 5148 | 327 |
| 24 | 5207 | 327 |
| 25 | 5280 | 327 |
| 26 | 5341 | 327 |
| 27 | 5422 | 327 |
| 28 | 5480 | 327 |
| 29 | 5554 | 327 |
| 30 | 5592 | 327 |
| 31 | 5623 | 327 |
| 32 | 5654 | 327 |
| 33 | 5685 | 327 |
| 34 | 5716 | 327 |
| 35 | 5747 | 327 |
| 36 | 5778 | 327 |
| 37 | 5778 | 327 |
| 38 | 5778 | 327 |
| 39 | 7472 | 327 |
| 40 | 7518 | 327 |
| 41 | 7555 | 327 |
| 42 | 7592 | 327 |
| 43 | 7628 | 327 |
| 44 | 7663 | 327 |
| 45 | 7693 | 327 |
| 46 | 7723 | 327 |
| 47 | 7752 | 327 |
| 48 | 7781 | 327 |
| 49 | 7810 | 327 |
| 1× | node limit |
| Inputs |
|---|
-1 |
(pow.f64 b 4) |
(pow.f64 b 4) |
(+.f64 (pow.f64 b 4) -1) |
(+.f64 (+.f64 (pow.f64 b 4) -1) 0) |
(+.f64 0 (+.f64 (pow.f64 b 4) -1)) |
(+.f64 -1 (pow.f64 b 4)) |
(+.f64 (*.f64 (pow.f64 b 4) 1/2) (-.f64 (*.f64 (pow.f64 b 4) 1/2) 1)) |
(+.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/2) (*.f64 (+.f64 (pow.f64 b 4) -1) 1/2)) |
(*.f64 4 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/4)) |
(*.f64 1 (+.f64 (pow.f64 b 4) -1)) |
(*.f64 (+.f64 (pow.f64 b 4) -1) 1) |
(*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/2)) |
(*.f64 (+.f64 (*.f64 (pow.f64 b 4) 2) -2) 1/2) |
(*.f64 (*.f64 4 (+.f64 (pow.f64 b 4) -1)) 1/4) |
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 b 4) 2) -2)) |
(*.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 8) 1/8) |
(*.f64 1/4 (*.f64 4 (+.f64 (pow.f64 b 4) -1))) |
(*.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/2) 2) |
(*.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/4) 4) |
(/.f64 (+.f64 (pow.f64 b 4) -1) 1) |
(/.f64 (+.f64 (*.f64 (pow.f64 b 4) 2) -2) 2) |
(/.f64 (*.f64 4 (+.f64 (pow.f64 b 4) -1)) 4) |
(/.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 8)))) 64) |
| Outputs |
|---|
-1 |
(pow.f64 b 4) |
(pow.f64 b 4) |
(+.f64 (pow.f64 b 4) -1) |
(+.f64 -1 (pow.f64 b 4)) |
(+.f64 (+.f64 (pow.f64 b 4) -1) 0) |
(+.f64 -1 (pow.f64 b 4)) |
(+.f64 0 (+.f64 (pow.f64 b 4) -1)) |
(+.f64 -1 (pow.f64 b 4)) |
(+.f64 -1 (pow.f64 b 4)) |
(+.f64 (*.f64 (pow.f64 b 4) 1/2) (-.f64 (*.f64 (pow.f64 b 4) 1/2) 1)) |
(+.f64 -1 (pow.f64 b 4)) |
(+.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/2) (*.f64 (+.f64 (pow.f64 b 4) -1) 1/2)) |
(+.f64 -1 (pow.f64 b 4)) |
(*.f64 4 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/4)) |
(+.f64 -1 (pow.f64 b 4)) |
(*.f64 1 (+.f64 (pow.f64 b 4) -1)) |
(+.f64 -1 (pow.f64 b 4)) |
(*.f64 (+.f64 (pow.f64 b 4) -1) 1) |
(+.f64 -1 (pow.f64 b 4)) |
(*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/2)) |
(+.f64 -1 (pow.f64 b 4)) |
(*.f64 (+.f64 (*.f64 (pow.f64 b 4) 2) -2) 1/2) |
(+.f64 -1 (pow.f64 b 4)) |
(*.f64 (*.f64 4 (+.f64 (pow.f64 b 4) -1)) 1/4) |
(+.f64 -1 (pow.f64 b 4)) |
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 b 4) 2) -2)) |
(+.f64 -1 (pow.f64 b 4)) |
(*.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 8) 1/8) |
(+.f64 -1 (pow.f64 b 4)) |
(*.f64 1/4 (*.f64 4 (+.f64 (pow.f64 b 4) -1))) |
(+.f64 -1 (pow.f64 b 4)) |
(*.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/2) 2) |
(+.f64 -1 (pow.f64 b 4)) |
(*.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 1/4) 4) |
(+.f64 -1 (pow.f64 b 4)) |
(/.f64 (+.f64 (pow.f64 b 4) -1) 1) |
(+.f64 -1 (pow.f64 b 4)) |
(/.f64 (+.f64 (*.f64 (pow.f64 b 4) 2) -2) 2) |
(+.f64 -1 (pow.f64 b 4)) |
(/.f64 (*.f64 4 (+.f64 (pow.f64 b 4) -1)) 4) |
(+.f64 -1 (pow.f64 b 4)) |
(/.f64 (*.f64 (+.f64 (pow.f64 b 4) -1) 8) 8) |
(+.f64 -1 (pow.f64 b 4)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 8)) 16) |
(+.f64 -1 (pow.f64 b 4)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 8))) 32) |
(+.f64 -1 (pow.f64 b 4)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 b 4) -1) 8)))) 64) |
(+.f64 -1 (pow.f64 b 4)) |
Compiled 7 to 5 computations (28.6% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 4 (pow.f64 b 2)) |
Compiled 13 to 10 computations (23.1% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | b | @ | 0 | (*.f64 4 (pow.f64 b 2)) |
| 0.0ms | b | @ | inf | (*.f64 4 (pow.f64 b 2)) |
| 0.0ms | b | @ | -inf | (*.f64 4 (pow.f64 b 2)) |
| 1× | batch-egg-rewrite |
| 1514× | bool.json-1 |
| 1514× | bool.json-2 |
| 1464× | rational.json-1 |
| 1464× | rational.json-2 |
| 1464× | rational.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 69 | 13 |
| 2 | 187 | 13 |
| 3 | 371 | 13 |
| 4 | 731 | 13 |
| 5 | 1503 | 13 |
| 6 | 3536 | 13 |
| 7 | 6498 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 4 (pow.f64 b 2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 4 (pow.f64 b 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 4 (pow.f64 b 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (pow.f64 b 2)) (*.f64 2 (pow.f64 b 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 b 2) 3) (pow.f64 b 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 4 (pow.f64 b 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (pow.f64 b 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 b 2) 8) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 b 2) 16) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 b 2) 32) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 b 2) 32)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 b 2) 32))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 b 2) 32))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 b 2) 32)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 4 (pow.f64 b 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 4 (pow.f64 b 2)) (*.f64 4 (pow.f64 b 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 4 (pow.f64 b 2)) (*.f64 4 (pow.f64 b 2))))))) |
| 1× | egg-herbie |
| 8128× | rational.json-simplify-43 |
| 2140× | rational.json-simplify-35 |
| 1240× | rational.json-simplify-2 |
| 1104× | rational.json-simplify-1 |
| 1042× | rational.json-simplify-51 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 35 | 325 |
| 1 | 78 | 325 |
| 2 | 136 | 325 |
| 3 | 305 | 325 |
| 4 | 822 | 169 |
| 5 | 2394 | 169 |
| 6 | 3234 | 169 |
| 7 | 3301 | 169 |
| 8 | 3343 | 169 |
| 9 | 3384 | 169 |
| 10 | 3425 | 169 |
| 11 | 3466 | 169 |
| 12 | 3532 | 169 |
| 13 | 3573 | 169 |
| 14 | 3614 | 169 |
| 15 | 3655 | 169 |
| 16 | 3696 | 169 |
| 17 | 3737 | 169 |
| 18 | 3778 | 169 |
| 19 | 3819 | 169 |
| 20 | 3860 | 169 |
| 21 | 3901 | 169 |
| 22 | 3942 | 169 |
| 23 | 3983 | 169 |
| 24 | 4024 | 169 |
| 25 | 4065 | 169 |
| 26 | 4106 | 169 |
| 27 | 4147 | 169 |
| 28 | 4188 | 169 |
| 29 | 4229 | 169 |
| 30 | 4270 | 169 |
| 31 | 4270 | 169 |
| 32 | 4311 | 169 |
| 33 | 4352 | 169 |
| 34 | 4393 | 169 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(+.f64 (*.f64 4 (pow.f64 b 2)) 0) |
(+.f64 0 (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 2 (pow.f64 b 2)) (*.f64 2 (pow.f64 b 2))) |
(+.f64 (*.f64 (pow.f64 b 2) 3) (pow.f64 b 2)) |
(-.f64 (*.f64 4 (pow.f64 b 2)) 0) |
(/.f64 (*.f64 4 (pow.f64 b 2)) 1) |
(/.f64 (*.f64 (pow.f64 b 2) 8) 2) |
(/.f64 (*.f64 (pow.f64 b 2) 16) 4) |
(/.f64 (*.f64 (pow.f64 b 2) 32) 8) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 b 2) 32)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 b 2) 32))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 b 2) 32))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 b 2) 32)))) 64) |
| Outputs |
|---|
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 (pow.f64 b 2) 4) |
(+.f64 (*.f64 4 (pow.f64 b 2)) 0) |
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 (pow.f64 b 2) 4) |
(+.f64 0 (*.f64 4 (pow.f64 b 2))) |
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 (pow.f64 b 2) 4) |
(+.f64 (*.f64 2 (pow.f64 b 2)) (*.f64 2 (pow.f64 b 2))) |
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 (pow.f64 b 2) 4) |
(+.f64 (*.f64 (pow.f64 b 2) 3) (pow.f64 b 2)) |
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 (pow.f64 b 2) 4) |
(-.f64 (*.f64 4 (pow.f64 b 2)) 0) |
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 (pow.f64 b 2) 4) |
(/.f64 (*.f64 4 (pow.f64 b 2)) 1) |
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 (pow.f64 b 2) 4) |
(/.f64 (*.f64 (pow.f64 b 2) 8) 2) |
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 (pow.f64 b 2) 4) |
(/.f64 (*.f64 (pow.f64 b 2) 16) 4) |
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 (pow.f64 b 2) 4) |
(/.f64 (*.f64 (pow.f64 b 2) 32) 8) |
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 (pow.f64 b 2) 4) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 b 2) 32)) 16) |
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 (pow.f64 b 2) 4) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 b 2) 32))) 32) |
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 (pow.f64 b 2) 4) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 b 2) 32))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 b 2) 32)))) 64) |
(+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 (pow.f64 b 2) 4) |
Compiled 13 to 10 computations (23.1% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
| 0.0b | (*.f64 4 (pow.f64 b 2)) |
Compiled 21 to 17 computations (19% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | b | @ | 0 | (-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
| 0.0ms | b | @ | inf | (-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
| 0.0ms | b | @ | -inf | (-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
| 1× | batch-egg-rewrite |
| 1658× | bool.json-1 |
| 1658× | bool.json-2 |
| 1610× | rational.json-1 |
| 1610× | rational.json-2 |
| 1222× | rational.json-simplify-35 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 96 | 19 |
| 2 | 268 | 19 |
| 3 | 497 | 19 |
| 4 | 974 | 19 |
| 5 | 2092 | 19 |
| 6 | 4324 | 19 |
| 7 | 6776 | 19 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 b 2) (+.f64 -1 (*.f64 (pow.f64 b 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 4 (pow.f64 b 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 4 (pow.f64 b 2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (*.f64 4 (pow.f64 b 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (pow.f64 b 2)) (+.f64 -1 (*.f64 2 (pow.f64 b 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 b 2) 3) (+.f64 (pow.f64 b 2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 4) (/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (*.f64 (pow.f64 b 2) 3)) (pow.f64 b 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (*.f64 2 (pow.f64 b 2))) (*.f64 2 (pow.f64 b 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (pow.f64 b 2) -1) (*.f64 (pow.f64 b 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 4 (pow.f64 b 2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (*.f64 4 (pow.f64 b 2)) -1)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 b 2) 8) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (*.f64 4 (pow.f64 b 2)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 4 (pow.f64 b 2)) -1)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2)))) (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 4 (pow.f64 b 2)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 4 (pow.f64 b 2)) -1) (+.f64 (*.f64 4 (pow.f64 b 2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 4 (pow.f64 b 2)) -1) (+.f64 (*.f64 4 (pow.f64 b 2)) -1)))))) |
| 1× | egg-herbie |
| 4642× | rational.json-simplify-51 |
| 2446× | rational.json-simplify-49 |
| 1888× | rational.json-simplify-35 |
| 1482× | rational.json-simplify-2 |
| 1120× | rational.json-simplify-48 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 60 | 607 |
| 1 | 113 | 607 |
| 2 | 207 | 607 |
| 3 | 440 | 607 |
| 4 | 1076 | 607 |
| 5 | 2310 | 607 |
| 6 | 2785 | 607 |
| 7 | 2939 | 607 |
| 8 | 3067 | 607 |
| 9 | 3226 | 607 |
| 10 | 3323 | 607 |
| 11 | 4282 | 607 |
| 12 | 4382 | 607 |
| 13 | 4453 | 607 |
| 14 | 4508 | 607 |
| 15 | 4546 | 607 |
| 16 | 4573 | 607 |
| 17 | 4964 | 607 |
| 18 | 5031 | 607 |
| 19 | 5080 | 607 |
| 20 | 5163 | 607 |
| 21 | 5235 | 607 |
| 22 | 5315 | 607 |
| 23 | 5380 | 607 |
| 24 | 5451 | 607 |
| 25 | 5504 | 607 |
| 26 | 5541 | 607 |
| 27 | 5569 | 607 |
| 28 | 5596 | 607 |
| 29 | 5623 | 607 |
| 30 | 5650 | 607 |
| 31 | 5677 | 607 |
| 32 | 5704 | 607 |
| 33 | 5731 | 607 |
| 34 | 5758 | 607 |
| 35 | 5785 | 607 |
| 36 | 5812 | 607 |
| 37 | 5839 | 607 |
| 38 | 5866 | 607 |
| 39 | 5893 | 607 |
| 40 | 5893 | 607 |
| 1× | node limit |
| Inputs |
|---|
-1 |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(+.f64 (pow.f64 b 2) (+.f64 -1 (*.f64 (pow.f64 b 2) 3))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) -1) |
(+.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 0) |
(+.f64 0 (+.f64 (*.f64 4 (pow.f64 b 2)) -1)) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 2 (pow.f64 b 2)) (+.f64 -1 (*.f64 2 (pow.f64 b 2)))) |
(+.f64 (*.f64 (pow.f64 b 2) 3) (+.f64 (pow.f64 b 2) -1)) |
(+.f64 (/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 4) (/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 4)) |
(+.f64 (+.f64 -1 (*.f64 (pow.f64 b 2) 3)) (pow.f64 b 2)) |
(+.f64 (+.f64 -1 (*.f64 2 (pow.f64 b 2))) (*.f64 2 (pow.f64 b 2))) |
(+.f64 (+.f64 (pow.f64 b 2) -1) (*.f64 (pow.f64 b 2) 3)) |
(*.f64 4 (/.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 4)) |
(*.f64 2 (/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 4)) |
(*.f64 1 (+.f64 (*.f64 4 (pow.f64 b 2)) -1)) |
(*.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 1) |
(*.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 1/2) |
(*.f64 (*.f64 4 (+.f64 (*.f64 4 (pow.f64 b 2)) -1)) 1/4) |
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 b 2) 8) -2)) |
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 4) 2) |
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 4 (pow.f64 b 2)) -1))) |
(*.f64 (/.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 4) 4) |
(/.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 1) |
(/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 2) |
(/.f64 (*.f64 4 (+.f64 (*.f64 4 (pow.f64 b 2)) -1)) 4) |
(/.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2)) 8) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2)))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2)))) (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2))))) 64) |
| Outputs |
|---|
-1 |
(*.f64 4 (pow.f64 b 2)) |
(*.f64 4 (pow.f64 b 2)) |
(+.f64 (pow.f64 b 2) (+.f64 -1 (*.f64 (pow.f64 b 2) 3))) |
(+.f64 -1 (+.f64 (*.f64 (pow.f64 b 2) 3) (pow.f64 b 2))) |
(+.f64 -1 (+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3))) |
(+.f64 (*.f64 (pow.f64 b 2) 3) (+.f64 -1 (pow.f64 b 2))) |
(+.f64 (*.f64 4 (pow.f64 b 2)) -1) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(+.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 0) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(+.f64 0 (+.f64 (*.f64 4 (pow.f64 b 2)) -1)) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 2 (pow.f64 b 2)) (+.f64 -1 (*.f64 2 (pow.f64 b 2)))) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(+.f64 (*.f64 (pow.f64 b 2) 3) (+.f64 (pow.f64 b 2) -1)) |
(+.f64 -1 (+.f64 (*.f64 (pow.f64 b 2) 3) (pow.f64 b 2))) |
(+.f64 -1 (+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3))) |
(+.f64 (*.f64 (pow.f64 b 2) 3) (+.f64 -1 (pow.f64 b 2))) |
(+.f64 (/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 4) (/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 4)) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(+.f64 (+.f64 -1 (*.f64 (pow.f64 b 2) 3)) (pow.f64 b 2)) |
(+.f64 -1 (+.f64 (*.f64 (pow.f64 b 2) 3) (pow.f64 b 2))) |
(+.f64 -1 (+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3))) |
(+.f64 (*.f64 (pow.f64 b 2) 3) (+.f64 -1 (pow.f64 b 2))) |
(+.f64 (+.f64 -1 (*.f64 2 (pow.f64 b 2))) (*.f64 2 (pow.f64 b 2))) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(+.f64 (+.f64 (pow.f64 b 2) -1) (*.f64 (pow.f64 b 2) 3)) |
(+.f64 -1 (+.f64 (*.f64 (pow.f64 b 2) 3) (pow.f64 b 2))) |
(+.f64 -1 (+.f64 (pow.f64 b 2) (*.f64 (pow.f64 b 2) 3))) |
(+.f64 (*.f64 (pow.f64 b 2) 3) (+.f64 -1 (pow.f64 b 2))) |
(*.f64 4 (/.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 4)) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(*.f64 2 (/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 4)) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(*.f64 1 (+.f64 (*.f64 4 (pow.f64 b 2)) -1)) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(*.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 1) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(*.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 1/2) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(*.f64 (*.f64 4 (+.f64 (*.f64 4 (pow.f64 b 2)) -1)) 1/4) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 b 2) 8) -2)) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 4) 2) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 4 (pow.f64 b 2)) -1))) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(*.f64 (/.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 4) 4) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(/.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) -1) 1) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(/.f64 (+.f64 (*.f64 (pow.f64 b 2) 8) -2) 2) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(/.f64 (*.f64 4 (+.f64 (*.f64 4 (pow.f64 b 2)) -1)) 4) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(/.f64 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2)) 8) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2))) 16) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2)))) 32) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2)))) (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (pow.f64 b 2) 8) -2))))) 64) |
(+.f64 -1 (*.f64 4 (pow.f64 b 2))) |
Compiled 997 to 875 computations (12.2% saved)
8 alts after pruning (2 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 99 | 2 | 101 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 99 | 8 | 107 |
| Status | Error | Program |
|---|---|---|
| ▶ | 51.4b | (pow.f64 b 4) |
| ✓ | 51.5b | (pow.f64 a 4) |
| ✓ | 11.6b | (-.f64 (pow.f64 b 4) 1) |
| ✓ | 11.7b | (-.f64 (pow.f64 a 4) 1) |
| ✓ | 10.8b | (-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1) |
| ✓ | 21.7b | (-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
| ✓ | 61.7b | (*.f64 4 (pow.f64 b 2)) |
| 22.6b | -1 |
Compiled 56 to 47 computations (16.1% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (pow.f64 b 4) |
Compiled 7 to 5 computations (28.6% saved)
Compiled 100 to 85 computations (15% saved)
8 alts after pruning (1 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 14 | 0 | 14 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 6 | 6 |
| Total | 14 | 8 | 22 |
| Status | Error | Program |
|---|---|---|
| ✓ | 51.4b | (pow.f64 b 4) |
| ✓ | 51.5b | (pow.f64 a 4) |
| ✓ | 11.6b | (-.f64 (pow.f64 b 4) 1) |
| ✓ | 11.7b | (-.f64 (pow.f64 a 4) 1) |
| ✓ | 10.8b | (-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1) |
| ✓ | 21.7b | (-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
| ✓ | 61.7b | (*.f64 4 (pow.f64 b 2)) |
| 22.6b | -1 |
Compiled 56 to 47 computations (16.1% saved)
| Inputs |
|---|
-1 |
(pow.f64 a 4) |
(pow.f64 b 4) |
(*.f64 4 (pow.f64 b 2)) |
(-.f64 (pow.f64 a 4) 1) |
(-.f64 (pow.f64 b 4) 1) |
(-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1) |
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1) |
| Outputs |
|---|
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1) |
6 calls:
| 178.0ms | (-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1) |
| 64.0ms | (*.f64 b b) |
| 6.0ms | a |
| 6.0ms | b |
| 4.0ms | (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
| Error | Segments | Branch |
|---|---|---|
| 0.2b | 1 | a |
| 0.2b | 1 | b |
| 0.2b | 1 | (-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1) |
| 0.2b | 1 | (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) |
| 0.2b | 1 | (*.f64 a a) |
| 0.2b | 1 | (*.f64 b b) |
Compiled 122 to 81 computations (33.6% saved)
| Inputs |
|---|
-1 |
(pow.f64 a 4) |
(pow.f64 b 4) |
(*.f64 4 (pow.f64 b 2)) |
(-.f64 (pow.f64 a 4) 1) |
(-.f64 (pow.f64 b 4) 1) |
(-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1) |
| Outputs |
|---|
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1) |
(-.f64 (pow.f64 a 4) 1) |
3 calls:
| 92.0ms | a |
| 17.0ms | b |
| 6.0ms | (*.f64 b b) |
| Error | Segments | Branch |
|---|---|---|
| 1.2b | 3 | a |
| 1.4b | 3 | b |
| 1.4b | 2 | (*.f64 b b) |
Compiled 64 to 47 computations (26.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 21.0ms | 2.591330828627212e-15 | 3.007852915684412e-10 |
| 20.0ms | -774803.9655825067 | -0.47503112444233986 |
| 37.0ms | 288× | body | 256 | valid |
Compiled 474 to 376 computations (20.7% saved)
| Inputs |
|---|
-1 |
(pow.f64 a 4) |
(pow.f64 b 4) |
(*.f64 4 (pow.f64 b 2)) |
(-.f64 (pow.f64 a 4) 1) |
(-.f64 (pow.f64 b 4) 1) |
(-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
| Outputs |
|---|
(pow.f64 b 4) |
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) |
(pow.f64 b 4) |
3 calls:
| 26.0ms | a |
| 17.0ms | b |
| 5.0ms | (*.f64 b b) |
| Error | Segments | Branch |
|---|---|---|
| 2.0b | 3 | a |
| 1.9b | 3 | b |
| 2.0b | 2 | (*.f64 b b) |
Compiled 53 to 40 computations (24.5% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 18.0ms | 0.0005178405042050472 | 1231.5740050213099 |
| 16.0ms | -321133987.38685703 | -49844.435949565384 |
| 31.0ms | 272× | body | 256 | valid |
Compiled 364 to 288 computations (20.9% saved)
| Inputs |
|---|
-1 |
(pow.f64 a 4) |
(pow.f64 b 4) |
(*.f64 4 (pow.f64 b 2)) |
(-.f64 (pow.f64 a 4) 1) |
(-.f64 (pow.f64 b 4) 1) |
(-.f64 (*.f64 4 (pow.f64 b 2)) 1) |
| Outputs |
|---|
(pow.f64 a 4) |
(-.f64 (pow.f64 b 4) 1) |
(-.f64 (pow.f64 a 4) 1) |
2 calls:
| 45.0ms | b |
| 19.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 2.0b | 3 | a |
| 2.2b | 3 | b |
Compiled 37 to 29 computations (21.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 18.0ms | 2.591330828627212e-15 | 3.007852915684412e-10 |
| 99.0ms | -774803.9655825067 | -0.47503112444233986 |
| 114.0ms | 288× | body | 256 | valid |
Compiled 294 to 250 computations (15% saved)
| Inputs |
|---|
-1 |
(pow.f64 a 4) |
(pow.f64 b 4) |
(*.f64 4 (pow.f64 b 2)) |
(-.f64 (pow.f64 a 4) 1) |
| Outputs |
|---|
(pow.f64 b 4) |
(-.f64 (pow.f64 a 4) 1) |
(pow.f64 b 4) |
2 calls:
| 13.0ms | b |
| 4.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 11.7b | 1 | a |
| 2.2b | 3 | b |
Compiled 25 to 19 computations (24% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 94.0ms | 0.0005178405042050472 | 1231.5740050213099 |
| 16.0ms | -321133987.38685703 | -49844.435949565384 |
| 107.0ms | 272× | body | 256 | valid |
Compiled 262 to 220 computations (16% saved)
| Inputs |
|---|
-1 |
(pow.f64 a 4) |
(pow.f64 b 4) |
(*.f64 4 (pow.f64 b 2)) |
| Outputs |
|---|
(pow.f64 b 4) |
-1 |
(pow.f64 b 4) |
2 calls:
| 869.0ms | b |
| 10.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 11.7b | 3 | a |
| 11.6b | 3 | b |
Compiled 20 to 15 computations (25% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 18.0ms | 0.0005178405042050472 | 1231.5740050213099 |
| 13.0ms | -1.448601827968695 | -0.00709588038317977 |
| 28.0ms | 256× | body | 256 | valid |
Compiled 184 to 160 computations (13% saved)
Total -50.8b remaining (-433.1%)
Threshold costs -50.8b (-433.1%)
| Inputs |
|---|
-1 |
(pow.f64 a 4) |
| Outputs |
|---|
(pow.f64 a 4) |
-1 |
(pow.f64 a 4) |
2 calls:
| 8.0ms | a |
| 7.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 11.7b | 3 | a |
| 21.3b | 2 | b |
Compiled 12 to 9 computations (25% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 18.0ms | 5.037143788203291e-7 | 299.1425269978599 |
| 56.0ms | -6.342242956169342e-5 | -6.809796162832939e-7 |
| 70.0ms | 256× | body | 256 | valid |
Compiled 184 to 160 computations (13% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 56 | 368 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1) |
(if (<=.f64 a -1080863910568919/2251799813685248) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) (if (<=.f64 a 1450710983537555/4835703278458516698824704) (-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1) (-.f64 (pow.f64 a 4) 1))) |
(if (<=.f64 b -50000) (pow.f64 b 4) (if (<=.f64 b 24) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) (pow.f64 b 4))) |
(if (<=.f64 a -22) (pow.f64 a 4) (if (<=.f64 a 1450710983537555/4835703278458516698824704) (-.f64 (pow.f64 b 4) 1) (-.f64 (pow.f64 a 4) 1))) |
(if (<=.f64 b -50000) (pow.f64 b 4) (if (<=.f64 b 32) (-.f64 (pow.f64 a 4) 1) (pow.f64 b 4))) |
(if (<=.f64 b -1080863910568919/2251799813685248) (pow.f64 b 4) (if (<=.f64 b 2206763817411543/4503599627370496) -1 (pow.f64 b 4))) |
(if (<=.f64 a -4574792530279969/73786976294838206464) (pow.f64 a 4) (if (<=.f64 a 1) -1 (pow.f64 a 4))) |
-1 |
| Outputs |
|---|
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1) |
(if (<=.f64 a -1080863910568919/2251799813685248) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) (if (<=.f64 a 1450710983537555/4835703278458516698824704) (-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1) (-.f64 (pow.f64 a 4) 1))) |
(if (<=.f64 b -50000) (pow.f64 b 4) (if (<=.f64 b 24) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1) (pow.f64 b 4))) |
(if (<=.f64 a -22) (pow.f64 a 4) (if (<=.f64 a 1450710983537555/4835703278458516698824704) (-.f64 (pow.f64 b 4) 1) (-.f64 (pow.f64 a 4) 1))) |
(if (<=.f64 b -50000) (pow.f64 b 4) (if (<=.f64 b 32) (-.f64 (pow.f64 a 4) 1) (pow.f64 b 4))) |
(if (<=.f64 b -1080863910568919/2251799813685248) (pow.f64 b 4) (if (<=.f64 b 2206763817411543/4503599627370496) -1 (pow.f64 b 4))) |
(if (<=.f64 a -4574792530279969/73786976294838206464) (pow.f64 a 4) (if (<=.f64 a 1) -1 (pow.f64 a 4))) |
-1 |
Compiled 164 to 122 computations (25.6% saved)
Compiled 150 to 106 computations (29.3% saved)
Loading profile data...