
Time bar (total: 2.1s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 11 to 7 computations (36.4% saved)
ival-mult: 0.0ms (0% of total)const: 0.0ms (0% of total)backward-pass: 0.0ms (0% of total)ival-neg: 0.0ms (0% of total)| 495.0ms | 8256× | 0 | valid |
ival-mult: 188.0ms (78.3% of total)ival-neg: 42.0ms (17.5% of total)const: 7.0ms (2.9% of total)backward-pass: 3.0ms (1.2% of total)| 2× | egg-herbie |
| 568× | fma-define |
| 352× | fma-define |
| 300× | sum3-define |
| 292× | fnmadd-define |
| 280× | fnmsub-define |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 34 |
| 1 | 80 | 34 |
| 2 | 239 | 28 |
| 3 | 497 | 28 |
| 4 | 739 | 28 |
| 5 | 1070 | 28 |
| 6 | 1262 | 28 |
| 0 | 6 | 7 |
| 1 | 21 | 6 |
| 2 | 60 | 5 |
| 3 | 126 | 5 |
| 4 | 200 | 5 |
| 5 | 289 | 5 |
| 6 | 381 | 5 |
| 7 | 464 | 5 |
| 8 | 750 | 5 |
| 9 | 947 | 5 |
| 0 | 947 | 5 |
| 1× | iter limit |
| 1× | saturated |
| 1× | saturated |
| Inputs |
|---|
(neg (* (* (* a a) b) b)) |
| Outputs |
|---|
(neg (* (* (* a a) b) b)) |
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
| Inputs |
|---|
(neg (* (* (* a a) b) b)) |
(neg (* (* (* (neg a) (neg a)) b) b)) |
(neg (* (* (* a a) (neg b)) (neg b))) |
(neg (neg (* (* (* (neg a) (neg a)) b) b))) |
(neg (neg (* (* (* a a) (neg b)) (neg b)))) |
(neg (* (* (* b b) a) a)) |
| Outputs |
|---|
(neg (* (* (* a a) b) b)) |
(neg (square (* a b))) |
(neg (* (* (* (neg a) (neg a)) b) b)) |
(neg (square (* a b))) |
(neg (* (* (* a a) (neg b)) (neg b))) |
(neg (square (* a b))) |
(neg (neg (* (* (* (neg a) (neg a)) b) b))) |
(square (* a b)) |
(neg (neg (* (* (* a a) (neg b)) (neg b)))) |
(square (* a b)) |
(neg (* (* (* b b) a) a)) |
(neg (square (* a b))) |
(abs a)
(abs b)
(sort a b)
| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 39 | 0 | - | 4 | (1.6390182504095166e-157 1.5762290668219192e+36) | (*.f64 (*.f64 a a) b) |
| 21 | 0 | - | 3 | (4.2541478613683173e-175 8.632494252111272e+35) | (*.f64 (*.f64 (*.f64 a a) b) b) |
| 0 | 0 | - | 0 | - | b |
| 0 | 0 | - | 0 | - | (neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b)) |
| 0 | 0 | - | 0 | - | a |
| 0 | 0 | - | 0 | - | (*.f64 a a) |
| 43.0ms | 512× | 0 | valid |
Compiled 66 to 20 computations (69.7% saved)
ival-mult: 10.0ms (74.7% of total)ival-neg: 2.0ms (14.9% of total)const: 1.0ms (7.5% of total)backward-pass: 0.0ms (0% of total)Compiled 11 to 7 computations (36.4% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 93.1% | (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
| ▶ | 80.1% | (neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b)) |
Compiled 21 to 13 computations (38.1% saved)
| 1× | egg-herbie |
Found 8 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | cost-diff | 0 | (*.f64 a b) |
| ✓ | cost-diff | 0 | (*.f64 a (*.f64 a b)) |
| ✓ | cost-diff | 0 | (*.f64 b (*.f64 a (*.f64 a b))) |
| ✓ | cost-diff | 0 | (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
| ✓ | cost-diff | -64 | (neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b)) |
| ✓ | cost-diff | 0 | (*.f64 a a) |
| ✓ | cost-diff | 0 | (*.f64 (*.f64 a a) b) |
| ✓ | cost-diff | 0 | (*.f64 (*.f64 (*.f64 a a) b) b) |
| 576× | fma-define |
| 300× | sum3-define |
| 216× | fnmadd-define |
| 182× | fma-lowering-fma.f32 |
| 182× | fma-lowering-fma.f64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 44 |
| 1 | 32 | 36 |
| 2 | 85 | 36 |
| 3 | 181 | 36 |
| 4 | 247 | 36 |
| 5 | 323 | 36 |
| 6 | 433 | 36 |
| 7 | 492 | 36 |
| 8 | 778 | 36 |
| 9 | 975 | 36 |
| 0 | 975 | 36 |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(neg (* (* (* a a) b) b)) |
(* (* (* a a) b) b) |
(* (* a a) b) |
(* a a) |
a |
b |
(- 0 (* b (* a (* a b)))) |
0 |
(* b (* a (* a b))) |
b |
(* a (* a b)) |
a |
(* a b) |
| Outputs |
|---|
(neg (* (* (* a a) b) b)) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a (*.f64 b b)))) |
(* (* (* a a) b) b) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (* a a) b) |
(*.f64 a (*.f64 a b)) |
(* a a) |
(*.f64 a a) |
a |
b |
(- 0 (* b (* a (* a b)))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a (*.f64 b b)))) |
0 |
#s(literal 0 binary64) |
(* b (* a (* a b))) |
(*.f64 a (*.f64 a (*.f64 b b))) |
b |
(* a (* a b)) |
(*.f64 a (*.f64 a b)) |
a |
(* a b) |
(*.f64 a b) |
Found 8 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | accuracy | 100.0% | (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
| ✓ | accuracy | 100.0% | (*.f64 a b) |
| ✓ | accuracy | 99.8% | (*.f64 a (*.f64 a b)) |
| ✓ | accuracy | 93.1% | (*.f64 b (*.f64 a (*.f64 a b))) |
| ✓ | accuracy | 100.0% | (*.f64 a a) |
| ✓ | accuracy | 100.0% | (neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b)) |
| ✓ | accuracy | 93.1% | (*.f64 (*.f64 (*.f64 a a) b) b) |
| ✓ | accuracy | 87.4% | (*.f64 (*.f64 a a) b) |
| 39.0ms | 256× | 0 | valid |
Compiled 55 to 12 computations (78.2% saved)
ival-mult: 10.0ms (79.1% of total)ival-sub: 1.0ms (7.9% of total)ival-neg: 1.0ms (7.9% of total)const: 0.0ms (0% of total)backward-pass: 0.0ms (0% of total)| Inputs |
|---|
#<alt (* (* (* a a) b) b)> |
#<alt (* (* a a) b)> |
#<alt (* a a)> |
#<alt (neg (* (* (* a a) b) b))> |
#<alt (- 0 (* b (* a (* a b))))> |
#<alt (* b (* a (* a b)))> |
#<alt (* a (* a b))> |
#<alt (* a b)> |
| Outputs |
|---|
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
45 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | a | @ | inf | (* (* a a) b) |
| 1.0ms | a | @ | 0 | (* (* (* a a) b) b) |
| 1.0ms | a | @ | 0 | (* a b) |
| 1.0ms | b | @ | inf | (* (* (* a a) b) b) |
| 1.0ms | b | @ | 0 | (* (* (* a a) b) b) |
| 1× | batch-egg-rewrite |
| 592× | fma-define |
| 336× | sum3-define |
| 218× | fnmadd-define |
| 198× | fma-lowering-fma.f32 |
| 198× | fma-lowering-fma.f64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 39 |
| 1 | 34 | 31 |
| 2 | 92 | 31 |
| 3 | 202 | 31 |
| 4 | 299 | 31 |
| 5 | 412 | 31 |
| 6 | 584 | 31 |
| 7 | 662 | 31 |
| 8 | 952 | 31 |
| 9 | 1149 | 31 |
| 0 | 1149 | 31 |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(* (* (* a a) b) b) |
(* (* a a) b) |
(* a a) |
(neg (* (* (* a a) b) b)) |
(- 0 (* b (* a (* a b)))) |
(* b (* a (* a b))) |
(* a (* a b)) |
(* a b) |
| Outputs |
|---|
(+.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b)))) |
(-.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (*.f64 a b)) a #s(literal 0 binary64)) |
(pow.f64 (*.f64 a b) #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b))) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(*.f64 (*.f64 a a) (*.f64 b b)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(*.f64 (*.f64 a (*.f64 a b)) b) |
(*.f64 (*.f64 a b) (*.f64 a b)) |
(*.f64 (*.f64 b b) (*.f64 a a)) |
(*.f64 (*.f64 b (*.f64 a b)) a) |
(+.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) |
(exp.f64 (log.f64 (*.f64 a (*.f64 a b)))) |
(-.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) b #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) a #s(literal 0 binary64)) |
(*.f64 a (*.f64 a b)) |
(*.f64 (*.f64 a a) b) |
(*.f64 b (*.f64 a a)) |
(*.f64 (*.f64 a b) a) |
(+.f64 (*.f64 a a) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 a a)) |
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 a))) |
(-.f64 (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 a a #s(literal 0 binary64)) |
(pow.f64 a #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a)) |
(*.f64 a a) |
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64)) |
(fma.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)) #s(literal 0 binary64)) |
(fma.f64 b #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 #s(literal 0 binary64) b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64)) |
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b)))) |
(*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)))) |
(*.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b))) |
(*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)))) |
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b)) |
(*.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64)) |
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b))) |
(*.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b))) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b) |
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a))) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b)) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b)) |
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b))) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a)) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a) |
(*.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a)) |
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64)) |
(fma.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)) #s(literal 0 binary64)) |
(fma.f64 b #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 #s(literal 0 binary64) b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64)) |
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b)))) |
(*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)))) |
(*.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b))) |
(*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)))) |
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b)) |
(*.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64)) |
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b))) |
(*.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b))) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b) |
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a))) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b)) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b)) |
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b))) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a)) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a) |
(*.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a)) |
(+.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b)))) |
(-.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (*.f64 a b)) a #s(literal 0 binary64)) |
(pow.f64 (*.f64 a b) #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b))) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(*.f64 (*.f64 a a) (*.f64 b b)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(*.f64 (*.f64 a (*.f64 a b)) b) |
(*.f64 (*.f64 a b) (*.f64 a b)) |
(*.f64 (*.f64 b b) (*.f64 a a)) |
(*.f64 (*.f64 b (*.f64 a b)) a) |
(+.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) |
(exp.f64 (log.f64 (*.f64 a (*.f64 a b)))) |
(-.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) b #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) a #s(literal 0 binary64)) |
(*.f64 a (*.f64 a b)) |
(*.f64 (*.f64 a a) b) |
(*.f64 b (*.f64 a a)) |
(*.f64 (*.f64 a b) a) |
(+.f64 #s(literal 0 binary64) (*.f64 a b)) |
(+.f64 (*.f64 a b) #s(literal 0 binary64)) |
(exp.f64 (log.f64 (*.f64 a b))) |
(-.f64 (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 a b #s(literal 0 binary64)) |
(fma.f64 b a #s(literal 0 binary64)) |
(*.f64 a b) |
(*.f64 b a) |
| 1× | egg-herbie |
| 570× | fma-define |
| 280× | sum3-define |
| 214× | fnmadd-define |
| 178× | fma-lowering-fma.f32 |
| 178× | fma-lowering-fma.f64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 1068 |
| 1 | 19 | 816 |
| 2 | 46 | 816 |
| 3 | 107 | 720 |
| 4 | 166 | 720 |
| 5 | 223 | 720 |
| 6 | 298 | 720 |
| 7 | 387 | 720 |
| 8 | 473 | 720 |
| 9 | 715 | 720 |
| 10 | 950 | 720 |
| 11 | 959 | 720 |
| 0 | 959 | 720 |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
| Outputs |
|---|
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a)))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
Compiled 3249 to 240 computations (92.6% saved)
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 346 | 4 | 350 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 1 | 2 |
| Done | 0 | 0 | 0 |
| Total | 347 | 5 | 352 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 93.1% | (neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b)) |
| ✓ | 80.1% | (neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b)) |
| ▶ | 92.5% | (neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a)) |
| ▶ | 72.3% | (neg.f64 (*.f64 (*.f64 b b) (*.f64 a a))) |
| ▶ | 99.6% | (neg.f64 (*.f64 (*.f64 a b) (*.f64 a b))) |
Compiled 50 to 29 computations (42% saved)
| 1× | egg-herbie |
Found 15 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | cost-diff | -64 | (neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b)) |
| ✓ | cost-diff | 0 | (*.f64 a b) |
| ✓ | cost-diff | 0 | (*.f64 (*.f64 a b) a) |
| ✓ | cost-diff | 0 | (*.f64 (*.f64 (*.f64 a b) a) b) |
| ✓ | cost-diff | -64 | (neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a)) |
| ✓ | cost-diff | 0 | (*.f64 a b) |
| ✓ | cost-diff | 0 | (*.f64 b (*.f64 a b)) |
| ✓ | cost-diff | 0 | (*.f64 (*.f64 b (*.f64 a b)) a) |
| ✓ | cost-diff | -64 | (neg.f64 (*.f64 (*.f64 b b) (*.f64 a a))) |
| ✓ | cost-diff | 0 | (*.f64 a a) |
| ✓ | cost-diff | 0 | (*.f64 b b) |
| ✓ | cost-diff | 0 | (*.f64 (*.f64 b b) (*.f64 a a)) |
| ✓ | cost-diff | -64 | (neg.f64 (*.f64 (*.f64 a b) (*.f64 a b))) |
| ✓ | cost-diff | 0 | (*.f64 a b) |
| ✓ | cost-diff | 0 | (*.f64 (*.f64 a b) (*.f64 a b)) |
| 1064× | sum3-define |
| 1032× | fma-define |
| 386× | fnmadd-define |
| 222× | fma-lowering-fma.f32 |
| 222× | fma-lowering-fma.f64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 67 |
| 1 | 55 | 65 |
| 2 | 116 | 65 |
| 3 | 165 | 65 |
| 4 | 251 | 65 |
| 5 | 461 | 65 |
| 6 | 512 | 65 |
| 7 | 609 | 65 |
| 8 | 1727 | 65 |
| 0 | 1727 | 65 |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(neg (* (* a b) (* a b))) |
(* (* a b) (* a b)) |
(* a b) |
a |
b |
(neg (* (* b b) (* a a))) |
(* (* b b) (* a a)) |
(* b b) |
b |
(* a a) |
a |
(neg (* (* b (* a b)) a)) |
(* (* b (* a b)) a) |
(* b (* a b)) |
b |
(* a b) |
a |
(neg (* (* (* a b) a) b)) |
(* (* (* a b) a) b) |
(* (* a b) a) |
(* a b) |
a |
b |
| Outputs |
|---|
(neg (* (* a b) (* a b))) |
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b))) |
(* (* a b) (* a b)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* a b) |
(*.f64 a b) |
a |
b |
(neg (* (* b b) (* a a))) |
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b))) |
(* (* b b) (* a a)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* b b) |
(*.f64 b b) |
b |
(* a a) |
(*.f64 a a) |
a |
(neg (* (* b (* a b)) a)) |
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b))) |
(* (* b (* a b)) a) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* b (* a b)) |
(*.f64 a (*.f64 b b)) |
b |
(* a b) |
(*.f64 a b) |
a |
(neg (* (* (* a b) a) b)) |
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b))) |
(* (* (* a b) a) b) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (* a b) a) |
(*.f64 a (*.f64 a b)) |
(* a b) |
(*.f64 a b) |
a |
b |
Found 15 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | accuracy | 100.0% | (*.f64 a b) |
| ✓ | accuracy | 100.0% | (neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b)) |
| ✓ | accuracy | 99.8% | (*.f64 (*.f64 a b) a) |
| ✓ | accuracy | 93.1% | (*.f64 (*.f64 (*.f64 a b) a) b) |
| ✓ | accuracy | 100.0% | (*.f64 a b) |
| ✓ | accuracy | 100.0% | (neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a)) |
| ✓ | accuracy | 99.7% | (*.f64 b (*.f64 a b)) |
| ✓ | accuracy | 92.5% | (*.f64 (*.f64 b (*.f64 a b)) a) |
| ✓ | accuracy | 100.0% | (*.f64 b b) |
| ✓ | accuracy | 100.0% | (*.f64 a a) |
| ✓ | accuracy | 100.0% | (neg.f64 (*.f64 (*.f64 b b) (*.f64 a a))) |
| ✓ | accuracy | 72.7% | (*.f64 (*.f64 b b) (*.f64 a a)) |
| ✓ | accuracy | 100.0% | (*.f64 a b) |
| ✓ | accuracy | 100.0% | (neg.f64 (*.f64 (*.f64 a b) (*.f64 a b))) |
| ✓ | accuracy | 99.6% | (*.f64 (*.f64 a b) (*.f64 a b)) |
| 60.0ms | 256× | 0 | valid |
Compiled 96 to 16 computations (83.3% saved)
ival-mult: 15.0ms (74.6% of total)ival-neg: 4.0ms (19.9% of total)const: 0.0ms (0% of total)backward-pass: 0.0ms (0% of total)| Inputs |
|---|
#<alt (* (* a b) (* a b))> |
#<alt (* a b)> |
#<alt (neg (* (* a b) (* a b)))> |
#<alt (* (* b b) (* a a))> |
#<alt (* b b)> |
#<alt (* a a)> |
#<alt (neg (* (* b b) (* a a)))> |
#<alt (* (* b (* a b)) a)> |
#<alt (* b (* a b))> |
#<alt (neg (* (* b (* a b)) a))> |
#<alt (* (* (* a b) a) b)> |
#<alt (* (* a b) a)> |
#<alt (neg (* (* (* a b) a) b))> |
| Outputs |
|---|
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* a b)> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (pow a 2)> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* (pow a 2) b)> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
72 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | b | @ | 0 | (* b (* a b)) |
| 0.0ms | a | @ | 0 | (* b (* a b)) |
| 0.0ms | a | @ | -inf | (* b (* a b)) |
| 0.0ms | b | @ | inf | (* b b) |
| 0.0ms | b | @ | inf | (* b (* a b)) |
| 1× | batch-egg-rewrite |
| 1100× | sum3-define |
| 1048× | fma-define |
| 388× | fnmadd-define |
| 238× | fma-lowering-fma.f32 |
| 238× | fma-lowering-fma.f64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 53 |
| 1 | 59 | 51 |
| 2 | 128 | 51 |
| 3 | 195 | 51 |
| 4 | 320 | 51 |
| 5 | 586 | 51 |
| 6 | 684 | 51 |
| 7 | 787 | 51 |
| 8 | 1905 | 51 |
| 0 | 1905 | 51 |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(* (* a b) (* a b)) |
(* a b) |
(neg (* (* a b) (* a b))) |
(* (* b b) (* a a)) |
(* b b) |
(* a a) |
(neg (* (* b b) (* a a))) |
(* (* b (* a b)) a) |
(* b (* a b)) |
(neg (* (* b (* a b)) a)) |
(* (* (* a b) a) b) |
(* (* a b) a) |
(neg (* (* (* a b) a) b)) |
| Outputs |
|---|
(+.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b)))) |
(-.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 a (*.f64 b b)) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b b)) a #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64)) |
(pow.f64 (*.f64 a b) #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b))) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(*.f64 (*.f64 a b) (*.f64 a b)) |
(*.f64 (*.f64 b b) (*.f64 a a)) |
(*.f64 (*.f64 a a) (*.f64 b b)) |
(*.f64 (*.f64 a (*.f64 b b)) a) |
(*.f64 (*.f64 a (*.f64 a b)) b) |
(+.f64 (*.f64 a b) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 a b)) |
(exp.f64 (log.f64 (*.f64 a b))) |
(-.f64 (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 a b #s(literal 0 binary64)) |
(fma.f64 b a #s(literal 0 binary64)) |
(*.f64 a b) |
(*.f64 b a) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
(fma.f64 a #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) #s(literal 0 binary64)) |
(fma.f64 b #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64)) |
(fma.f64 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) b (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b)) #s(literal 0 binary64)) |
(neg.f64 (*.f64 b (*.f64 a (*.f64 a b)))) |
(*.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b)))) |
(*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)))) |
(*.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b))) |
(*.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64)) |
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a))) |
(*.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b))) |
(*.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a)) |
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b)) |
(*.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
(*.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a)) |
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b)) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b) |
(*.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b)) |
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b))) |
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b))) |
(+.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b)))) |
(-.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 a (*.f64 b b)) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b b)) a #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64)) |
(pow.f64 (*.f64 a b) #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b))) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(*.f64 (*.f64 a b) (*.f64 a b)) |
(*.f64 (*.f64 b b) (*.f64 a a)) |
(*.f64 (*.f64 a a) (*.f64 b b)) |
(*.f64 (*.f64 a (*.f64 b b)) a) |
(*.f64 (*.f64 a (*.f64 a b)) b) |
(+.f64 (*.f64 b b) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 b b)) |
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 b))) |
(-.f64 (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 b b #s(literal 0 binary64)) |
(pow.f64 b #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 b)) |
(*.f64 b b) |
(+.f64 (*.f64 a a) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 a a)) |
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 a))) |
(-.f64 (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 a a #s(literal 0 binary64)) |
(pow.f64 a #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a)) |
(*.f64 a a) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
(fma.f64 a #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) #s(literal 0 binary64)) |
(fma.f64 b #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64)) |
(fma.f64 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) b (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b)) #s(literal 0 binary64)) |
(neg.f64 (*.f64 b (*.f64 a (*.f64 a b)))) |
(*.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b)))) |
(*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)))) |
(*.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b))) |
(*.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64)) |
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a))) |
(*.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b))) |
(*.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a)) |
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b)) |
(*.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
(*.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a)) |
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b)) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b) |
(*.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b)) |
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b))) |
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b))) |
(+.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b)))) |
(-.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 a (*.f64 b b)) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b b)) a #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64)) |
(pow.f64 (*.f64 a b) #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b))) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(*.f64 (*.f64 a b) (*.f64 a b)) |
(*.f64 (*.f64 b b) (*.f64 a a)) |
(*.f64 (*.f64 a a) (*.f64 b b)) |
(*.f64 (*.f64 a (*.f64 b b)) a) |
(*.f64 (*.f64 a (*.f64 a b)) b) |
(+.f64 (*.f64 a (*.f64 b b)) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b b))) |
(exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) |
(-.f64 (*.f64 a (*.f64 b b)) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) b #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) a #s(literal 0 binary64)) |
(*.f64 a (*.f64 b b)) |
(*.f64 b (*.f64 a b)) |
(*.f64 (*.f64 a b) b) |
(*.f64 (*.f64 b b) a) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
(fma.f64 a #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) #s(literal 0 binary64)) |
(fma.f64 b #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64)) |
(fma.f64 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) b (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b)) #s(literal 0 binary64)) |
(neg.f64 (*.f64 b (*.f64 a (*.f64 a b)))) |
(*.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b)))) |
(*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)))) |
(*.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b))) |
(*.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64)) |
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a))) |
(*.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b))) |
(*.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a)) |
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b)) |
(*.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
(*.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a)) |
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b)) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b) |
(*.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b)) |
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b))) |
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b))) |
(+.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b)))) |
(-.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 a (*.f64 b b)) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b b)) a #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64)) |
(pow.f64 (*.f64 a b) #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b))) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(*.f64 (*.f64 a b) (*.f64 a b)) |
(*.f64 (*.f64 b b) (*.f64 a a)) |
(*.f64 (*.f64 a a) (*.f64 b b)) |
(*.f64 (*.f64 a (*.f64 b b)) a) |
(*.f64 (*.f64 a (*.f64 a b)) b) |
(+.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) |
(exp.f64 (log.f64 (*.f64 a (*.f64 a b)))) |
(-.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) a #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) b #s(literal 0 binary64)) |
(*.f64 a (*.f64 a b)) |
(*.f64 b (*.f64 a a)) |
(*.f64 (*.f64 a b) a) |
(*.f64 (*.f64 a a) b) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
(fma.f64 a #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) #s(literal 0 binary64)) |
(fma.f64 b #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64)) |
(fma.f64 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) b (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))) |
(fma.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b)) #s(literal 0 binary64)) |
(neg.f64 (*.f64 b (*.f64 a (*.f64 a b)))) |
(*.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b)))) |
(*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)))) |
(*.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b))) |
(*.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64)) |
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a))) |
(*.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b))) |
(*.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a)) |
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b)) |
(*.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
(*.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a)) |
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b)) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b) |
(*.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b)) |
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b))) |
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b))) |
| 1× | egg-herbie |
| 570× | fma-define |
| 280× | sum3-define |
| 214× | fnmadd-define |
| 178× | fma-lowering-fma.f32 |
| 178× | fma-lowering-fma.f64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 1824 |
| 1 | 21 | 1368 |
| 2 | 48 | 1368 |
| 3 | 101 | 1176 |
| 4 | 159 | 1176 |
| 5 | 218 | 1176 |
| 6 | 293 | 1176 |
| 7 | 382 | 1176 |
| 8 | 468 | 1176 |
| 9 | 710 | 1176 |
| 10 | 945 | 1176 |
| 11 | 954 | 1176 |
| 0 | 954 | 1176 |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* a b) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(pow a 2) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* (pow a 2) b) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
| Outputs |
|---|
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* a b) |
(*.f64 a b) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(pow a 2) |
(*.f64 a a) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* a (pow b 2)) |
(*.f64 b (*.f64 a b)) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* (pow a 2) b) |
(*.f64 a (*.f64 a b)) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
Compiled 6524 to 304 computations (95.3% saved)
7 alts after pruning (2 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 714 | 2 | 716 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 4 | 4 |
| Done | 0 | 1 | 1 |
| Total | 714 | 7 | 721 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 80.1% | (neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a)) |
| ✓ | 93.1% | (neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b)) |
| ✓ | 80.1% | (neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b)) |
| ✓ | 92.5% | (neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a)) |
| ✓ | 72.3% | (neg.f64 (*.f64 (*.f64 b b) (*.f64 a a))) |
| ✓ | 99.6% | (neg.f64 (*.f64 (*.f64 a b) (*.f64 a b))) |
| ▶ | 78.3% | (neg.f64 (*.f64 (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) a)) |
Compiled 72 to 43 computations (40.3% saved)
| 1× | egg-herbie |
Found 8 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | cost-diff | -64 | (neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a)) |
| ✓ | cost-diff | 0 | (*.f64 b b) |
| ✓ | cost-diff | 0 | (*.f64 (*.f64 b b) a) |
| ✓ | cost-diff | 0 | (*.f64 (*.f64 (*.f64 b b) a) a) |
| ✓ | cost-diff | 0 | (log.f64 (*.f64 a (*.f64 b b))) |
| ✓ | cost-diff | 12736 | (neg.f64 (*.f64 (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) a)) |
| ✓ | cost-diff | 12800 | (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) |
| ✓ | cost-diff | 12800 | (*.f64 (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) a) |
| 572× | fma-define |
| 300× | sum3-define |
| 210× | fnmadd-define |
| 182× | fma-lowering-fma.f32 |
| 182× | fma-lowering-fma.f64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 51 |
| 1 | 33 | 47 |
| 2 | 82 | 43 |
| 3 | 155 | 43 |
| 4 | 236 | 43 |
| 5 | 324 | 43 |
| 6 | 416 | 43 |
| 7 | 499 | 43 |
| 8 | 785 | 43 |
| 9 | 982 | 43 |
| 0 | 982 | 43 |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(neg (* (exp (log (* a (* b b)))) a)) |
(* (exp (log (* a (* b b)))) a) |
(exp (log (* a (* b b)))) |
(log (* a (* b b))) |
(* a (* b b)) |
a |
(* b b) |
b |
(neg (* (* (* b b) a) a)) |
(* (* (* b b) a) a) |
(* (* b b) a) |
(* b b) |
b |
a |
| Outputs |
|---|
(neg (* (exp (log (* a (* b b)))) a)) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* (exp (log (* a (* b b)))) a) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(exp (log (* a (* b b)))) |
(*.f64 b (*.f64 a b)) |
(log (* a (* b b))) |
(log.f64 (*.f64 b (*.f64 a b))) |
(* a (* b b)) |
(*.f64 b (*.f64 a b)) |
a |
(* b b) |
(*.f64 b b) |
b |
(neg (* (* (* b b) a) a)) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(* (* (* b b) a) a) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(* (* b b) a) |
(*.f64 b (*.f64 a b)) |
(* b b) |
(*.f64 b b) |
b |
a |
Found 8 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | accuracy | 100.0% | (*.f64 b b) |
| ✓ | accuracy | 100.0% | (neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a)) |
| ✓ | accuracy | 92.5% | (*.f64 (*.f64 (*.f64 b b) a) a) |
| ✓ | accuracy | 87.8% | (*.f64 (*.f64 b b) a) |
| ✓ | accuracy | 95.6% | (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) |
| ✓ | accuracy | 92.5% | (*.f64 (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) a) |
| ✓ | accuracy | 87.8% | (*.f64 a (*.f64 b b)) |
| ✓ | accuracy | 54.3% | (log.f64 (*.f64 a (*.f64 b b))) |
| 42.0ms | 256× | 0 | valid |
Compiled 70 to 12 computations (82.9% saved)
ival-mult: 8.0ms (46.7% of total)ival-log: 4.0ms (23.3% of total)ival-exp: 3.0ms (17.5% of total)ival-neg: 2.0ms (11.7% of total)const: 0.0ms (0% of total)backward-pass: 0.0ms (0% of total)| Inputs |
|---|
#<alt (* (exp (log (* a (* b b)))) a)> |
#<alt (exp (log (* a (* b b))))> |
#<alt (neg (* (exp (log (* a (* b b)))) a))> |
#<alt (log (* a (* b b)))> |
#<alt (* (* (* b b) a) a)> |
#<alt (* (* b b) a)> |
#<alt (* b b)> |
#<alt (neg (* (* (* b b) a) a))> |
#<alt (* a (* b b))> |
| Outputs |
|---|
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (+ (log a) (log (pow b 2)))> |
#<alt (+ (log a) (log (pow b 2)))> |
#<alt (+ (log a) (log (pow b 2)))> |
#<alt (+ (log a) (log (pow b 2)))> |
#<alt (+ (log (pow b 2)) (* -1 (log (/ 1 a))))> |
#<alt (+ (log (pow b 2)) (* -1 (log (/ 1 a))))> |
#<alt (+ (log (pow b 2)) (* -1 (log (/ 1 a))))> |
#<alt (+ (log (pow b 2)) (* -1 (log (/ 1 a))))> |
#<alt (+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))> |
#<alt (+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))> |
#<alt (+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))> |
#<alt (+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))> |
#<alt (+ (log a) (* 2 (log b)))> |
#<alt (+ (log a) (* 2 (log b)))> |
#<alt (+ (log a) (* 2 (log b)))> |
#<alt (+ (log a) (* 2 (log b)))> |
#<alt (+ (log a) (* -2 (log (/ 1 b))))> |
#<alt (+ (log a) (* -2 (log (/ 1 b))))> |
#<alt (+ (log a) (* -2 (log (/ 1 b))))> |
#<alt (+ (log a) (* -2 (log (/ 1 b))))> |
#<alt (+ (log a) (* -2 (log (/ -1 b))))> |
#<alt (+ (log a) (* -2 (log (/ -1 b))))> |
#<alt (+ (log a) (* -2 (log (/ -1 b))))> |
#<alt (+ (log a) (* -2 (log (/ -1 b))))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* (pow a 2) (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (pow b 2)> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* -1 (* (pow a 2) (pow b 2)))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
#<alt (* a (pow b 2))> |
51 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 30.0ms | a | @ | 0 | (log (* a (* b b))) |
| 20.0ms | a | @ | -inf | (log (* a (* b b))) |
| 13.0ms | b | @ | inf | (log (* a (* b b))) |
| 12.0ms | b | @ | 0 | (log (* a (* b b))) |
| 6.0ms | a | @ | inf | (log (* a (* b b))) |
| 1× | batch-egg-rewrite |
| 592× | fma-define |
| 336× | sum3-define |
| 210× | fnmadd-define |
| 198× | fma-lowering-fma.f32 |
| 198× | fma-lowering-fma.f64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 45 |
| 1 | 38 | 41 |
| 2 | 101 | 37 |
| 3 | 192 | 37 |
| 4 | 305 | 37 |
| 5 | 445 | 37 |
| 6 | 556 | 37 |
| 7 | 641 | 37 |
| 8 | 927 | 37 |
| 9 | 1124 | 37 |
| 0 | 1124 | 37 |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(* (exp (log (* a (* b b)))) a) |
(exp (log (* a (* b b)))) |
(neg (* (exp (log (* a (* b b)))) a)) |
(log (* a (* b b))) |
(* (* (* b b) a) a) |
(* (* b b) a) |
(* b b) |
(neg (* (* (* b b) a) a)) |
(* a (* b b)) |
| Outputs |
|---|
(+.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b)))) |
(-.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (*.f64 a b)) a #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64)) |
(pow.f64 (*.f64 a b) #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b))) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(*.f64 (*.f64 b b) (*.f64 a a)) |
(*.f64 (*.f64 b (*.f64 a b)) a) |
(*.f64 (*.f64 a b) (*.f64 a b)) |
(*.f64 (*.f64 a a) (*.f64 b b)) |
(*.f64 (*.f64 a (*.f64 a b)) b) |
(+.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) |
(exp.f64 (log.f64 (*.f64 b (*.f64 a b)))) |
(-.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) a #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) b #s(literal 0 binary64)) |
(*.f64 a (*.f64 b b)) |
(*.f64 b (*.f64 a b)) |
(*.f64 (*.f64 b b) a) |
(*.f64 (*.f64 a b) b) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(fma.f64 a #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))) b #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64)) |
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b)))) |
(*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)))) |
(*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a))) |
(*.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a)) |
(*.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a) |
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b))) |
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b))) |
(*.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b))) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a)) |
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b))) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b)) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b)) |
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))) b) |
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b)) |
(log.f64 (*.f64 b (*.f64 a b))) |
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b))) |
(+.f64 (*.f64 #s(literal 2 binary64) (log.f64 b)) (log.f64 a)) |
(+.f64 (log.f64 b) (log.f64 (*.f64 a b))) |
(+.f64 (log.f64 (*.f64 a b)) (log.f64 b)) |
(fma.f64 #s(literal 2 binary64) (log.f64 b) (log.f64 a)) |
(fma.f64 (log.f64 b) #s(literal 2 binary64) (log.f64 a)) |
(+.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b)))) |
(-.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (*.f64 a b)) a #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64)) |
(pow.f64 (*.f64 a b) #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b))) |
(*.f64 a (*.f64 b (*.f64 a b))) |
(*.f64 b (*.f64 a (*.f64 a b))) |
(*.f64 (*.f64 b b) (*.f64 a a)) |
(*.f64 (*.f64 b (*.f64 a b)) a) |
(*.f64 (*.f64 a b) (*.f64 a b)) |
(*.f64 (*.f64 a a) (*.f64 b b)) |
(*.f64 (*.f64 a (*.f64 a b)) b) |
(+.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) |
(exp.f64 (log.f64 (*.f64 b (*.f64 a b)))) |
(-.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) a #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) b #s(literal 0 binary64)) |
(*.f64 a (*.f64 b b)) |
(*.f64 b (*.f64 a b)) |
(*.f64 (*.f64 b b) a) |
(*.f64 (*.f64 a b) b) |
(+.f64 (*.f64 b b) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 b b)) |
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 b))) |
(-.f64 (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 b b #s(literal 0 binary64)) |
(pow.f64 b #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 b)) |
(*.f64 b b) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(fma.f64 a #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a a) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))) b #s(literal 0 binary64)) |
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))) |
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64)) |
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b)))) |
(*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)))) |
(*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a))) |
(*.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a)) |
(*.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a) |
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b))) |
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b))) |
(*.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b))) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a)) |
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b))) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b)) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b)) |
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))) b) |
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b)) |
(+.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) |
(exp.f64 (log.f64 (*.f64 b (*.f64 a b)))) |
(-.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64)) |
(fma.f64 a (*.f64 b b) #s(literal 0 binary64)) |
(fma.f64 b (*.f64 a b) #s(literal 0 binary64)) |
(fma.f64 (*.f64 b b) a #s(literal 0 binary64)) |
(fma.f64 (*.f64 a b) b #s(literal 0 binary64)) |
(*.f64 a (*.f64 b b)) |
(*.f64 b (*.f64 a b)) |
(*.f64 (*.f64 b b) a) |
(*.f64 (*.f64 a b) b) |
| 1× | egg-herbie |
| 812× | fma-define |
| 750× | fnmadd-define |
| 602× | sum3-define |
| 562× | fma-lowering-fma.f32 |
| 562× | fma-lowering-fma.f64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 35 | 1308 |
| 1 | 64 | 1004 |
| 2 | 119 | 1004 |
| 3 | 254 | 908 |
| 4 | 482 | 908 |
| 5 | 843 | 908 |
| 6 | 1349 | 908 |
| 7 | 1741 | 908 |
| 8 | 2122 | 908 |
| 9 | 2525 | 908 |
| 10 | 2694 | 908 |
| 11 | 2700 | 908 |
| 0 | 2700 | 908 |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(+ (log a) (log (pow b 2))) |
(+ (log a) (log (pow b 2))) |
(+ (log a) (log (pow b 2))) |
(+ (log a) (log (pow b 2))) |
(+ (log (pow b 2)) (* -1 (log (/ 1 a)))) |
(+ (log (pow b 2)) (* -1 (log (/ 1 a)))) |
(+ (log (pow b 2)) (* -1 (log (/ 1 a)))) |
(+ (log (pow b 2)) (* -1 (log (/ 1 a)))) |
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a)))) |
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a)))) |
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a)))) |
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a)))) |
(+ (log a) (* 2 (log b))) |
(+ (log a) (* 2 (log b))) |
(+ (log a) (* 2 (log b))) |
(+ (log a) (* 2 (log b))) |
(+ (log a) (* -2 (log (/ 1 b)))) |
(+ (log a) (* -2 (log (/ 1 b)))) |
(+ (log a) (* -2 (log (/ 1 b)))) |
(+ (log a) (* -2 (log (/ 1 b)))) |
(+ (log a) (* -2 (log (/ -1 b)))) |
(+ (log a) (* -2 (log (/ -1 b)))) |
(+ (log a) (* -2 (log (/ -1 b)))) |
(+ (log a) (* -2 (log (/ -1 b)))) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* (pow a 2) (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(pow b 2) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* -1 (* (pow a 2) (pow b 2))) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
(* a (pow b 2)) |
| Outputs |
|---|
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(+ (log a) (log (pow b 2))) |
(+.f64 (log.f64 a) (log.f64 (*.f64 b b))) |
(+ (log a) (log (pow b 2))) |
(+.f64 (log.f64 a) (log.f64 (*.f64 b b))) |
(+ (log a) (log (pow b 2))) |
(+.f64 (log.f64 a) (log.f64 (*.f64 b b))) |
(+ (log a) (log (pow b 2))) |
(+.f64 (log.f64 a) (log.f64 (*.f64 b b))) |
(+ (log (pow b 2)) (* -1 (log (/ 1 a)))) |
(+.f64 (log.f64 a) (log.f64 (*.f64 b b))) |
(+ (log (pow b 2)) (* -1 (log (/ 1 a)))) |
(+.f64 (log.f64 a) (log.f64 (*.f64 b b))) |
(+ (log (pow b 2)) (* -1 (log (/ 1 a)))) |
(+.f64 (log.f64 a) (log.f64 (*.f64 b b))) |
(+ (log (pow b 2)) (* -1 (log (/ 1 a)))) |
(+.f64 (log.f64 a) (log.f64 (*.f64 b b))) |
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a)))) |
(-.f64 (log.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b))) (log.f64 (/.f64 #s(literal -1 binary64) a))) |
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a)))) |
(-.f64 (log.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b))) (log.f64 (/.f64 #s(literal -1 binary64) a))) |
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a)))) |
(-.f64 (log.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b))) (log.f64 (/.f64 #s(literal -1 binary64) a))) |
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a)))) |
(-.f64 (log.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b))) (log.f64 (/.f64 #s(literal -1 binary64) a))) |
(+ (log a) (* 2 (log b))) |
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b))) |
(+ (log a) (* 2 (log b))) |
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b))) |
(+ (log a) (* 2 (log b))) |
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b))) |
(+ (log a) (* 2 (log b))) |
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b))) |
(+ (log a) (* -2 (log (/ 1 b)))) |
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b))) |
(+ (log a) (* -2 (log (/ 1 b)))) |
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b))) |
(+ (log a) (* -2 (log (/ 1 b)))) |
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b))) |
(+ (log a) (* -2 (log (/ 1 b)))) |
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b))) |
(+ (log a) (* -2 (log (/ -1 b)))) |
(+.f64 (log.f64 a) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) b)))) |
(+ (log a) (* -2 (log (/ -1 b)))) |
(+.f64 (log.f64 a) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) b)))) |
(+ (log a) (* -2 (log (/ -1 b)))) |
(+.f64 (log.f64 a) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) b)))) |
(+ (log a) (* -2 (log (/ -1 b)))) |
(+.f64 (log.f64 a) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) b)))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* (pow a 2) (pow b 2)) |
(*.f64 a (*.f64 a (*.f64 b b))) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(pow b 2) |
(*.f64 b b) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* -1 (* (pow a 2) (pow b 2))) |
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b)))) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
(* a (pow b 2)) |
(*.f64 a (*.f64 b b)) |
Compiled 3816 to 296 computations (92.2% saved)
7 alts after pruning (0 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 405 | 0 | 405 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 5 | 5 |
| Total | 405 | 7 | 412 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 80.1% | (neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a)) |
| ✓ | 93.1% | (neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b)) |
| ✓ | 80.1% | (neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b)) |
| ✓ | 92.5% | (neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a)) |
| ✓ | 72.3% | (neg.f64 (*.f64 (*.f64 b b) (*.f64 a a))) |
| ✓ | 99.6% | (neg.f64 (*.f64 (*.f64 a b) (*.f64 a b))) |
| ✓ | 78.3% | (neg.f64 (*.f64 (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) a)) |
Compiled 141 to 73 computations (48.2% saved)
Total -18.3b remaining (-7547.2%)
Threshold costs -18.3b (-7547.2%)
| Inputs |
|---|
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b))) |
(neg.f64 (*.f64 (*.f64 b b) (*.f64 a a))) |
(neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a)) |
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b)) |
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b)) |
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a)) |
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) |
(neg.f64 (*.f64 (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) a)) |
| Outputs |
|---|
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b))) |
5 calls:
| 4.0ms | b |
| 3.0ms | a |
| 3.0ms | (*.f64 a a) |
| 2.0ms | (neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b)) |
| 2.0ms | (*.f64 (*.f64 (*.f64 a a) b) b) |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.6% | 1 | a |
| 99.6% | 1 | b |
| 99.6% | 1 | (neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b)) |
| 99.6% | 1 | (*.f64 (*.f64 (*.f64 a a) b) b) |
| 99.6% | 1 | (*.f64 a a) |
Compiled 30 to 18 computations (40% saved)
| 1× | egg-herbie |
| 10× | *-commutative_binary64 |
| 8× | +-commutative_binary64 |
| 8× | sub-neg_binary64 |
| 8× | neg-sub0_binary64 |
| 8× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 8 |
| 1 | 13 | 8 |
| 2 | 23 | 8 |
| 3 | 30 | 8 |
| 4 | 35 | 8 |
| 5 | 37 | 8 |
| 1× | saturated |
| Inputs |
|---|
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b))) |
| Outputs |
|---|
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b))) |
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b))) |
| 592× | fma-define |
| 336× | sum3-define |
| 218× | fnmadd-define |
| 198× | fma-lowering-fma.f32 |
| 198× | fma-lowering-fma.f64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 39 |
| 1 | 34 | 31 |
| 2 | 92 | 31 |
| 3 | 202 | 31 |
| 4 | 299 | 31 |
| 5 | 412 | 31 |
| 6 | 584 | 31 |
| 7 | 662 | 31 |
| 8 | 952 | 31 |
| 9 | 1149 | 31 |
| 0 | 1149 | 31 |
| 1× | done |
| 1× | iter limit |
| 1× | saturated |
Compiled 21 to 11 computations (47.6% saved)
(sort a b)
(abs b)
(abs a)
Compiled 174 to 96 computations (44.8% saved)
Loading profile data...