
Time bar (total: 7.3s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 50.6% | 49.4% | 0% | 0% | 0% | 0 |
| 0% | 0% | 50.6% | 49.4% | 0% | 0% | 0% | 1 |
| 0% | 0% | 50.6% | 49.4% | 0% | 0% | 0% | 2 |
| 0% | 0% | 25.3% | 49.4% | 0% | 25.3% | 0% | 3 |
| 0% | 0% | 25.3% | 49.4% | 0% | 25.3% | 0% | 4 |
| 0% | 0% | 19% | 49.4% | 0% | 31.6% | 0% | 5 |
| 0% | 0% | 15.8% | 49.4% | 0% | 34.8% | 0% | 6 |
| 0% | 0% | 11.1% | 49.4% | 0% | 39.5% | 0% | 7 |
| 0% | 0% | 8.7% | 49.4% | 0% | 41.9% | 0% | 8 |
| 0% | 0% | 5.9% | 49.4% | 0% | 44.6% | 0% | 9 |
| 0% | 0% | 4.5% | 49.4% | 0% | 46% | 0% | 10 |
| 0% | 0% | 3.1% | 49.4% | 0% | 47.5% | 0% | 11 |
| 0% | 0% | 2.7% | 49.4% | 0% | 47.9% | 0% | 12 |
Compiled 27 to 19 computations (29.6% saved)
| 2.6s | 26 066× | 0 | invalid |
| 2.4s | 5 654× | 2 | valid |
| 438.0ms | 2 476× | 1 | valid |
| 16.0ms | 126× | 0 | valid |
ival-cos: 2.0s (45.1% of total)const: 558.0ms (12.7% of total)adjust: 388.0ms (8.8% of total)ival-mult: 237.0ms (5.4% of total)ival-sub: 231.0ms (5.3% of total)ival-fabs: 221.0ms (5% of total)ival-add: 220.0ms (5% of total)ival-<=: 207.0ms (4.7% of total)ival-<: 178.0ms (4.1% of total)ival-and: 110.0ms (2.5% of total)exact: 49.0ms (1.1% of total)ival-assert: 13.0ms (0.3% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 146 | 0 | - | 0 | - | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| 2 | 0 | - | 1 | (7.7402304935050505 3.3265925618893066e-9) | (cos.f64 (+.f64 x eps)) |
| 0 | 0 | - | 0 | - | eps |
| 0 | 0 | - | 0 | - | (+.f64 x eps) |
| 0 | 0 | - | 0 | - | (cos.f64 x) |
| 0 | 0 | - | 0 | - | x |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
-.f64 | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) | cancellation | 146 | 0 |
cos.f64 | (cos.f64 (+.f64 x eps)) | sensitivity | 1 | 1 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 146 | 0 |
| - | 0 | 110 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 146 | 0 | 0 |
| - | 0 | 0 | 110 |
| number | freq |
|---|---|
| 0 | 110 |
| 1 | 145 |
| 2 | 1 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 113.0ms | 322× | 2 | valid |
| 33.0ms | 180× | 1 | valid |
| 1.0ms | 10× | 0 | valid |
Compiled 65 to 28 computations (56.9% saved)
ival-cos: 86.0ms (75.8% of total)adjust: 17.0ms (15% of total)ival-sub: 6.0ms (5.3% of total)ival-add: 3.0ms (2.6% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| Outputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
Compiled 7 to 6 computations (14.3% saved)
Compiled 0 to 2 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 49.5% | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
Compiled 7 to 6 computations (14.3% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (cos.f64 x) | |
| cost-diff | 0 | (+.f64 x eps) | |
| cost-diff | 0 | (cos.f64 (+.f64 x eps)) | |
| cost-diff | 0 | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| Inputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
(cos.f64 (+.f64 x eps)) |
(+.f64 x eps) |
x |
eps |
(cos.f64 x) |
| Outputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
(cos.f64 (+.f64 x eps)) |
(+.f64 x eps) |
x |
eps |
(cos.f64 x) |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (+.f64 x eps) | |
| accuracy | 0.0 | (cos.f64 x) | |
| accuracy | 0.0641035843812187 | (cos.f64 (+.f64 x eps)) | |
| accuracy | 32.22503393011589 | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| 57.0ms | 161× | 2 | valid |
| 11.0ms | 90× | 1 | valid |
| 0.0ms | 5× | 0 | valid |
Compiled 38 to 14 computations (63.2% saved)
ival-cos: 43.0ms (76.1% of total)adjust: 9.0ms (15.9% of total)ival-sub: 3.0ms (5.3% of total)ival-add: 2.0ms (3.5% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)| Inputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
(cos.f64 (+.f64 x eps)) |
(+.f64 x eps) |
(cos.f64 x) |
| Outputs |
|---|
(- (cos eps) 1) |
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1) |
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1) |
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1) |
(cos eps) |
(+ (cos eps) (* -1 (* x (sin eps)))) |
(+ (cos eps) (* x (- (* -1/2 (* x (cos eps))) (sin eps)))) |
(+ (cos eps) (* x (- (* x (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps))))) (sin eps)))) |
eps |
(+ eps x) |
1 |
(+ 1 (* -1/2 (pow x 2))) |
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2))) |
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2))) |
(- (cos (+ eps x)) (cos x)) |
(cos (+ eps x)) |
x |
(* x (+ 1 (/ eps x))) |
(cos x) |
(- (cos (- eps (* -1 x))) (cos x)) |
(cos (- eps (* -1 x))) |
(* -1 (* x (- (* -1 (/ eps x)) 1))) |
(* -1 (* eps (sin x))) |
(* eps (- (* -1/2 (* eps (cos x))) (sin x))) |
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x))) |
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x))) |
(+ (cos x) (* -1 (* eps (sin x)))) |
(+ (cos x) (* eps (- (* -1/2 (* eps (cos x))) (sin x)))) |
(+ (cos x) (* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))) |
(* eps (+ 1 (/ x eps))) |
(- (cos (- x (* -1 eps))) (cos x)) |
(cos (- x (* -1 eps))) |
(* -1 (* eps (- (* -1 (/ x eps)) 1))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | ((- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x)) |
| 1.0ms | eps | @ | inf | ((- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x)) |
| 1.0ms | eps | @ | 0 | ((- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x)) |
| 1.0ms | eps | @ | -inf | ((- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x)) |
| 0.0ms | x | @ | inf | ((- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x)) |
| 1× | egg-herbie |
| Inputs |
|---|
(- (cos eps) 1) |
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1) |
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1) |
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1) |
(cos eps) |
(+ (cos eps) (* -1 (* x (sin eps)))) |
(+ (cos eps) (* x (- (* -1/2 (* x (cos eps))) (sin eps)))) |
(+ (cos eps) (* x (- (* x (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps))))) (sin eps)))) |
eps |
(+ eps x) |
1 |
(+ 1 (* -1/2 (pow x 2))) |
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2))) |
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2))) |
(- (cos (+ eps x)) (cos x)) |
(cos (+ eps x)) |
x |
(* x (+ 1 (/ eps x))) |
(cos x) |
(- (cos (- eps (* -1 x))) (cos x)) |
(cos (- eps (* -1 x))) |
(* -1 (* x (- (* -1 (/ eps x)) 1))) |
(* -1 (* eps (sin x))) |
(* eps (- (* -1/2 (* eps (cos x))) (sin x))) |
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x))) |
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x))) |
(+ (cos x) (* -1 (* eps (sin x)))) |
(+ (cos x) (* eps (- (* -1/2 (* eps (cos x))) (sin x)))) |
(+ (cos x) (* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))) |
(* eps (+ 1 (/ x eps))) |
(- (cos (- x (* -1 eps))) (cos x)) |
(cos (- x (* -1 eps))) |
(* -1 (* eps (- (* -1 (/ x eps)) 1))) |
| Outputs |
|---|
(- (cos eps) 1) |
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1) |
(cos.f64 (+.f64 x eps)) |
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1) |
(+.f64 x eps) |
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1) |
(cos.f64 x) |
| Inputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
(cos.f64 (+.f64 x eps)) |
(+.f64 x eps) |
(cos.f64 x) |
| Outputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
(cos.f64 (+.f64 x eps)) |
(+.f64 x eps) |
(cos.f64 x) |
Compiled 76 to 14 computations (81.6% saved)
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 5 | 3 | 8 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 5 | 4 | 9 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 49.5% | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| ▶ | 4.6% | #s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) |
| ▶ | 3.6% | #s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 (+.f64 x eps))) |
| ▶ | 3.6% | #s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 x)) |
Compiled 40 to 31 computations (22.5% saved)
| 1× | egg-herbie |
Found 7 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (+.f64 x eps) | |
| cost-diff | 0 | #s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) | |
| cost-diff | 0 | (+.f64 x eps) | |
| cost-diff | 0 | (cos.f64 (+.f64 x eps)) | |
| cost-diff | 0 | #s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 (+.f64 x eps))) | |
| cost-diff | 0 | (cos.f64 x) | |
| cost-diff | 0 | #s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 x)) |
| Inputs |
|---|
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 x)) |
(cos.f64 x) |
x |
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 (+.f64 x eps))) |
(cos.f64 (+.f64 x eps)) |
(+.f64 x eps) |
x |
eps |
#s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) |
(+.f64 x eps) |
x |
eps |
| Outputs |
|---|
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 x)) |
(cos.f64 x) |
x |
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 (+.f64 x eps))) |
(cos.f64 (+.f64 x eps)) |
(+.f64 x eps) |
x |
eps |
#s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) |
(+.f64 x eps) |
x |
eps |
Found 7 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (+.f64 x eps) | |
| accuracy | 61.08512161326299 | #s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) | |
| accuracy | 0.0 | (+.f64 x eps) | |
| accuracy | 0.0641035843812187 | (cos.f64 (+.f64 x eps)) | |
| accuracy | 61.7232437380617 | #s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 (+.f64 x eps))) | |
| accuracy | 0.0 | (cos.f64 x) | |
| accuracy | 61.72324373798339 | #s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 x)) |
| 59.0ms | 161× | 2 | valid |
| 12.0ms | 90× | 1 | valid |
| 0.0ms | 5× | 0 | valid |
Compiled 90 to 20 computations (77.8% saved)
ival-cos: 43.0ms (75.7% of total)adjust: 9.0ms (15.8% of total)ival-sub: 3.0ms (5.3% of total)ival-add: 2.0ms (3.5% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 x)) |
(cos.f64 x) |
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 (+.f64 x eps))) |
(cos.f64 (+.f64 x eps)) |
(+.f64 x eps) |
#s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) |
| Outputs |
|---|
(- (cos eps) 1) |
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1) |
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1) |
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1) |
1 |
(+ 1 (* -1/2 (pow x 2))) |
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2))) |
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2))) |
(cos eps) |
(+ (cos eps) (* -1 (* x (sin eps)))) |
(+ (cos eps) (* x (- (* -1/2 (* x (cos eps))) (sin eps)))) |
(+ (cos eps) (* x (- (* x (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps))))) (sin eps)))) |
eps |
(+ eps x) |
(- (cos (+ eps x)) (cos x)) |
(cos x) |
(cos (+ eps x)) |
x |
(* x (+ 1 (/ eps x))) |
(- (cos (- eps (* -1 x))) (cos x)) |
(cos (- eps (* -1 x))) |
(* -1 (* x (- (* -1 (/ eps x)) 1))) |
(* -1 (* eps (sin x))) |
(* eps (- (* -1/2 (* eps (cos x))) (sin x))) |
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x))) |
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x))) |
(+ (cos x) (* -1 (* eps (sin x)))) |
(+ (cos x) (* eps (- (* -1/2 (* eps (cos x))) (sin x)))) |
(+ (cos x) (* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))) |
(* eps (+ 1 (/ x eps))) |
(- (cos (- x (* -1 eps))) (cos x)) |
(cos (- x (* -1 eps))) |
(* -1 (* eps (- (* -1 (/ x eps)) 1))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | eps | @ | -inf | ((- (cos (+ x eps)) (cos x)) (cos x) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (- (cos (+ x eps)) (cos x))) |
| 0.0ms | eps | @ | inf | ((- (cos (+ x eps)) (cos x)) (cos x) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (- (cos (+ x eps)) (cos x))) |
| 0.0ms | x | @ | 0 | ((- (cos (+ x eps)) (cos x)) (cos x) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (- (cos (+ x eps)) (cos x))) |
| 0.0ms | x | @ | -inf | ((- (cos (+ x eps)) (cos x)) (cos x) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (- (cos (+ x eps)) (cos x))) |
| 0.0ms | x | @ | inf | ((- (cos (+ x eps)) (cos x)) (cos x) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (- (cos (+ x eps)) (cos x))) |
| 1× | egg-herbie |
| Inputs |
|---|
(- (cos eps) 1) |
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1) |
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1) |
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1) |
1 |
(+ 1 (* -1/2 (pow x 2))) |
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2))) |
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2))) |
(cos eps) |
(+ (cos eps) (* -1 (* x (sin eps)))) |
(+ (cos eps) (* x (- (* -1/2 (* x (cos eps))) (sin eps)))) |
(+ (cos eps) (* x (- (* x (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps))))) (sin eps)))) |
eps |
(+ eps x) |
(- (cos (+ eps x)) (cos x)) |
(cos x) |
(cos (+ eps x)) |
x |
(* x (+ 1 (/ eps x))) |
(- (cos (- eps (* -1 x))) (cos x)) |
(cos (- eps (* -1 x))) |
(* -1 (* x (- (* -1 (/ eps x)) 1))) |
(* -1 (* eps (sin x))) |
(* eps (- (* -1/2 (* eps (cos x))) (sin x))) |
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x))) |
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x))) |
(+ (cos x) (* -1 (* eps (sin x)))) |
(+ (cos x) (* eps (- (* -1/2 (* eps (cos x))) (sin x)))) |
(+ (cos x) (* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))) |
(* eps (+ 1 (/ x eps))) |
(- (cos (- x (* -1 eps))) (cos x)) |
(cos (- x (* -1 eps))) |
(* -1 (* eps (- (* -1 (/ x eps)) 1))) |
| Outputs |
|---|
(- (cos eps) 1) |
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 x)) |
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1) |
(cos.f64 x) |
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1) |
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 (+.f64 x eps))) |
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1) |
(cos.f64 (+.f64 x eps)) |
1 |
(+.f64 x eps) |
(+ 1 (* -1/2 (pow x 2))) |
#s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) |
| Inputs |
|---|
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 x)) |
(cos.f64 x) |
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 (+.f64 x eps))) |
(cos.f64 (+.f64 x eps)) |
(+.f64 x eps) |
#s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) |
| Outputs |
|---|
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 x)) |
(cos.f64 x) |
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 (+.f64 x eps))) |
(cos.f64 (+.f64 x eps)) |
(+.f64 x eps) |
#s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) |
Compiled 152 to 18 computations (88.2% saved)
4 alts after pruning (0 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 11 | 0 | 11 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 3 | 3 |
| Done | 0 | 1 | 1 |
| Total | 11 | 4 | 15 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 49.5% | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| ✓ | 4.6% | #s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) |
| ✓ | 3.6% | #s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 (+.f64 x eps))) |
| ✓ | 3.6% | #s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 x)) |
Compiled 80 to 44 computations (45% saved)
| Inputs |
|---|
#s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) |
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 x)) |
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 (+.f64 x eps))) |
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| Outputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
3 calls:
| 2.0ms | eps |
| 2.0ms | x |
| 2.0ms | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 49.5% | 1 | x |
| 49.5% | 1 | eps |
| 49.5% | 1 | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
Compiled 9 to 10 computations (-11.1% saved)
Total -1.2b remaining (-1.9%)
Threshold costs -1.2b (-1.9%)
| Inputs |
|---|
#s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) |
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 x)) |
#s(approx (- (cos (+ x eps)) (cos x)) (cos.f64 (+.f64 x eps))) |
| Outputs |
|---|
#s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) |
3 calls:
| 2.0ms | eps |
| 2.0ms | x |
| 1.0ms | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 4.6% | 1 | x |
| 4.6% | 1 | eps |
| 4.6% | 1 | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
Compiled 9 to 10 computations (-11.1% saved)
| 1× | egg-herbie |
| Inputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
#s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) |
| Outputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
#s(approx (- (cos (+ x eps)) (cos x)) (+.f64 x eps)) |
| 1× | done |
Compiled 18 to 11 computations (38.9% saved)
Compiled 84 to 64 computations (23.8% saved)
Loading profile data...