
Time bar (total: 4.6s)
| 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 15 to 10 computations (33.3% saved)
| 1.3s | 6 163× | 1 | valid |
| 121.0ms | 2 093× | 0 | valid |
adjust: 583.0ms (55.7% of total)ival-add: 272.0ms (26% of total)ival-mult: 111.0ms (10.6% of total)ival-sub: 66.0ms (6.3% of total)ival-true: 6.0ms (0.6% of total)exact: 5.0ms (0.5% of total)ival-assert: 3.0ms (0.3% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 188 | 8 | (-6.716860590847704e-196 -2.6304955845677593e+180 -549183822971062.44) | 0 | - | (-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) |
| 0 | 0 | - | 0 | - | (+.f64 (*.f64 x y) z) |
| 0 | 0 | - | 0 | - | (fma.f64 x y z) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary64) |
| 0 | 0 | - | 0 | - | (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)) |
| 0 | 0 | - | 0 | - | z |
| 0 | 0 | - | 0 | - | (*.f64 x y) |
| 0 | 0 | - | 0 | - | y |
| 0 | 0 | - | 0 | - | x |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
-.f64 | (-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) | cancellation | 163 | 0 |
-.f64 | (-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) | nan-rescue | 33 | 0 |
| ↳ | (fma.f64 x y z) | overflow | 33 | |
| ↳ | (+.f64 (*.f64 x y) z) | overflow | 33 | |
| ↳ | (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)) | overflow | 33 | |
| ↳ | (*.f64 x y) | overflow | 33 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 189 | 0 |
| - | 7 | 60 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 189 | 0 | 0 |
| - | 7 | 0 | 60 |
| number | freq |
|---|---|
| 0 | 60 |
| 1 | 196 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 50.0ms | 392× | 1 | valid |
| 7.0ms | 120× | 0 | valid |
Compiled 90 to 29 computations (67.8% saved)
adjust: 14.0ms (42.2% of total)ival-add: 8.0ms (24.1% of total)ival-mult: 6.0ms (18.1% of total)ival-sub: 4.0ms (12.1% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 34 | 138 |
| 1 | 92 | 120 |
| 2 | 261 | 9 |
| 3 | 861 | 9 |
| 4 | 4846 | 9 |
| 0 | 9 | 11 |
| 0 | 15 | 11 |
| 1 | 26 | 11 |
| 2 | 64 | 1 |
| 3 | 185 | 1 |
| 4 | 715 | 1 |
| 5 | 3168 | 1 |
| 0 | 8302 | 1 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) |
| Outputs |
|---|
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) |
#s(literal -1 binary64) |
(abs z)
(abs y)
(abs x)
(sort x y z)
Compiled 12 to 9 computations (25% saved)
Compiled 0 to 3 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 14.4% | (-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) |
Compiled 12 to 9 computations (25% saved)
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)) | |
| cost-diff | 0 | (fma.f64 x y z) | |
| cost-diff | 1 | (+.f64 (*.f64 x y) z) | |
| cost-diff | 10 | (-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 32 |
| 0 | 15 | 32 |
| 1 | 26 | 32 |
| 2 | 64 | 22 |
| 3 | 185 | 22 |
| 4 | 715 | 22 |
| 5 | 3168 | 22 |
| 0 | 8302 | 22 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) |
(fma.f64 x y z) |
x |
y |
z |
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)) |
#s(literal 1 binary64) |
(+.f64 (*.f64 x y) z) |
(*.f64 x y) |
| Outputs |
|---|
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) |
#s(literal -1 binary64) |
(fma.f64 x y z) |
(fma.f64 y x z) |
x |
y |
z |
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)) |
(-.f64 (fma.f64 y x z) #s(literal -1 binary64)) |
#s(literal 1 binary64) |
(+.f64 (*.f64 x y) z) |
(fma.f64 y x z) |
(*.f64 x y) |
(*.f64 y x) |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)) | |
| accuracy | 0.0 | (*.f64 x y) | |
| accuracy | 0.00390625 | (+.f64 (*.f64 x y) z) | |
| accuracy | 54.78039495831402 | (-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) |
| 30.0ms | 232× | 1 | valid |
| 1.0ms | 24× | 0 | valid |
Compiled 39 to 10 computations (74.4% saved)
adjust: 10.0ms (50.4% of total)ival-add: 4.0ms (20.2% of total)ival-mult: 3.0ms (15.1% of total)ival-sub: 2.0ms (10.1% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) |
(+.f64 (*.f64 x y) z) |
(fma.f64 x y z) |
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)) |
(*.f64 x y) |
| Outputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(hole binary64 -1)) |
#s(approx (+ (* x y) z) #s(hole binary64 z)) |
#s(approx (+ (* x y) z) #s(hole binary64 (+ z (* x y)))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (+ 1 z))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (+ 1 (+ z (* x y))))) |
#s(approx (* x y) #s(hole binary64 (* x y))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* x y))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* x (+ y (/ z x))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* x y))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* x (+ y (+ (/ 1 x) (/ z x)))))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ z x))))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ 1 z) x))))))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* y (+ x (/ z y))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* y (+ x (+ (/ 1 y) (/ z y)))))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ z y))))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ 1 z) y))))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (+ 1 (* x y)))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* z (+ 1 (/ (* x y) z))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 z)) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* z (+ 1 (+ (/ 1 z) (/ (* x y) z)))))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* -1 (* z (- (* -1 (/ (* x y) z)) 1))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* -1 (* z (- (* -1 (/ (+ 1 (* x y)) z)) 1))))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | inf | ((- (+ (* x y) z) (+ 1 (+ (* x y) z))) (+ (* x y) z) (+ (* x y) z) (+ 1 (+ (* x y) z)) (* x y)) |
| 1.0ms | x | @ | inf | ((- (+ (* x y) z) (+ 1 (+ (* x y) z))) (+ (* x y) z) (+ (* x y) z) (+ 1 (+ (* x y) z)) (* x y)) |
| 1.0ms | y | @ | -inf | ((- (+ (* x y) z) (+ 1 (+ (* x y) z))) (+ (* x y) z) (+ (* x y) z) (+ 1 (+ (* x y) z)) (* x y)) |
| 1.0ms | x | @ | -inf | ((- (+ (* x y) z) (+ 1 (+ (* x y) z))) (+ (* x y) z) (+ (* x y) z) (+ 1 (+ (* x y) z)) (* x y)) |
| 1.0ms | x | @ | 0 | ((- (+ (* x y) z) (+ 1 (+ (* x y) z))) (+ (* x y) z) (+ (* x y) z) (+ 1 (+ (* x y) z)) (* x y)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 85 | 264 |
| 1 | 249 | 264 |
| 2 | 816 | 252 |
| 3 | 3052 | 252 |
| 0 | 8044 | 217 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(hole binary64 -1)) |
#s(approx (+ (* x y) z) #s(hole binary64 z)) |
#s(approx (+ (* x y) z) #s(hole binary64 (+ z (* x y)))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (+ 1 z))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (+ 1 (+ z (* x y))))) |
#s(approx (* x y) #s(hole binary64 (* x y))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* x y))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* x (+ y (/ z x))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* x y))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* x (+ y (+ (/ 1 x) (/ z x)))))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ z x))))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ 1 z) x))))))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* y (+ x (/ z y))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* y (+ x (+ (/ 1 y) (/ z y)))))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ z y))))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ 1 z) y))))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (+ 1 (* x y)))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* z (+ 1 (/ (* x y) z))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 z)) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* z (+ 1 (+ (/ 1 z) (/ (* x y) z)))))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* -1 (* z (- (* -1 (/ (* x y) z)) 1))))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* -1 (* z (- (* -1 (/ (+ 1 (* x y)) z)) 1))))) |
| Outputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(hole binary64 -1)) |
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
#s(approx (+ (* x y) z) #s(hole binary64 z)) |
#s(approx (+ (* x y) z) z) |
#s(approx (+ (* x y) z) #s(hole binary64 (+ z (* x y)))) |
#s(approx (+ (* x y) z) (fma.f64 y x z)) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (+ 1 z))) |
#s(approx (+ 1 (+ (* x y) z)) (-.f64 z #s(literal -1 binary64))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (+ 1 (+ z (* x y))))) |
#s(approx (+ 1 (+ (* x y) z)) (-.f64 (fma.f64 y x z) #s(literal -1 binary64))) |
#s(approx (* x y) #s(hole binary64 (* x y))) |
#s(approx (* x y) (*.f64 y x)) |
#s(approx (+ (* x y) z) #s(hole binary64 (* x y))) |
#s(approx (+ (* x y) z) (*.f64 y x)) |
#s(approx (+ (* x y) z) #s(hole binary64 (* x (+ y (/ z x))))) |
#s(approx (+ (* x y) z) (fma.f64 y x z)) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* x y))) |
#s(approx (+ 1 (+ (* x y) z)) (*.f64 y x)) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* x (+ y (+ (/ 1 x) (/ z x)))))) |
#s(approx (+ 1 (+ (* x y) z)) (-.f64 (fma.f64 y x z) #s(literal -1 binary64))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ z x))))))) |
#s(approx (+ (* x y) z) (fma.f64 y x z)) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ 1 z) x))))))) |
#s(approx (+ 1 (+ (* x y) z)) (-.f64 (fma.f64 y x z) #s(literal -1 binary64))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* y (+ x (/ z y))))) |
#s(approx (+ (* x y) z) (fma.f64 y x z)) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* y (+ x (+ (/ 1 y) (/ z y)))))) |
#s(approx (+ 1 (+ (* x y) z)) (-.f64 (fma.f64 y x z) #s(literal -1 binary64))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ z y))))))) |
#s(approx (+ (* x y) z) (fma.f64 y x z)) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ 1 z) y))))))) |
#s(approx (+ 1 (+ (* x y) z)) (-.f64 (fma.f64 y x z) #s(literal -1 binary64))) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (+ 1 (* x y)))) |
#s(approx (+ 1 (+ (* x y) z)) (fma.f64 y x #s(literal 1 binary64))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* z (+ 1 (/ (* x y) z))))) |
#s(approx (+ (* x y) z) (fma.f64 y x z)) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 z)) |
#s(approx (+ 1 (+ (* x y) z)) z) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* z (+ 1 (+ (/ 1 z) (/ (* x y) z)))))) |
#s(approx (+ 1 (+ (* x y) z)) (-.f64 (fma.f64 y x z) #s(literal -1 binary64))) |
#s(approx (+ (* x y) z) #s(hole binary64 (* -1 (* z (- (* -1 (/ (* x y) z)) 1))))) |
#s(approx (+ (* x y) z) (fma.f64 y x z)) |
#s(approx (+ 1 (+ (* x y) z)) #s(hole binary64 (* -1 (* z (- (* -1 (/ (+ 1 (* x y)) z)) 1))))) |
#s(approx (+ 1 (+ (* x y) z)) (-.f64 (fma.f64 y x z) #s(literal -1 binary64))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 28 |
| 0 | 15 | 28 |
| 1 | 62 | 28 |
| 0 | 623 | 28 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) |
(+.f64 (*.f64 x y) z) |
(fma.f64 x y z) |
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)) |
(*.f64 x y) |
| Outputs |
|---|
(/.f64 (-.f64 (*.f64 (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) (-.f64 (fma.f64 y x z) #s(literal 1 binary64))) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64))) (+.f64 (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) (fma.f64 y x z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (-.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64))) (-.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64))))) (-.f64 (*.f64 y x) (-.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64))))) |
(/.f64 (-.f64 (pow.f64 (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x z) #s(literal 3 binary64))) (fma.f64 (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (*.f64 (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) (fma.f64 y x z))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (-.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64))) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 (-.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64))) (-.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64)))) (*.f64 (*.f64 y x) (-.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64))))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (pow.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) #s(literal 2 binary64)))) (neg.f64 (fma.f64 y x (+.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64)))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) (pow.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) (fma.f64 y x (+.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64)))) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z))) (*.f64 (-.f64 (*.f64 y x) z) (-.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64))))) (*.f64 (-.f64 (*.f64 y x) z) (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))) |
(/.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z)) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 1 binary64))) (*.f64 (-.f64 (*.f64 y x) z) (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64)))) (*.f64 (-.f64 (*.f64 y x) z) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 1 binary64)))) |
(/.f64 (-.f64 (*.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (-.f64 #s(literal 1 binary64) (fma.f64 y x z))) (*.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64))))) (*.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))) |
(/.f64 (-.f64 (*.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 1 binary64))) (*.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64)))) (*.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 1 binary64)))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (pow.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) #s(literal 2 binary64))) (fma.f64 y x (+.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64))))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) (pow.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) #s(literal 3 binary64))) (fma.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) (fma.f64 y x (+.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64)))) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)))) |
(fma.f64 y x (-.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64)))) |
(fma.f64 x y (-.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64)))) |
(-.f64 (-.f64 (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) (*.f64 y x)) z) |
(-.f64 (-.f64 (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) z) (*.f64 y x)) |
(-.f64 (-.f64 (fma.f64 y x z) (fma.f64 y x #s(literal 1 binary64))) z) |
(-.f64 (-.f64 (fma.f64 y x z) (fma.f64 y x z)) #s(literal 1 binary64)) |
(-.f64 (/.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (fma.f64 y x (+.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64))))) (/.f64 (pow.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) #s(literal 2 binary64)) (fma.f64 y x (+.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64)))))) |
(-.f64 (/.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) (fma.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) (fma.f64 y x (+.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64)))) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)))) (/.f64 (pow.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) #s(literal 3 binary64)) (fma.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) (fma.f64 y x (+.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64)))) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64))))) |
(-.f64 (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) (fma.f64 y x z)) |
(-.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal -1 binary64))) |
(+.f64 (-.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64))) (*.f64 y x)) |
(+.f64 (*.f64 y x) (-.f64 z (-.f64 (fma.f64 y x z) #s(literal -1 binary64)))) |
(+.f64 z (-.f64 (*.f64 y x) (-.f64 (fma.f64 y x z) #s(literal -1 binary64)))) |
(*.f64 #s(literal 1 binary64) (fma.f64 y x z)) |
(*.f64 (fma.f64 y x z) #s(literal 1 binary64)) |
(/.f64 (*.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z))) (-.f64 (*.f64 y x) z)) |
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 z (*.f64 y x))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 y x) z))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z)) (-.f64 (*.f64 y x) z)) |
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 z z (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) z)))) |
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 y x) #s(literal 1 binary64) (*.f64 z #s(literal 1 binary64))) |
(fma.f64 #s(literal 1 binary64) (*.f64 y x) (*.f64 #s(literal 1 binary64) z)) |
(fma.f64 #s(literal 1 binary64) z (*.f64 #s(literal 1 binary64) (*.f64 y x))) |
(fma.f64 z #s(literal 1 binary64) (*.f64 (*.f64 y x) #s(literal 1 binary64))) |
(fma.f64 y x z) |
(fma.f64 x y z) |
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z))) |
(-.f64 z (*.f64 (neg.f64 y) x)) |
(-.f64 z (*.f64 (neg.f64 x) y)) |
(+.f64 (*.f64 (*.f64 y x) #s(literal 1 binary64)) (*.f64 z #s(literal 1 binary64))) |
(+.f64 (*.f64 z #s(literal 1 binary64)) (*.f64 (*.f64 y x) #s(literal 1 binary64))) |
(+.f64 (*.f64 #s(literal 1 binary64) z) (*.f64 #s(literal 1 binary64) (*.f64 y x))) |
(+.f64 (*.f64 #s(literal 1 binary64) (*.f64 y x)) (*.f64 #s(literal 1 binary64) z)) |
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(*.f64 #s(literal 1 binary64) (fma.f64 y x z)) |
(*.f64 (fma.f64 y x z) #s(literal 1 binary64)) |
(/.f64 (*.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z))) (-.f64 (*.f64 y x) z)) |
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 z (*.f64 y x))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 y x) z))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z)) (-.f64 (*.f64 y x) z)) |
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 z z (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) z)))) |
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 y x) #s(literal 1 binary64) (*.f64 z #s(literal 1 binary64))) |
(fma.f64 #s(literal 1 binary64) (*.f64 y x) (*.f64 #s(literal 1 binary64) z)) |
(fma.f64 #s(literal 1 binary64) z (*.f64 #s(literal 1 binary64) (*.f64 y x))) |
(fma.f64 z #s(literal 1 binary64) (*.f64 (*.f64 y x) #s(literal 1 binary64))) |
(fma.f64 y x z) |
(fma.f64 x y z) |
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z))) |
(-.f64 z (*.f64 (neg.f64 y) x)) |
(-.f64 z (*.f64 (neg.f64 x) y)) |
(+.f64 (*.f64 (*.f64 y x) #s(literal 1 binary64)) (*.f64 z #s(literal 1 binary64))) |
(+.f64 (*.f64 z #s(literal 1 binary64)) (*.f64 (*.f64 y x) #s(literal 1 binary64))) |
(+.f64 (*.f64 #s(literal 1 binary64) z) (*.f64 #s(literal 1 binary64) (*.f64 y x))) |
(+.f64 (*.f64 #s(literal 1 binary64) (*.f64 y x)) (*.f64 #s(literal 1 binary64) z)) |
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(/.f64 (-.f64 (*.f64 (fma.f64 y x #s(literal 1 binary64)) (fma.f64 y x #s(literal 1 binary64))) (*.f64 z z)) (-.f64 (fma.f64 y x #s(literal 1 binary64)) z)) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (fma.f64 y x z) #s(literal 1 binary64))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (fma.f64 y x #s(literal 1 binary64)) (fma.f64 y x #s(literal 1 binary64)) (-.f64 (*.f64 z z) (*.f64 (fma.f64 y x #s(literal 1 binary64)) z)))) |
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)))) (neg.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 1 binary64)))) |
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (fma.f64 y x z))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 1 binary64))) |
(fma.f64 #s(literal 1 binary64) (fma.f64 y x z) #s(literal 1 binary64)) |
(fma.f64 (fma.f64 y x z) #s(literal 1 binary64) #s(literal 1 binary64)) |
(fma.f64 y x (+.f64 z #s(literal 1 binary64))) |
(fma.f64 x y (+.f64 z #s(literal 1 binary64))) |
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (fma.f64 y x z))) (/.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))) |
(-.f64 (fma.f64 y x z) #s(literal -1 binary64)) |
(+.f64 (+.f64 #s(literal 1 binary64) z) (*.f64 y x)) |
(+.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 1 binary64))) (/.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 1 binary64)))) |
(+.f64 (fma.f64 y x #s(literal 1 binary64)) z) |
(+.f64 (*.f64 y x) (+.f64 z #s(literal 1 binary64))) |
(+.f64 #s(literal 1 binary64) (fma.f64 y x z)) |
(+.f64 (fma.f64 y x z) #s(literal 1 binary64)) |
(+.f64 z (fma.f64 y x #s(literal 1 binary64))) |
(*.f64 y x) |
(*.f64 x y) |
Compiled 1 848 to 297 computations (83.9% saved)
1 alts after pruning (1 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 83 | 1 | 84 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 84 | 1 | 85 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | #s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
Compiled 15 to 10 computations (33.3% saved)
Found 1 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | #s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 16 |
| 0 | 10 | 16 |
| 1 | 21 | 16 |
| 2 | 59 | 4 |
| 3 | 179 | 4 |
| 4 | 718 | 4 |
| 5 | 3219 | 4 |
| 0 | 8347 | 4 |
| 1× | iter limit |
| 1× | node limit |
| 1× | saturated |
| Inputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
#s(literal -1 binary64) |
| Outputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
#s(literal -1 binary64) |
Found 1 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | #s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
| 24.0ms | 232× | 1 | valid |
| 1.0ms | 24× | 0 | valid |
Compiled 16 to 11 computations (31.3% saved)
adjust: 8.0ms (46.3% of total)ival-add: 4.0ms (23.2% of total)ival-mult: 3.0ms (17.4% of total)ival-sub: 2.0ms (11.6% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
| Outputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(hole binary64 -1)) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | ((- (+ (* x y) z) (+ 1 (+ (* x y) z)))) |
| 0.0ms | z | @ | inf | ((- (+ (* x y) z) (+ 1 (+ (* x y) z)))) |
| 0.0ms | y | @ | inf | ((- (+ (* x y) z) (+ 1 (+ (* x y) z)))) |
| 0.0ms | x | @ | inf | ((- (+ (* x y) z) (+ 1 (+ (* x y) z)))) |
| 0.0ms | z | @ | -inf | ((- (+ (* x y) z) (+ 1 (+ (* x y) z)))) |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 15 |
| 1 | 21 | 15 |
| 2 | 59 | 3 |
| 3 | 179 | 3 |
| 4 | 718 | 3 |
| 5 | 3219 | 3 |
| 0 | 8347 | 3 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(hole binary64 -1)) |
| Outputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(hole binary64 -1)) |
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 15 |
| 0 | 10 | 15 |
| 1 | 57 | 15 |
| 0 | 617 | 13 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | saturated |
| Inputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
| Outputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
Compiled 15 to 10 computations (33.3% saved)
1 alts after pruning (0 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 0 | 1 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 1 | 1 | 2 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | #s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
Compiled 42 to 26 computations (38.1% saved)
Total -54.8b remaining (-∞%)
Threshold costs -54.8b (-∞%)
| Inputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) |
| Outputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
4 calls:
| 11.0ms | y |
| 1.0ms | z |
| 1.0ms | x |
| 1.0ms | (-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | (-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))) |
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
Compiled 15 to 18 computations (-20% saved)
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 15 |
| 1 | 21 | 15 |
| 2 | 59 | 5 |
| 3 | 186 | 4 |
| 4 | 632 | 4 |
| 5 | 2523 | 4 |
| 1× | node limit |
| Inputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
| Outputs |
|---|
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64)) |
| 1× | done |
Compiled 15 to 10 computations (33.3% saved)
(sort x y z)
(abs x)
(abs y)
(abs z)
Compiled 176 to 126 computations (28.4% saved)
Loading profile data...