
Time bar (total: 1.6s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 0.1% | 99.9% | 0% | 0% | 0% | 0 |
| 0% | 0% | 0.1% | 99.9% | 0% | 0% | 0% | 1 |
| 0% | 0% | 0.1% | 99.9% | 0% | 0% | 0% | 2 |
| 50% | 0.1% | 0.1% | 99.9% | 0% | 0% | 0% | 3 |
| 50% | 0.1% | 0.1% | 99.9% | 0% | 0% | 0% | 4 |
| 75% | 0.1% | 0% | 99.9% | 0% | 0% | 0% | 5 |
| 75% | 0.1% | 0% | 99.9% | 0% | 0% | 0% | 6 |
| 87.5% | 0.1% | 0% | 99.9% | 0% | 0% | 0% | 7 |
| 87.5% | 0.1% | 0% | 99.9% | 0% | 0% | 0% | 8 |
| 93.8% | 0.1% | 0% | 99.9% | 0% | 0% | 0% | 9 |
| 93.8% | 0.1% | 0% | 99.9% | 0% | 0% | 0% | 10 |
| 96.9% | 0.1% | 0% | 99.9% | 0% | 0% | 0% | 11 |
| 96.9% | 0.1% | 0% | 99.9% | 0% | 0% | 0% | 12 |
Compiled 30 to 23 computations (23.3% saved)
| 776.0ms | 8 256× | 0 | valid |
ival-div: 122.0ms (21.2% of total)ival-mult: 122.0ms (21.2% of total)ival-log: 107.0ms (18.6% of total)ival-sub: 89.0ms (15.5% of total)ival-<=: 89.0ms (15.5% of total)exact: 23.0ms (4% of total)ival-and: 20.0ms (3.5% of total)ival-assert: 3.0ms (0.5% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 6 | 0 | - | 3 | (1.6826537992814528e-12 0.26662248373031616) | (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
| 3 | 1 | (1.7779498992980951e-31 0.9990031123161316) | 0 | - | (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
| 0 | 0 | - | 0 | - | #s(literal 1/4 binary32) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary32) |
| 0 | 0 | - | 0 | - | (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
| 0 | 0 | - | 0 | - | (*.f32 #s(literal 3 binary32) s) |
| 0 | 0 | - | 0 | - | (-.f32 u #s(literal 1/4 binary32)) |
| 0 | 0 | - | 0 | - | u |
| 0 | 0 | - | 0 | - | s |
| 0 | 0 | - | 0 | - | (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
| 0 | 0 | - | 0 | - | #s(literal 3/4 binary32) |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| 0 | 0 | - | 0 | - | #s(literal 3 binary32) |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
-.f32 | (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) | cancellation | 4 | 1 |
log.f32 | (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) | sensitivity | 3 | 6 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 4 | 4 |
| - | 3 | 245 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 4 | 3 | 1 |
| - | 3 | 4 | 241 |
| number | freq |
|---|---|
| 0 | 249 |
| 1 | 7 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 39.0ms | 512× | 0 | valid |
Compiled 189 to 56 computations (70.4% saved)
ival-div: 7.0ms (28.6% of total)ival-mult: 6.0ms (24.5% of total)ival-sub: 5.0ms (20.5% of total)ival-log: 5.0ms (20.5% of total)exact: 1.0ms (4.1% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| Outputs |
|---|
(*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
Compiled 14 to 13 computations (7.1% saved)
Compiled 0 to 2 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 95.9% | (*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
Compiled 14 to 13 computations (7.1% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) | |
| cost-diff | 0 | (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) | |
| cost-diff | 0 | (*.f32 #s(literal 3 binary32) s) | |
| cost-diff | 0 | (*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| Inputs |
|---|
(*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
(*.f32 #s(literal 3 binary32) s) |
#s(literal 3 binary32) |
s |
(log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(literal 1 binary32) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(-.f32 u #s(literal 1/4 binary32)) |
u |
#s(literal 1/4 binary32) |
#s(literal 3/4 binary32) |
| Outputs |
|---|
(*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
(*.f32 #s(literal 3 binary32) s) |
#s(literal 3 binary32) |
s |
(log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(literal 1 binary32) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(-.f32 u #s(literal 1/4 binary32)) |
u |
#s(literal 1/4 binary32) |
#s(literal 3/4 binary32) |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.15625 | (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) | |
| accuracy | 0.3359375 | (*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) | |
| accuracy | 0.5270378056753189 | (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) | |
| accuracy | 0.948466594154779 | (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
| 23.0ms | 256× | 0 | valid |
Compiled 116 to 28 computations (75.9% saved)
ival-mult: 7.0ms (43.7% of total)ival-div: 3.0ms (18.7% of total)ival-log: 3.0ms (18.7% of total)ival-sub: 2.0ms (12.5% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
(*.f32 #s(literal 3 binary32) s) |
(log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
| Outputs |
|---|
(* 3 (* s (log (/ 1 (- 1 (* 4/3 (- u 1/4))))))) |
(* 3 s) |
(* 3 (* s (log 3/4))) |
(+ (* 3 (* s u)) (* 3 (* s (log 3/4)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3/2 (* s u)) (* 3 s)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3 s) (* u (+ (* 3/2 s) (* s u)))))) |
(log 3/4) |
(+ u (log 3/4)) |
(+ (log 3/4) (* u (+ 1 (* 1/2 u)))) |
(+ (log 3/4) (* u (+ 1 (* u (+ 1/2 (* 1/3 u)))))) |
3/4 |
(+ 3/4 (* 3/4 u)) |
(+ 3/4 (* u (+ 3/4 (* 3/4 u)))) |
(+ 3/4 (* u (+ 3/4 (* u (+ 3/4 (* 3/4 u)))))) |
4/3 |
(+ 4/3 (* -4/3 u)) |
(* 3 (* s (+ (log -3/4) (log (/ 1 u))))) |
(+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (* 3 (/ s u))) |
(+ (* 3/2 (/ s (pow u 2))) (+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (* 3 (/ s u)))) |
(+ (* 3/2 (/ s (pow u 2))) (+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (+ (* 3 (/ s u)) (/ s (pow u 3))))) |
(+ (log -3/4) (log (/ 1 u))) |
(+ (log -3/4) (+ (log (/ 1 u)) (/ 1 u))) |
(+ (log -3/4) (+ (log (/ 1 u)) (+ (/ 1/2 (pow u 2)) (/ 1 u)))) |
(+ (log -3/4) (+ (log (/ 1 u)) (+ (/ 1/2 (pow u 2)) (+ (/ 1 u) (* 1/3 (/ 1 (pow u 3))))))) |
(/ -3/4 u) |
(* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) u)) |
(/ (- (* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) u)) 3/4) u) |
(/ (- (* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) (pow u 2))) (+ 3/4 (* 3/4 (/ 1 u)))) u) |
(* -4/3 u) |
(* u (- (* 4/3 (/ 1 u)) 4/3)) |
(* 3 (* s (+ (log 3/4) (log (/ -1 u))))) |
(+ (* 3 (* s (+ (log 3/4) (log (/ -1 u))))) (* 3 (/ s u))) |
(+ (* -1 (/ (+ (* -3 s) (* -3/2 (/ s u))) u)) (* 3 (* s (+ (log 3/4) (log (/ -1 u)))))) |
(+ (* -1 (/ (+ (* -3 s) (* -1 (/ (+ (* 3/2 s) (/ s u)) u))) u)) (* 3 (* s (+ (log 3/4) (log (/ -1 u)))))) |
(+ (log 3/4) (log (/ -1 u))) |
(+ (log 3/4) (+ (log (/ -1 u)) (/ 1 u))) |
(+ (log 3/4) (+ (log (/ -1 u)) (+ (/ 1/2 (pow u 2)) (/ 1 u)))) |
(+ (log 3/4) (+ (log (/ -1 u)) (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u))) u)) 1) u)))) |
(* -1 (/ (+ 3/4 (+ (/ 3/4 (pow u 2)) (* 3/4 (/ 1 u)))) u)) |
(* -1 (/ (+ 3/4 (* -1 (/ (- (* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) u)) 3/4) u))) u)) |
(* -1 (* u (- 4/3 (* 4/3 (/ 1 u))))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 48.0ms | s | @ | 0 | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ 1 (- 1 (/ (- u 1/4) 3/4))) (- 1 (/ (- u 1/4) 3/4))) |
| 10.0ms | s | @ | inf | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ 1 (- 1 (/ (- u 1/4) 3/4))) (- 1 (/ (- u 1/4) 3/4))) |
| 7.0ms | s | @ | -inf | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ 1 (- 1 (/ (- u 1/4) 3/4))) (- 1 (/ (- u 1/4) 3/4))) |
| 1.0ms | u | @ | -inf | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ 1 (- 1 (/ (- u 1/4) 3/4))) (- 1 (/ (- u 1/4) 3/4))) |
| 1.0ms | u | @ | inf | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ 1 (- 1 (/ (- u 1/4) 3/4))) (- 1 (/ (- u 1/4) 3/4))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* 3 (* s (log (/ 1 (- 1 (* 4/3 (- u 1/4))))))) |
(* 3 s) |
(* 3 (* s (log 3/4))) |
(+ (* 3 (* s u)) (* 3 (* s (log 3/4)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3/2 (* s u)) (* 3 s)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3 s) (* u (+ (* 3/2 s) (* s u)))))) |
(log 3/4) |
(+ u (log 3/4)) |
(+ (log 3/4) (* u (+ 1 (* 1/2 u)))) |
(+ (log 3/4) (* u (+ 1 (* u (+ 1/2 (* 1/3 u)))))) |
3/4 |
(+ 3/4 (* 3/4 u)) |
(+ 3/4 (* u (+ 3/4 (* 3/4 u)))) |
(+ 3/4 (* u (+ 3/4 (* u (+ 3/4 (* 3/4 u)))))) |
4/3 |
(+ 4/3 (* -4/3 u)) |
(* 3 (* s (+ (log -3/4) (log (/ 1 u))))) |
(+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (* 3 (/ s u))) |
(+ (* 3/2 (/ s (pow u 2))) (+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (* 3 (/ s u)))) |
(+ (* 3/2 (/ s (pow u 2))) (+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (+ (* 3 (/ s u)) (/ s (pow u 3))))) |
(+ (log -3/4) (log (/ 1 u))) |
(+ (log -3/4) (+ (log (/ 1 u)) (/ 1 u))) |
(+ (log -3/4) (+ (log (/ 1 u)) (+ (/ 1/2 (pow u 2)) (/ 1 u)))) |
(+ (log -3/4) (+ (log (/ 1 u)) (+ (/ 1/2 (pow u 2)) (+ (/ 1 u) (* 1/3 (/ 1 (pow u 3))))))) |
(/ -3/4 u) |
(* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) u)) |
(/ (- (* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) u)) 3/4) u) |
(/ (- (* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) (pow u 2))) (+ 3/4 (* 3/4 (/ 1 u)))) u) |
(* -4/3 u) |
(* u (- (* 4/3 (/ 1 u)) 4/3)) |
(* 3 (* s (+ (log 3/4) (log (/ -1 u))))) |
(+ (* 3 (* s (+ (log 3/4) (log (/ -1 u))))) (* 3 (/ s u))) |
(+ (* -1 (/ (+ (* -3 s) (* -3/2 (/ s u))) u)) (* 3 (* s (+ (log 3/4) (log (/ -1 u)))))) |
(+ (* -1 (/ (+ (* -3 s) (* -1 (/ (+ (* 3/2 s) (/ s u)) u))) u)) (* 3 (* s (+ (log 3/4) (log (/ -1 u)))))) |
(+ (log 3/4) (log (/ -1 u))) |
(+ (log 3/4) (+ (log (/ -1 u)) (/ 1 u))) |
(+ (log 3/4) (+ (log (/ -1 u)) (+ (/ 1/2 (pow u 2)) (/ 1 u)))) |
(+ (log 3/4) (+ (log (/ -1 u)) (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u))) u)) 1) u)))) |
(* -1 (/ (+ 3/4 (+ (/ 3/4 (pow u 2)) (* 3/4 (/ 1 u)))) u)) |
(* -1 (/ (+ 3/4 (* -1 (/ (- (* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) u)) 3/4) u))) u)) |
(* -1 (* u (- 4/3 (* 4/3 (/ 1 u))))) |
| Outputs |
|---|
(* 3 (* s (log (/ 1 (- 1 (* 4/3 (- u 1/4))))))) |
(*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
(* 3 s) |
(*.f32 #s(literal 3 binary32) s) |
(* 3 (* s (log 3/4))) |
(log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(+ (* 3 (* s u)) (* 3 (* s (log 3/4)))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3/2 (* s u)) (* 3 s)))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
| Inputs |
|---|
(*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
(*.f32 #s(literal 3 binary32) s) |
(log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
| Outputs |
|---|
(*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
(*.f32 #s(literal 3 binary32) s) |
(log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
Compiled 188 to 30 computations (84% saved)
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 7 | 3 | 10 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 7 | 4 | 11 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 95.9% | (*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| ▶ | 11.7% | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
| ▶ | 11.8% | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
| ▶ | 11.9% | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
Compiled 85 to 76 computations (10.6% saved)
| 1× | egg-herbie |
Found 12 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) | |
| cost-diff | 0 | (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) | |
| cost-diff | 0 | (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) | |
| cost-diff | 0 | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) | |
| cost-diff | 0 | (-.f32 u #s(literal 1/4 binary32)) | |
| cost-diff | 0 | (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) | |
| cost-diff | 0 | (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) | |
| cost-diff | 0 | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) | |
| cost-diff | 0 | (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) | |
| cost-diff | 0 | (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) | |
| cost-diff | 0 | (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) | |
| cost-diff | 0 | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| Inputs |
|---|
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
(log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(literal 1 binary32) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(-.f32 u #s(literal 1/4 binary32)) |
u |
#s(literal 1/4 binary32) |
#s(literal 3/4 binary32) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
#s(literal 1 binary32) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(-.f32 u #s(literal 1/4 binary32)) |
u |
#s(literal 1/4 binary32) |
#s(literal 3/4 binary32) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(literal 1 binary32) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(-.f32 u #s(literal 1/4 binary32)) |
u |
#s(literal 1/4 binary32) |
#s(literal 3/4 binary32) |
| Outputs |
|---|
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
(log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(literal 1 binary32) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(-.f32 u #s(literal 1/4 binary32)) |
u |
#s(literal 1/4 binary32) |
#s(literal 3/4 binary32) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
#s(literal 1 binary32) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(-.f32 u #s(literal 1/4 binary32)) |
u |
#s(literal 1/4 binary32) |
#s(literal 3/4 binary32) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(literal 1 binary32) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(-.f32 u #s(literal 1/4 binary32)) |
u |
#s(literal 1/4 binary32) |
#s(literal 3/4 binary32) |
Found 12 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (-.f32 u #s(literal 1/4 binary32)) | |
| accuracy | 0.15625 | (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) | |
| accuracy | 0.5270378056753189 | (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) | |
| accuracy | 28.262919412614348 | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) | |
| accuracy | 0.0 | (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) | |
| accuracy | 0.0 | (-.f32 u #s(literal 1/4 binary32)) | |
| accuracy | 0.5270378056753189 | (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) | |
| accuracy | 28.21781246763267 | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) | |
| accuracy | 0.15625 | (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) | |
| accuracy | 0.5270378056753189 | (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) | |
| accuracy | 0.948466594154779 | (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) | |
| accuracy | 28.18041618666722 | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| 21.0ms | 256× | 0 | valid |
Compiled 285 to 39 computations (86.3% saved)
ival-div: 3.0ms (25.1% of total)ival-log: 3.0ms (25.1% of total)ival-mult: 3.0ms (25.1% of total)ival-sub: 2.0ms (16.7% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
(log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(-.f32 u #s(literal 1/4 binary32)) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
| Outputs |
|---|
(* 3 (* s (log (/ 1 (- 1 (* 4/3 (- u 1/4))))))) |
(* 3 (* s (log 3/4))) |
(+ (* 3 (* s u)) (* 3 (* s (log 3/4)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3/2 (* s u)) (* 3 s)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3 s) (* u (+ (* 3/2 s) (* s u)))))) |
(log 3/4) |
(+ u (log 3/4)) |
(+ (log 3/4) (* u (+ 1 (* 1/2 u)))) |
(+ (log 3/4) (* u (+ 1 (* u (+ 1/2 (* 1/3 u)))))) |
3/4 |
(+ 3/4 (* 3/4 u)) |
(+ 3/4 (* u (+ 3/4 (* 3/4 u)))) |
(+ 3/4 (* u (+ 3/4 (* u (+ 3/4 (* 3/4 u)))))) |
4/3 |
(+ 4/3 (* -4/3 u)) |
-1/3 |
(- (* 4/3 u) 1/3) |
-1/4 |
(- u 1/4) |
(* 3 (* s (+ (log -3/4) (log (/ 1 u))))) |
(+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (* 3 (/ s u))) |
(+ (* 3/2 (/ s (pow u 2))) (+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (* 3 (/ s u)))) |
(+ (* 3/2 (/ s (pow u 2))) (+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (+ (* 3 (/ s u)) (/ s (pow u 3))))) |
(+ (log -3/4) (log (/ 1 u))) |
(+ (log -3/4) (+ (log (/ 1 u)) (/ 1 u))) |
(+ (log -3/4) (+ (log (/ 1 u)) (+ (/ 1/2 (pow u 2)) (/ 1 u)))) |
(+ (log -3/4) (+ (log (/ 1 u)) (+ (/ 1/2 (pow u 2)) (+ (/ 1 u) (* 1/3 (/ 1 (pow u 3))))))) |
(/ -3/4 u) |
(* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) u)) |
(/ (- (* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) u)) 3/4) u) |
(/ (- (* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) (pow u 2))) (+ 3/4 (* 3/4 (/ 1 u)))) u) |
(* -4/3 u) |
(* u (- (* 4/3 (/ 1 u)) 4/3)) |
(* 4/3 u) |
(* u (- 4/3 (* 1/3 (/ 1 u)))) |
u |
(* u (- 1 (* 1/4 (/ 1 u)))) |
(* 3 (* s (+ (log 3/4) (log (/ -1 u))))) |
(+ (* 3 (* s (+ (log 3/4) (log (/ -1 u))))) (* 3 (/ s u))) |
(+ (* -1 (/ (+ (* -3 s) (* -3/2 (/ s u))) u)) (* 3 (* s (+ (log 3/4) (log (/ -1 u)))))) |
(+ (* -1 (/ (+ (* -3 s) (* -1 (/ (+ (* 3/2 s) (/ s u)) u))) u)) (* 3 (* s (+ (log 3/4) (log (/ -1 u)))))) |
(+ (log 3/4) (log (/ -1 u))) |
(+ (log 3/4) (+ (log (/ -1 u)) (/ 1 u))) |
(+ (log 3/4) (+ (log (/ -1 u)) (+ (/ 1/2 (pow u 2)) (/ 1 u)))) |
(+ (log 3/4) (+ (log (/ -1 u)) (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u))) u)) 1) u)))) |
(* -1 (/ (+ 3/4 (+ (/ 3/4 (pow u 2)) (* 3/4 (/ 1 u)))) u)) |
(* -1 (/ (+ 3/4 (* -1 (/ (- (* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) u)) 3/4) u))) u)) |
(* -1 (* u (- 4/3 (* 4/3 (/ 1 u))))) |
(* -1 (* u (- (* 1/3 (/ 1 u)) 4/3))) |
(* -1 (* u (- (* 1/4 (/ 1 u)) 1))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 9.0ms | s | @ | inf | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ 1 (- 1 (/ (- u 1/4) 3/4))) (- 1 (/ (- u 1/4) 3/4)) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/ (- u 1/4) 3/4) (- u 1/4) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))))) |
| 9.0ms | s | @ | 0 | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ 1 (- 1 (/ (- u 1/4) 3/4))) (- 1 (/ (- u 1/4) 3/4)) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/ (- u 1/4) 3/4) (- u 1/4) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))))) |
| 7.0ms | s | @ | -inf | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ 1 (- 1 (/ (- u 1/4) 3/4))) (- 1 (/ (- u 1/4) 3/4)) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/ (- u 1/4) 3/4) (- u 1/4) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))))) |
| 0.0ms | u | @ | -inf | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ 1 (- 1 (/ (- u 1/4) 3/4))) (- 1 (/ (- u 1/4) 3/4)) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/ (- u 1/4) 3/4) (- u 1/4) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))))) |
| 0.0ms | u | @ | inf | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ 1 (- 1 (/ (- u 1/4) 3/4))) (- 1 (/ (- u 1/4) 3/4)) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/ (- u 1/4) 3/4) (- u 1/4) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* 3 (* s (log (/ 1 (- 1 (* 4/3 (- u 1/4))))))) |
(* 3 (* s (log 3/4))) |
(+ (* 3 (* s u)) (* 3 (* s (log 3/4)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3/2 (* s u)) (* 3 s)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3 s) (* u (+ (* 3/2 s) (* s u)))))) |
(log 3/4) |
(+ u (log 3/4)) |
(+ (log 3/4) (* u (+ 1 (* 1/2 u)))) |
(+ (log 3/4) (* u (+ 1 (* u (+ 1/2 (* 1/3 u)))))) |
3/4 |
(+ 3/4 (* 3/4 u)) |
(+ 3/4 (* u (+ 3/4 (* 3/4 u)))) |
(+ 3/4 (* u (+ 3/4 (* u (+ 3/4 (* 3/4 u)))))) |
4/3 |
(+ 4/3 (* -4/3 u)) |
-1/3 |
(- (* 4/3 u) 1/3) |
-1/4 |
(- u 1/4) |
(* 3 (* s (+ (log -3/4) (log (/ 1 u))))) |
(+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (* 3 (/ s u))) |
(+ (* 3/2 (/ s (pow u 2))) (+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (* 3 (/ s u)))) |
(+ (* 3/2 (/ s (pow u 2))) (+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (+ (* 3 (/ s u)) (/ s (pow u 3))))) |
(+ (log -3/4) (log (/ 1 u))) |
(+ (log -3/4) (+ (log (/ 1 u)) (/ 1 u))) |
(+ (log -3/4) (+ (log (/ 1 u)) (+ (/ 1/2 (pow u 2)) (/ 1 u)))) |
(+ (log -3/4) (+ (log (/ 1 u)) (+ (/ 1/2 (pow u 2)) (+ (/ 1 u) (* 1/3 (/ 1 (pow u 3))))))) |
(/ -3/4 u) |
(* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) u)) |
(/ (- (* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) u)) 3/4) u) |
(/ (- (* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) (pow u 2))) (+ 3/4 (* 3/4 (/ 1 u)))) u) |
(* -4/3 u) |
(* u (- (* 4/3 (/ 1 u)) 4/3)) |
(* 4/3 u) |
(* u (- 4/3 (* 1/3 (/ 1 u)))) |
u |
(* u (- 1 (* 1/4 (/ 1 u)))) |
(* 3 (* s (+ (log 3/4) (log (/ -1 u))))) |
(+ (* 3 (* s (+ (log 3/4) (log (/ -1 u))))) (* 3 (/ s u))) |
(+ (* -1 (/ (+ (* -3 s) (* -3/2 (/ s u))) u)) (* 3 (* s (+ (log 3/4) (log (/ -1 u)))))) |
(+ (* -1 (/ (+ (* -3 s) (* -1 (/ (+ (* 3/2 s) (/ s u)) u))) u)) (* 3 (* s (+ (log 3/4) (log (/ -1 u)))))) |
(+ (log 3/4) (log (/ -1 u))) |
(+ (log 3/4) (+ (log (/ -1 u)) (/ 1 u))) |
(+ (log 3/4) (+ (log (/ -1 u)) (+ (/ 1/2 (pow u 2)) (/ 1 u)))) |
(+ (log 3/4) (+ (log (/ -1 u)) (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u))) u)) 1) u)))) |
(* -1 (/ (+ 3/4 (+ (/ 3/4 (pow u 2)) (* 3/4 (/ 1 u)))) u)) |
(* -1 (/ (+ 3/4 (* -1 (/ (- (* -1 (/ (+ 3/4 (* 3/4 (/ 1 u))) u)) 3/4) u))) u)) |
(* -1 (* u (- 4/3 (* 4/3 (/ 1 u))))) |
(* -1 (* u (- (* 1/3 (/ 1 u)) 4/3))) |
(* -1 (* u (- (* 1/4 (/ 1 u)) 1))) |
| Outputs |
|---|
(* 3 (* s (log (/ 1 (- 1 (* 4/3 (- u 1/4))))))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
(* 3 (* s (log 3/4))) |
(log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(+ (* 3 (* s u)) (* 3 (* s (log 3/4)))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3/2 (* s u)) (* 3 s)))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3 s) (* u (+ (* 3/2 s) (* s u)))))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(log 3/4) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(+ u (log 3/4)) |
(-.f32 u #s(literal 1/4 binary32)) |
(+ (log 3/4) (* u (+ 1 (* 1/2 u)))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
| Inputs |
|---|
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
(log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(-.f32 u #s(literal 1/4 binary32)) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
| Outputs |
|---|
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
(log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(-.f32 u #s(literal 1/4 binary32)) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
Compiled 545 to 32 computations (94.1% saved)
6 alts after pruning (2 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 18 | 2 | 20 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 3 | 3 |
| Done | 0 | 1 | 1 |
| Total | 18 | 6 | 24 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 95.9% | (*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| ✓ | 11.7% | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
| ✓ | 11.8% | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
| ✓ | 11.9% | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| ▶ | 12.0% | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
| ▶ | 12.1% | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
Compiled 145 to 112 computations (22.8% saved)
| 1× | egg-herbie |
Found 7 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (-.f32 u #s(literal 1/4 binary32)) | |
| cost-diff | 0 | (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) | |
| cost-diff | 0 | #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) | |
| cost-diff | 0 | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) | |
| cost-diff | 0 | (-.f32 u #s(literal 1/4 binary32)) | |
| cost-diff | 0 | #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32))) | |
| cost-diff | 0 | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
| Inputs |
|---|
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
#s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32))) |
(-.f32 u #s(literal 1/4 binary32)) |
u |
#s(literal 1/4 binary32) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(-.f32 u #s(literal 1/4 binary32)) |
u |
#s(literal 1/4 binary32) |
#s(literal 3/4 binary32) |
| Outputs |
|---|
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
#s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32))) |
(-.f32 u #s(literal 1/4 binary32)) |
u |
#s(literal 1/4 binary32) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
(-.f32 u #s(literal 1/4 binary32)) |
u |
#s(literal 1/4 binary32) |
#s(literal 3/4 binary32) |
Found 7 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) | |
| accuracy | 0.0 | (-.f32 u #s(literal 1/4 binary32)) | |
| accuracy | 21.057108472897067 | #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) | |
| accuracy | 28.18041618666722 | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) | |
| accuracy | 0.0 | (-.f32 u #s(literal 1/4 binary32)) | |
| accuracy | 22.639281028229462 | #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32))) | |
| accuracy | 28.18041618666722 | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
| 23.0ms | 256× | 0 | valid |
Compiled 172 to 36 computations (79.1% saved)
ival-sub: 6.0ms (38.5% of total)ival-div: 3.0ms (19.3% of total)ival-log: 3.0ms (19.3% of total)ival-mult: 3.0ms (19.3% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
#s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32))) |
(-.f32 u #s(literal 1/4 binary32)) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
| Outputs |
|---|
(* 3 (* s (log (/ 1 (- 1 (* 4/3 (- u 1/4))))))) |
(* 3 (* s (log 3/4))) |
(+ (* 3 (* s u)) (* 3 (* s (log 3/4)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3/2 (* s u)) (* 3 s)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3 s) (* u (+ (* 3/2 s) (* s u)))))) |
(log 3/4) |
(+ u (log 3/4)) |
(+ (log 3/4) (* u (+ 1 (* 1/2 u)))) |
(+ (log 3/4) (* u (+ 1 (* u (+ 1/2 (* 1/3 u)))))) |
-1/4 |
(- u 1/4) |
-1/3 |
(- (* 4/3 u) 1/3) |
(* 3 (* s (+ (log -3/4) (log (/ 1 u))))) |
(+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (* 3 (/ s u))) |
(+ (* 3/2 (/ s (pow u 2))) (+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (* 3 (/ s u)))) |
(+ (* 3/2 (/ s (pow u 2))) (+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (+ (* 3 (/ s u)) (/ s (pow u 3))))) |
(+ (log -3/4) (log (/ 1 u))) |
(+ (log -3/4) (+ (log (/ 1 u)) (/ 1 u))) |
(+ (log -3/4) (+ (log (/ 1 u)) (+ (/ 1/2 (pow u 2)) (/ 1 u)))) |
(+ (log -3/4) (+ (log (/ 1 u)) (+ (/ 1/2 (pow u 2)) (+ (/ 1 u) (* 1/3 (/ 1 (pow u 3))))))) |
u |
(* u (- 1 (* 1/4 (/ 1 u)))) |
(* 4/3 u) |
(* u (- 4/3 (* 1/3 (/ 1 u)))) |
(* 3 (* s (+ (log 3/4) (log (/ -1 u))))) |
(+ (* 3 (* s (+ (log 3/4) (log (/ -1 u))))) (* 3 (/ s u))) |
(+ (* -1 (/ (+ (* -3 s) (* -3/2 (/ s u))) u)) (* 3 (* s (+ (log 3/4) (log (/ -1 u)))))) |
(+ (* -1 (/ (+ (* -3 s) (* -1 (/ (+ (* 3/2 s) (/ s u)) u))) u)) (* 3 (* s (+ (log 3/4) (log (/ -1 u)))))) |
(+ (log 3/4) (log (/ -1 u))) |
(+ (log 3/4) (+ (log (/ -1 u)) (/ 1 u))) |
(+ (log 3/4) (+ (log (/ -1 u)) (+ (/ 1/2 (pow u 2)) (/ 1 u)))) |
(+ (log 3/4) (+ (log (/ -1 u)) (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u))) u)) 1) u)))) |
(* -1 (* u (- (* 1/4 (/ 1 u)) 1))) |
(* -1 (* u (- (* 1/3 (/ 1 u)) 4/3))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 9.0ms | s | @ | 0 | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (- u 1/4) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ (- u 1/4) 3/4)) |
| 9.0ms | s | @ | inf | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (- u 1/4) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ (- u 1/4) 3/4)) |
| 7.0ms | s | @ | -inf | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (- u 1/4) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ (- u 1/4) 3/4)) |
| 0.0ms | u | @ | inf | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (- u 1/4) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ (- u 1/4) 3/4)) |
| 0.0ms | u | @ | -inf | ((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (- u 1/4) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ (- u 1/4) 3/4)) |
| 1× | egg-herbie |
| Inputs |
|---|
(* 3 (* s (log (/ 1 (- 1 (* 4/3 (- u 1/4))))))) |
(* 3 (* s (log 3/4))) |
(+ (* 3 (* s u)) (* 3 (* s (log 3/4)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3/2 (* s u)) (* 3 s)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3 s) (* u (+ (* 3/2 s) (* s u)))))) |
(log 3/4) |
(+ u (log 3/4)) |
(+ (log 3/4) (* u (+ 1 (* 1/2 u)))) |
(+ (log 3/4) (* u (+ 1 (* u (+ 1/2 (* 1/3 u)))))) |
-1/4 |
(- u 1/4) |
-1/3 |
(- (* 4/3 u) 1/3) |
(* 3 (* s (+ (log -3/4) (log (/ 1 u))))) |
(+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (* 3 (/ s u))) |
(+ (* 3/2 (/ s (pow u 2))) (+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (* 3 (/ s u)))) |
(+ (* 3/2 (/ s (pow u 2))) (+ (* 3 (* s (+ (log -3/4) (log (/ 1 u))))) (+ (* 3 (/ s u)) (/ s (pow u 3))))) |
(+ (log -3/4) (log (/ 1 u))) |
(+ (log -3/4) (+ (log (/ 1 u)) (/ 1 u))) |
(+ (log -3/4) (+ (log (/ 1 u)) (+ (/ 1/2 (pow u 2)) (/ 1 u)))) |
(+ (log -3/4) (+ (log (/ 1 u)) (+ (/ 1/2 (pow u 2)) (+ (/ 1 u) (* 1/3 (/ 1 (pow u 3))))))) |
u |
(* u (- 1 (* 1/4 (/ 1 u)))) |
(* 4/3 u) |
(* u (- 4/3 (* 1/3 (/ 1 u)))) |
(* 3 (* s (+ (log 3/4) (log (/ -1 u))))) |
(+ (* 3 (* s (+ (log 3/4) (log (/ -1 u))))) (* 3 (/ s u))) |
(+ (* -1 (/ (+ (* -3 s) (* -3/2 (/ s u))) u)) (* 3 (* s (+ (log 3/4) (log (/ -1 u)))))) |
(+ (* -1 (/ (+ (* -3 s) (* -1 (/ (+ (* 3/2 s) (/ s u)) u))) u)) (* 3 (* s (+ (log 3/4) (log (/ -1 u)))))) |
(+ (log 3/4) (log (/ -1 u))) |
(+ (log 3/4) (+ (log (/ -1 u)) (/ 1 u))) |
(+ (log 3/4) (+ (log (/ -1 u)) (+ (/ 1/2 (pow u 2)) (/ 1 u)))) |
(+ (log 3/4) (+ (log (/ -1 u)) (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u))) u)) 1) u)))) |
(* -1 (* u (- (* 1/4 (/ 1 u)) 1))) |
(* -1 (* u (- (* 1/3 (/ 1 u)) 4/3))) |
| Outputs |
|---|
(* 3 (* s (log (/ 1 (- 1 (* 4/3 (- u 1/4))))))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
(* 3 (* s (log 3/4))) |
#s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32))) |
(+ (* 3 (* s u)) (* 3 (* s (log 3/4)))) |
(-.f32 u #s(literal 1/4 binary32)) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3/2 (* s u)) (* 3 s)))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
(+ (* 3 (* s (log 3/4))) (* u (+ (* 3 s) (* u (+ (* 3/2 s) (* s u)))))) |
#s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
(log 3/4) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
| Inputs |
|---|
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
#s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32))) |
(-.f32 u #s(literal 1/4 binary32)) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
| Outputs |
|---|
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
#s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32))) |
(-.f32 u #s(literal 1/4 binary32)) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
(/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
Compiled 319 to 24 computations (92.5% saved)
6 alts after pruning (0 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 10 | 0 | 10 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 4 | 4 |
| Total | 10 | 6 | 16 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 95.9% | (*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| ✓ | 11.7% | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
| ✓ | 11.8% | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
| ✓ | 11.9% | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| ✓ | 12.0% | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
| ✓ | 12.1% | #s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
Compiled 290 to 143 computations (50.7% saved)
| Inputs |
|---|
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
(*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| Outputs |
|---|
(*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
9 calls:
| 3.0ms | (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
| 2.0ms | (*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| 2.0ms | (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
| 2.0ms | (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
| 2.0ms | (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 95.9% | 1 | s |
| 95.9% | 1 | u |
| 95.9% | 1 | (*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| 95.9% | 1 | (*.f32 #s(literal 3 binary32) s) |
| 95.9% | 1 | (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
| 95.9% | 1 | (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
| 95.9% | 1 | (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
| 95.9% | 1 | (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
| 95.9% | 1 | (-.f32 u #s(literal 1/4 binary32)) |
Compiled 53 to 58 computations (-9.4% saved)
Total -0.2b remaining (-0.9%)
Threshold costs -0.2b (-0.9%)
| Inputs |
|---|
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| Outputs |
|---|
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
9 calls:
| 2.0ms | (*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| 2.0ms | (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
| 2.0ms | (-.f32 u #s(literal 1/4 binary32)) |
| 2.0ms | (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
| 2.0ms | (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 12.1% | 1 | (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))) |
| 12.1% | 1 | s |
| 12.1% | 1 | (*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
| 12.1% | 1 | (*.f32 #s(literal 3 binary32) s) |
| 12.1% | 1 | u |
| 12.1% | 1 | (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32))))) |
| 12.1% | 1 | (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))) |
| 12.1% | 1 | (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)) |
| 12.1% | 1 | (-.f32 u #s(literal 1/4 binary32)) |
Compiled 53 to 58 computations (-9.4% saved)
| 1× | egg-herbie |
| Inputs |
|---|
(*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
| Outputs |
|---|
(*.f32 (*.f32 #s(literal 3 binary32) s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (-.f32 u #s(literal 1/4 binary32)) #s(literal 3/4 binary32)))))) |
#s(approx (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) #s(approx (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (-.f32 u #s(literal 1/4 binary32)))) |
| 1× | done |
Compiled 43 to 26 computations (39.5% saved)
Compiled 114 to 78 computations (31.6% saved)
Loading profile data...