
Time bar (total: 2.1s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 12.5% | 87.5% | 0% | 0% | 0% | 0 |
| 100% | 12.5% | 0% | 87.5% | 0% | 0% | 0% | 1 |
Compiled 23 to 16 computations (30.4% saved)
| 877.0ms | 8 256× | 0 | valid |
ival-<: 343.0ms (49.4% of total)ival-mult: 160.0ms (23% of total)ival-sub: 105.0ms (15.1% of total)ival-div: 57.0ms (8.2% of total)ival-and: 15.0ms (2.2% of total)exact: 13.0ms (1.9% of total)ival-assert: 3.0ms (0.4% of total)| 1× | egg-herbie |
| 1 720× | lower-fma.f64 |
| 1 720× | lower-fma.f32 |
| 1 334× | unsub-neg |
| 1 072× | distribute-rgt-in |
| 1 056× | distribute-lft-in |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 65 |
| 1 | 65 | 61 |
| 2 | 190 | 55 |
| 3 | 706 | 55 |
| 4 | 2713 | 55 |
| 5 | 3893 | 55 |
| 6 | 4661 | 55 |
| 7 | 5040 | 55 |
| 8 | 5164 | 55 |
| 9 | 5191 | 55 |
| 10 | 6045 | 55 |
| 11 | 6462 | 55 |
| 12 | 6514 | 55 |
| 13 | 6514 | 55 |
| 14 | 6514 | 55 |
| 15 | 6634 | 55 |
| 16 | 6682 | 55 |
| 17 | 6682 | 55 |
| 0 | 8 | 11 |
| 0 | 13 | 11 |
| 1 | 24 | 11 |
| 2 | 44 | 11 |
| 3 | 73 | 11 |
| 4 | 177 | 11 |
| 5 | 465 | 11 |
| 6 | 1009 | 11 |
| 7 | 1907 | 11 |
| 8 | 2217 | 11 |
| 9 | 2407 | 11 |
| 10 | 2430 | 11 |
| 11 | 2435 | 11 |
| 12 | 2435 | 11 |
| 13 | 2455 | 11 |
| 14 | 2463 | 11 |
| 0 | 2463 | 10 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) m) |
| Outputs |
|---|
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) m) |
| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 0 | 0 | - | 0 | - | (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) |
| 0 | 0 | - | 0 | - | (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) |
| 0 | 0 | - | 0 | - | v |
| 0 | 0 | - | 0 | - | (*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) m) |
| 0 | 0 | - | 0 | - | (-.f64 #s(literal 1 binary64) m) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary64) |
| 0 | 0 | - | 0 | - | (*.f64 m (-.f64 #s(literal 1 binary64) m)) |
| 0 | 0 | - | 0 | - | m |
| Predicted + | Predicted - | |
|---|---|---|
| + | 0 | 0 |
| - | 0 | 256 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 0 | 0 |
| - | 0 | 0 | 256 |
| number | freq |
|---|---|
| 0 | 256 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 0 | 0 |
| - | 0 | 0 | 1 |
| 30.0ms | 512× | 0 | valid |
Compiled 106 to 36 computations (66% saved)
ival-mult: 6.0ms (38.8% of total)ival-sub: 5.0ms (32.3% of total)ival-div: 3.0ms (19.4% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)Compiled 2 to 2 computations (0% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 99.8% | (*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) m) |
Compiled 13 to 8 computations (38.5% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | cost-diff | 0 | (*.f64 m (-.f64 #s(literal 1 binary64) m)) |
| ✓ | cost-diff | 0 | (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) |
| ✓ | cost-diff | 0 | (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) |
| ✓ | cost-diff | 0 | (*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) m) |
| 1 720× | lower-fma.f64 |
| 1 720× | lower-fma.f32 |
| 680× | lower-*.f32 |
| 676× | lower-*.f64 |
| 410× | unsub-neg |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 38 |
| 0 | 13 | 38 |
| 1 | 24 | 38 |
| 2 | 44 | 38 |
| 3 | 73 | 38 |
| 4 | 177 | 38 |
| 5 | 465 | 38 |
| 6 | 1009 | 38 |
| 7 | 1907 | 38 |
| 8 | 2217 | 38 |
| 9 | 2407 | 38 |
| 10 | 2430 | 38 |
| 11 | 2435 | 38 |
| 12 | 2435 | 38 |
| 13 | 2455 | 38 |
| 14 | 2463 | 38 |
| 0 | 2463 | 36 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| Inputs |
|---|
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) m) |
(-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) |
(/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) |
(*.f64 m (-.f64 #s(literal 1 binary64) m)) |
m |
(-.f64 #s(literal 1 binary64) m) |
#s(literal 1 binary64) |
v |
| Outputs |
|---|
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) m) |
(-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) |
(/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) |
(*.f64 m (-.f64 #s(literal 1 binary64) m)) |
m |
(-.f64 #s(literal 1 binary64) m) |
#s(literal 1 binary64) |
v |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | accuracy | 100.0% | (-.f64 #s(literal 1 binary64) m) |
| ✓ | accuracy | 100.0% | (*.f64 m (-.f64 #s(literal 1 binary64) m)) |
| ✓ | accuracy | 99.9% | (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) |
| ✓ | accuracy | 99.8% | (*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) m) |
| 18.0ms | 256× | 0 | valid |
Compiled 40 to 10 computations (75% saved)
ival-mult: 3.0ms (39.4% of total)ival-div: 2.0ms (26.3% of total)ival-sub: 2.0ms (26.3% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#<alt (*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) m)> |
#<alt (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64))> |
#<alt (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v)> |
#<alt (*.f64 m (-.f64 #s(literal 1 binary64) m))> |
#<alt (-.f64 #s(literal 1 binary64) m)> |
| Outputs |
|---|
#<alt (* -1 m)> |
#<alt (* m (- (/ m v) 1))> |
#<alt (* m (- (* m (+ (* -1 (/ m v)) (/ 1 v))) 1))> |
#<alt (* m (- (* m (+ (* -1 (/ m v)) (/ 1 v))) 1))> |
#<alt (* -1 (/ (pow m 3) v))> |
#<alt (* (pow m 3) (- (/ 1 (* m v)) (/ 1 v)))> |
#<alt (* (pow m 3) (- (/ 1 (* m v)) (+ (/ 1 v) (/ 1 (pow m 2)))))> |
#<alt (* (pow m 3) (- (/ 1 (* m v)) (+ (/ 1 v) (/ 1 (pow m 2)))))> |
#<alt (* -1 (/ (pow m 3) v))> |
#<alt (* -1 (* (pow m 3) (- (/ 1 v) (/ 1 (* m v)))))> |
#<alt (* -1 (* (pow m 3) (+ (* -1 (/ (- (/ 1 v) (/ 1 m)) m)) (/ 1 v))))> |
#<alt (* -1 (* (pow m 3) (+ (* -1 (/ (- (/ 1 v) (/ 1 m)) m)) (/ 1 v))))> |
#<alt (/ (* (pow m 2) (- 1 m)) v)> |
#<alt (/ (+ (* -1 (* m v)) (* (pow m 2) (- 1 m))) v)> |
#<alt (/ (+ (* -1 (* m v)) (* (pow m 2) (- 1 m))) v)> |
#<alt (/ (+ (* -1 (* m v)) (* (pow m 2) (- 1 m))) v)> |
#<alt (* -1 m)> |
#<alt (+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v))> |
#<alt (+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v))> |
#<alt (+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v))> |
#<alt (* -1 m)> |
#<alt (+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v))> |
#<alt (+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v))> |
#<alt (+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v))> |
#<alt -1> |
#<alt (- (/ m v) 1)> |
#<alt (- (* m (+ (* -1 (/ m v)) (/ 1 v))) 1)> |
#<alt (- (* m (+ (* -1 (/ m v)) (/ 1 v))) 1)> |
#<alt (* -1 (/ (pow m 2) v))> |
#<alt (* (pow m 2) (- (/ 1 (* m v)) (/ 1 v)))> |
#<alt (* (pow m 2) (- (/ 1 (* m v)) (+ (/ 1 v) (/ 1 (pow m 2)))))> |
#<alt (* (pow m 2) (- (/ 1 (* m v)) (+ (/ 1 v) (/ 1 (pow m 2)))))> |
#<alt (* -1 (/ (pow m 2) v))> |
#<alt (* (pow m 2) (- (/ 1 (* m v)) (/ 1 v)))> |
#<alt (* (pow m 2) (- (* -1 (/ (- (/ 1 m) (/ 1 v)) m)) (/ 1 v)))> |
#<alt (* (pow m 2) (- (* -1 (/ (- (/ 1 m) (/ 1 v)) m)) (/ 1 v)))> |
#<alt (/ (* m (- 1 m)) v)> |
#<alt (/ (+ (* -1 v) (* m (- 1 m))) v)> |
#<alt (/ (+ (* -1 v) (* m (- 1 m))) v)> |
#<alt (/ (+ (* -1 v) (* m (- 1 m))) v)> |
#<alt -1> |
#<alt (- (/ (* m (- 1 m)) v) 1)> |
#<alt (- (/ (* m (- 1 m)) v) 1)> |
#<alt (- (/ (* m (- 1 m)) v) 1)> |
#<alt -1> |
#<alt (- (/ (* m (- 1 m)) v) 1)> |
#<alt (- (/ (* m (- 1 m)) v) 1)> |
#<alt (- (/ (* m (- 1 m)) v) 1)> |
#<alt (/ m v)> |
#<alt (* m (+ (* -1 (/ m v)) (/ 1 v)))> |
#<alt (* m (+ (* -1 (/ m v)) (/ 1 v)))> |
#<alt (* m (+ (* -1 (/ m v)) (/ 1 v)))> |
#<alt (* -1 (/ (pow m 2) v))> |
#<alt (* (pow m 2) (- (/ 1 (* m v)) (/ 1 v)))> |
#<alt (* (pow m 2) (- (/ 1 (* m v)) (/ 1 v)))> |
#<alt (* (pow m 2) (- (/ 1 (* m v)) (/ 1 v)))> |
#<alt (* -1 (/ (pow m 2) v))> |
#<alt (* (pow m 2) (- (/ 1 (* m v)) (/ 1 v)))> |
#<alt (* (pow m 2) (- (/ 1 (* m v)) (/ 1 v)))> |
#<alt (* (pow m 2) (- (/ 1 (* m v)) (/ 1 v)))> |
#<alt (/ (* m (- 1 m)) v)> |
#<alt (/ (* m (- 1 m)) v)> |
#<alt (/ (* m (- 1 m)) v)> |
#<alt (/ (* m (- 1 m)) v)> |
#<alt (/ (* m (- 1 m)) v)> |
#<alt (/ (* m (- 1 m)) v)> |
#<alt (/ (* m (- 1 m)) v)> |
#<alt (/ (* m (- 1 m)) v)> |
#<alt (/ (* m (- 1 m)) v)> |
#<alt (/ (* m (- 1 m)) v)> |
#<alt (/ (* m (- 1 m)) v)> |
#<alt (/ (* m (- 1 m)) v)> |
#<alt m> |
#<alt (* m (+ 1 (* -1 m)))> |
#<alt (* m (+ 1 (* -1 m)))> |
#<alt (* m (+ 1 (* -1 m)))> |
#<alt (* -1 (pow m 2))> |
#<alt (* (pow m 2) (- (/ 1 m) 1))> |
#<alt (* (pow m 2) (- (/ 1 m) 1))> |
#<alt (* (pow m 2) (- (/ 1 m) 1))> |
#<alt (* -1 (pow m 2))> |
#<alt (* (pow m 2) (- (/ 1 m) 1))> |
#<alt (* (pow m 2) (- (/ 1 m) 1))> |
#<alt (* (pow m 2) (- (/ 1 m) 1))> |
#<alt 1> |
#<alt (+ 1 (* -1 m))> |
#<alt (+ 1 (* -1 m))> |
#<alt (+ 1 (* -1 m))> |
#<alt (* -1 m)> |
#<alt (* m (- (/ 1 m) 1))> |
#<alt (* m (- (/ 1 m) 1))> |
#<alt (* m (- (/ 1 m) 1))> |
#<alt (* -1 m)> |
#<alt (* -1 (* m (- 1 (/ 1 m))))> |
#<alt (* -1 (* m (- 1 (/ 1 m))))> |
#<alt (* -1 (* m (- 1 (/ 1 m))))> |
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | v | @ | -inf | (* (- (/ (* m (- 1 m)) v) 1) m) |
| 1.0ms | m | @ | -inf | (* (- (/ (* m (- 1 m)) v) 1) m) |
| 1.0ms | m | @ | inf | (* (- (/ (* m (- 1 m)) v) 1) m) |
| 1.0ms | v | @ | 0 | (* (- (/ (* m (- 1 m)) v) 1) m) |
| 1.0ms | m | @ | 0 | (* (- (/ (* m (- 1 m)) v) 1) m) |
| 1× | batch-egg-rewrite |
| 3 700× | lower-fma.f64 |
| 3 700× | lower-fma.f32 |
| 3 398× | lower-*.f32 |
| 3 394× | lower-*.f64 |
| 2 702× | lower-/.f32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 35 |
| 0 | 13 | 35 |
| 1 | 54 | 35 |
| 2 | 396 | 35 |
| 3 | 7168 | 35 |
| 0 | 8173 | 33 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) m) |
(-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) |
(/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) |
(*.f64 m (-.f64 #s(literal 1 binary64) m)) |
(-.f64 #s(literal 1 binary64) m) |
| Outputs |
|---|
| 1× | egg-herbie |
| 10 426× | lower-fma.f64 |
| 10 426× | lower-fma.f32 |
| 3 272× | lower-*.f64 |
| 3 272× | lower-*.f32 |
| 1 052× | lower-/.f32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 69 | 887 |
| 1 | 178 | 797 |
| 2 | 509 | 641 |
| 3 | 1641 | 641 |
| 4 | 4684 | 641 |
| 5 | 7564 | 641 |
| 0 | 8077 | 611 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* -1 m) |
(* m (- (/ m v) 1)) |
(* m (- (* m (+ (* -1 (/ m v)) (/ 1 v))) 1)) |
(* m (- (* m (+ (* -1 (/ m v)) (/ 1 v))) 1)) |
(* -1 (/ (pow m 3) v)) |
(* (pow m 3) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 3) (- (/ 1 (* m v)) (+ (/ 1 v) (/ 1 (pow m 2))))) |
(* (pow m 3) (- (/ 1 (* m v)) (+ (/ 1 v) (/ 1 (pow m 2))))) |
(* -1 (/ (pow m 3) v)) |
(* -1 (* (pow m 3) (- (/ 1 v) (/ 1 (* m v))))) |
(* -1 (* (pow m 3) (+ (* -1 (/ (- (/ 1 v) (/ 1 m)) m)) (/ 1 v)))) |
(* -1 (* (pow m 3) (+ (* -1 (/ (- (/ 1 v) (/ 1 m)) m)) (/ 1 v)))) |
(/ (* (pow m 2) (- 1 m)) v) |
(/ (+ (* -1 (* m v)) (* (pow m 2) (- 1 m))) v) |
(/ (+ (* -1 (* m v)) (* (pow m 2) (- 1 m))) v) |
(/ (+ (* -1 (* m v)) (* (pow m 2) (- 1 m))) v) |
(* -1 m) |
(+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v)) |
(+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v)) |
(+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v)) |
(* -1 m) |
(+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v)) |
(+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v)) |
(+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v)) |
-1 |
(- (/ m v) 1) |
(- (* m (+ (* -1 (/ m v)) (/ 1 v))) 1) |
(- (* m (+ (* -1 (/ m v)) (/ 1 v))) 1) |
(* -1 (/ (pow m 2) v)) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 2) (- (/ 1 (* m v)) (+ (/ 1 v) (/ 1 (pow m 2))))) |
(* (pow m 2) (- (/ 1 (* m v)) (+ (/ 1 v) (/ 1 (pow m 2))))) |
(* -1 (/ (pow m 2) v)) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 2) (- (* -1 (/ (- (/ 1 m) (/ 1 v)) m)) (/ 1 v))) |
(* (pow m 2) (- (* -1 (/ (- (/ 1 m) (/ 1 v)) m)) (/ 1 v))) |
(/ (* m (- 1 m)) v) |
(/ (+ (* -1 v) (* m (- 1 m))) v) |
(/ (+ (* -1 v) (* m (- 1 m))) v) |
(/ (+ (* -1 v) (* m (- 1 m))) v) |
-1 |
(- (/ (* m (- 1 m)) v) 1) |
(- (/ (* m (- 1 m)) v) 1) |
(- (/ (* m (- 1 m)) v) 1) |
-1 |
(- (/ (* m (- 1 m)) v) 1) |
(- (/ (* m (- 1 m)) v) 1) |
(- (/ (* m (- 1 m)) v) 1) |
(/ m v) |
(* m (+ (* -1 (/ m v)) (/ 1 v))) |
(* m (+ (* -1 (/ m v)) (/ 1 v))) |
(* m (+ (* -1 (/ m v)) (/ 1 v))) |
(* -1 (/ (pow m 2) v)) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* -1 (/ (pow m 2) v)) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
m |
(* m (+ 1 (* -1 m))) |
(* m (+ 1 (* -1 m))) |
(* m (+ 1 (* -1 m))) |
(* -1 (pow m 2)) |
(* (pow m 2) (- (/ 1 m) 1)) |
(* (pow m 2) (- (/ 1 m) 1)) |
(* (pow m 2) (- (/ 1 m) 1)) |
(* -1 (pow m 2)) |
(* (pow m 2) (- (/ 1 m) 1)) |
(* (pow m 2) (- (/ 1 m) 1)) |
(* (pow m 2) (- (/ 1 m) 1)) |
1 |
(+ 1 (* -1 m)) |
(+ 1 (* -1 m)) |
(+ 1 (* -1 m)) |
(* -1 m) |
(* m (- (/ 1 m) 1)) |
(* m (- (/ 1 m) 1)) |
(* m (- (/ 1 m) 1)) |
(* -1 m) |
(* -1 (* m (- 1 (/ 1 m)))) |
(* -1 (* m (- 1 (/ 1 m)))) |
(* -1 (* m (- 1 (/ 1 m)))) |
| Outputs |
|---|
(* -1 m) |
(* m (- (/ m v) 1)) |
(* m (- (* m (+ (* -1 (/ m v)) (/ 1 v))) 1)) |
(* m (- (* m (+ (* -1 (/ m v)) (/ 1 v))) 1)) |
(* -1 (/ (pow m 3) v)) |
(* (pow m 3) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 3) (- (/ 1 (* m v)) (+ (/ 1 v) (/ 1 (pow m 2))))) |
(* (pow m 3) (- (/ 1 (* m v)) (+ (/ 1 v) (/ 1 (pow m 2))))) |
(* -1 (/ (pow m 3) v)) |
(* -1 (* (pow m 3) (- (/ 1 v) (/ 1 (* m v))))) |
(* -1 (* (pow m 3) (+ (* -1 (/ (- (/ 1 v) (/ 1 m)) m)) (/ 1 v)))) |
(* -1 (* (pow m 3) (+ (* -1 (/ (- (/ 1 v) (/ 1 m)) m)) (/ 1 v)))) |
(/ (* (pow m 2) (- 1 m)) v) |
(/ (+ (* -1 (* m v)) (* (pow m 2) (- 1 m))) v) |
(/ (+ (* -1 (* m v)) (* (pow m 2) (- 1 m))) v) |
(/ (+ (* -1 (* m v)) (* (pow m 2) (- 1 m))) v) |
(* -1 m) |
(+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v)) |
(+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v)) |
(+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v)) |
(* -1 m) |
(+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v)) |
(+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v)) |
(+ (* -1 m) (/ (* (pow m 2) (- 1 m)) v)) |
-1 |
(- (/ m v) 1) |
(- (* m (+ (* -1 (/ m v)) (/ 1 v))) 1) |
(- (* m (+ (* -1 (/ m v)) (/ 1 v))) 1) |
(* -1 (/ (pow m 2) v)) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 2) (- (/ 1 (* m v)) (+ (/ 1 v) (/ 1 (pow m 2))))) |
(* (pow m 2) (- (/ 1 (* m v)) (+ (/ 1 v) (/ 1 (pow m 2))))) |
(* -1 (/ (pow m 2) v)) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 2) (- (* -1 (/ (- (/ 1 m) (/ 1 v)) m)) (/ 1 v))) |
(* (pow m 2) (- (* -1 (/ (- (/ 1 m) (/ 1 v)) m)) (/ 1 v))) |
(/ (* m (- 1 m)) v) |
(/ (+ (* -1 v) (* m (- 1 m))) v) |
(/ (+ (* -1 v) (* m (- 1 m))) v) |
(/ (+ (* -1 v) (* m (- 1 m))) v) |
-1 |
(- (/ (* m (- 1 m)) v) 1) |
(- (/ (* m (- 1 m)) v) 1) |
(- (/ (* m (- 1 m)) v) 1) |
-1 |
(- (/ (* m (- 1 m)) v) 1) |
(- (/ (* m (- 1 m)) v) 1) |
(- (/ (* m (- 1 m)) v) 1) |
(/ m v) |
(* m (+ (* -1 (/ m v)) (/ 1 v))) |
(* m (+ (* -1 (/ m v)) (/ 1 v))) |
(* m (+ (* -1 (/ m v)) (/ 1 v))) |
(* -1 (/ (pow m 2) v)) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* -1 (/ (pow m 2) v)) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(* (pow m 2) (- (/ 1 (* m v)) (/ 1 v))) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
(/ (* m (- 1 m)) v) |
m |
(* m (+ 1 (* -1 m))) |
(* m (+ 1 (* -1 m))) |
(* m (+ 1 (* -1 m))) |
(* -1 (pow m 2)) |
(* (pow m 2) (- (/ 1 m) 1)) |
(* (pow m 2) (- (/ 1 m) 1)) |
(* (pow m 2) (- (/ 1 m) 1)) |
(* -1 (pow m 2)) |
(* (pow m 2) (- (/ 1 m) 1)) |
(* (pow m 2) (- (/ 1 m) 1)) |
(* (pow m 2) (- (/ 1 m) 1)) |
1 |
(+ 1 (* -1 m)) |
(+ 1 (* -1 m)) |
(+ 1 (* -1 m)) |
(* -1 m) |
(* m (- (/ 1 m) 1)) |
(* m (- (/ 1 m) 1)) |
(* m (- (/ 1 m) 1)) |
(* -1 m) |
(* -1 (* m (- 1 (/ 1 m)))) |
(* -1 (* m (- 1 (/ 1 m)))) |
(* -1 (* m (- 1 (/ 1 m)))) |
Compiled 2 to 2 computations (0% saved)
1 alts after pruning (0 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 0 | 1 | 1 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 99.8% | (*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) m) |
Compiled 26 to 16 computations (38.5% saved)
| 1× | egg-herbie |
| 12× | unsub-neg_binary64 |
| 10× | neg-mul-1_binary64 |
| 8× | *-commutative_binary64 |
| 8× | +-commutative_binary64 |
| 8× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 11 |
| 1 | 17 | 11 |
| 2 | 24 | 11 |
| 3 | 30 | 11 |
| 4 | 38 | 11 |
| 5 | 49 | 11 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) m) |
| Outputs |
|---|
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 #s(literal 1 binary64) m)) v) #s(literal 1 binary64)) m) |
| 1× | done |
Compiled 13 to 8 computations (38.5% saved)
Compiled 52 to 32 computations (38.5% saved)
Loading profile data...