
Time bar (total: 6.4s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 24.7% | 75.3% | 0% | 0% | 0% | 0 |
| 0% | 0% | 24.7% | 75.3% | 0% | 0% | 0% | 1 |
| 0% | 0% | 24.7% | 75.3% | 0% | 0% | 0% | 2 |
| 0% | 0% | 24.7% | 75.3% | 0% | 0% | 0% | 3 |
| 0% | 0% | 24.7% | 75.3% | 0% | 0% | 0% | 4 |
| 50% | 12.4% | 12.4% | 75.3% | 0% | 0% | 0% | 5 |
| 50% | 12.4% | 12.4% | 75.3% | 0% | 0% | 0% | 6 |
| 75% | 18.5% | 6.2% | 75.3% | 0% | 0% | 0% | 7 |
| 75% | 18.5% | 6.2% | 75.3% | 0% | 0% | 0% | 8 |
| 87.5% | 21.6% | 3.1% | 75.3% | 0% | 0% | 0% | 9 |
| 87.5% | 21.6% | 3.1% | 75.3% | 0% | 0% | 0% | 10 |
| 93.7% | 23.2% | 1.5% | 75.3% | 0% | 0% | 0% | 11 |
| 93.7% | 23.2% | 1.5% | 75.3% | 0% | 0% | 0% | 12 |
Compiled 17 to 14 computations (17.6% saved)
| 1.1s | 8 256× | 0 | valid |
ival-exp: 462.0ms (51% of total)ival-div: 162.0ms (17.9% of total)const: 116.0ms (12.8% of total)ival-<=: 49.0ms (5.4% of total)ival-add: 46.0ms (5.1% of total)ival-neg: 43.0ms (4.7% of total)ival-and: 12.0ms (1.3% of total)exact: 11.0ms (1.2% of total)ival-assert: 3.0ms (0.3% of total)adjust: 2.0ms (0.2% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 1 | 0 | - | 0 | - | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 1 | 1 | (5.742688161252933e-31 5.056455806303273e-33) | 1 | (3.822336532738304e-22 5.802816248164618e-24) | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 0 | 0 | - | 0 | - | s |
| 0 | 0 | - | 0 | - | #s(literal 1 binary32) |
| 0 | 0 | - | 0 | - | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 0 | 0 | - | 0 | - | (neg.f32 x) |
| 0 | 0 | - | 0 | - | (/.f32 (neg.f32 x) s) |
| 0 | 0 | - | 0 | - | x |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
/.f32 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) | n/o | 1 | 0 |
| ↳ | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) | overflow | 88 | |
| ↳ | (/.f32 (neg.f32 x) s) | overflow | 63 | |
| ↳ | (exp.f32 (/.f32 (neg.f32 x) s)) | overflow | 88 | |
exp.f32 | (exp.f32 (/.f32 (neg.f32 x) s)) | sensitivity | 1 | 4 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 1 | 0 |
| - | 1 | 254 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 1 | 3 | 251 |
| number | freq |
|---|---|
| 0 | 254 |
| 1 | 2 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 30.0ms | 512× | 0 | valid |
Compiled 73 to 28 computations (61.6% saved)
ival-div: 7.0ms (39.6% of total)ival-exp: 4.0ms (22.7% of total)ival-add: 3.0ms (17% of total)ival-neg: 3.0ms (17% of total)ival-true: 0.0ms (0% of total)adjust: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 41 |
| 1 | 50 | 41 |
| 2 | 104 | 41 |
| 3 | 247 | 41 |
| 4 | 883 | 41 |
| 0 | 8 | 9 |
| 0 | 13 | 9 |
| 1 | 21 | 9 |
| 2 | 43 | 9 |
| 3 | 118 | 9 |
| 4 | 427 | 9 |
| 5 | 4713 | 9 |
| 0 | 8515 | 9 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| Outputs |
|---|
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32))) |
Compiled 9 to 8 computations (11.1% saved)
Compiled 0 to 2 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 99.7% | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
Compiled 9 to 8 computations (11.1% saved)
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (/.f32 (neg.f32 x) s) | |
| cost-diff | 0 | (exp.f32 (/.f32 (neg.f32 x) s)) | |
| cost-diff | 0 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) | |
| cost-diff | 0 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 30 |
| 0 | 13 | 30 |
| 1 | 21 | 30 |
| 2 | 43 | 30 |
| 3 | 118 | 30 |
| 4 | 427 | 30 |
| 5 | 4713 | 30 |
| 0 | 8515 | 30 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
#s(literal 1 binary32) |
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(/.f32 (neg.f32 x) s) |
(neg.f32 x) |
x |
s |
| Outputs |
|---|
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32))) |
#s(literal 1 binary32) |
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
(-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(/.f32 (neg.f32 x) s) |
(neg.f32 x) |
x |
s |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (neg.f32 x) | |
| accuracy | 0.0234375 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) | |
| accuracy | 0.056015039073768064 | (exp.f32 (/.f32 (neg.f32 x) s)) | |
| accuracy | 0.06081974847004277 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 18.0ms | 256× | 0 | valid |
Compiled 32 to 10 computations (68.8% saved)
ival-div: 7.0ms (58.9% of total)ival-exp: 2.0ms (16.8% of total)ival-add: 1.0ms (8.4% of total)ival-neg: 1.0ms (8.4% of total)ival-true: 0.0ms (0% of total)adjust: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(/.f32 (neg.f32 x) s) |
(neg.f32 x) |
| Outputs |
|---|
1/2 |
(+ 1/2 (* 1/4 (/ x s))) |
(+ 1/2 (* x (+ (* -1/48 (/ (pow x 2) (pow s 3))) (* 1/4 (/ 1 s))))) |
(+ 1/2 (* x (+ (* (pow x 2) (- (* 1/480 (/ (pow x 2) (pow s 5))) (* 1/48 (/ 1 (pow s 3))))) (* 1/4 (/ 1 s))))) |
2 |
(+ 2 (* -1 (/ x s))) |
(+ 2 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 2 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
1 |
(+ 1 (* -1 (/ x s))) |
(+ 1 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 1 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(* -1 (/ x s)) |
(* -1 x) |
(/ 1 (+ 1 (exp (* -1 (/ x s))))) |
(+ 1 (exp (* -1 (/ x s)))) |
(exp (* -1 (/ x s))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/24 (pow x 3)) (+ (* 1/16 (pow x 3)) (* 1/2 (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/8 (/ (pow x 2) (pow s 2))) (* 1/8 (/ (pow x 2) (pow s 2)))))) |
(+ 2 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 2 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(+ 1 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 1 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(+ 1/2 (* -1 (/ (- (+ (* -1/8 (/ (pow x 2) s)) (* 1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (+ (* -1/16 (/ (pow x 3) s)) (* 1/24 (/ (pow x 3) s)))) (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(+ 2 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 2 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(+ 1 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 1 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | x | @ | 0 | ((/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (exp (/ (neg x) s)) (/ (neg x) s) (neg x)) |
| 2.0ms | s | @ | 0 | ((/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (exp (/ (neg x) s)) (/ (neg x) s) (neg x)) |
| 2.0ms | x | @ | inf | ((/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (exp (/ (neg x) s)) (/ (neg x) s) (neg x)) |
| 1.0ms | s | @ | inf | ((/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (exp (/ (neg x) s)) (/ (neg x) s) (neg x)) |
| 1.0ms | x | @ | -inf | ((/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (exp (/ (neg x) s)) (/ (neg x) s) (neg x)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 140 | 377 |
| 1 | 435 | 345 |
| 2 | 1799 | 341 |
| 0 | 9323 | 313 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
1/2 |
(+ 1/2 (* 1/4 (/ x s))) |
(+ 1/2 (* x (+ (* -1/48 (/ (pow x 2) (pow s 3))) (* 1/4 (/ 1 s))))) |
(+ 1/2 (* x (+ (* (pow x 2) (- (* 1/480 (/ (pow x 2) (pow s 5))) (* 1/48 (/ 1 (pow s 3))))) (* 1/4 (/ 1 s))))) |
2 |
(+ 2 (* -1 (/ x s))) |
(+ 2 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 2 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
1 |
(+ 1 (* -1 (/ x s))) |
(+ 1 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 1 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(* -1 (/ x s)) |
(* -1 x) |
(/ 1 (+ 1 (exp (* -1 (/ x s))))) |
(+ 1 (exp (* -1 (/ x s)))) |
(exp (* -1 (/ x s))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/24 (pow x 3)) (+ (* 1/16 (pow x 3)) (* 1/2 (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/8 (/ (pow x 2) (pow s 2))) (* 1/8 (/ (pow x 2) (pow s 2)))))) |
(+ 2 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 2 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(+ 1 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 1 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(+ 1/2 (* -1 (/ (- (+ (* -1/8 (/ (pow x 2) s)) (* 1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (+ (* -1/16 (/ (pow x 3) s)) (* 1/24 (/ (pow x 3) s)))) (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(+ 2 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 2 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(+ 1 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 1 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
| Outputs |
|---|
1/2 |
#s(literal 1/2 binary32) |
(+ 1/2 (* 1/4 (/ x s))) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) |
(+ 1/2 (* x (+ (* -1/48 (/ (pow x 2) (pow s 3))) (* 1/4 (/ 1 s))))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
(+ 1/2 (* x (+ (* (pow x 2) (- (* 1/480 (/ (pow x 2) (pow s 5))) (* 1/48 (/ 1 (pow s 3))))) (* 1/4 (/ 1 s))))) |
(fma.f32 (pow.f32 x #s(literal 3 binary32)) (fma.f32 (*.f32 x (/.f32 x (pow.f32 s #s(literal 5 binary32)))) #s(literal 1/480 binary32) (/.f32 #s(literal -1/48 binary32) (pow.f32 s #s(literal 3 binary32)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
2 |
#s(literal 2 binary32) |
(+ 2 (* -1 (/ x s))) |
(-.f32 #s(literal 2 binary32) (/.f32 x s)) |
(+ 2 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(+ 2 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
1 |
#s(literal 1 binary32) |
(+ 1 (* -1 (/ x s))) |
(-.f32 #s(literal 1 binary32) (/.f32 x s)) |
(+ 1 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 1 binary32)) |
(+ 1 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 1 binary32)) |
(* -1 (/ x s)) |
(/.f32 (neg.f32 x) s) |
(* -1 x) |
(neg.f32 x) |
(/ 1 (+ 1 (exp (* -1 (/ x s))))) |
(/.f32 #s(literal 1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32))) |
(+ 1 (exp (* -1 (/ x s)))) |
(-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) |
(exp (* -1 (/ x s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(- (+ 1/2 (* -1 (/ (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) |
(- (+ 1/2 (* -1 (/ (+ (* -1/24 (pow x 3)) (+ (* 1/16 (pow x 3)) (* 1/2 (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/8 (/ (pow x 2) (pow s 2))) (* 1/8 (/ (pow x 2) (pow s 2)))))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
(+ 2 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s)) |
(+ 2 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/6 binary32) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s))) |
(+ 1 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(-.f32 #s(literal 1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s)) |
(+ 1 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/6 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s))) |
(+ 1/2 (* -1 (/ (- (+ (* -1/8 (/ (pow x 2) s)) (* 1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (+ (* -1/16 (/ (pow x 3) s)) (* 1/24 (/ (pow x 3) s)))) (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
(+ 2 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s)) |
(+ 2 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/6 binary32) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s))) |
(+ 1 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(-.f32 #s(literal 1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s)) |
(+ 1 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/6 binary32) (-.f32 #s(literal 1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 27 |
| 0 | 13 | 27 |
| 1 | 43 | 27 |
| 0 | 254 | 27 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | unsound |
| 1× | iter limit |
| Inputs |
|---|
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(/.f32 (neg.f32 x) s) |
(neg.f32 x) |
| Outputs |
|---|
(*.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(*.f32 (/.f32 #s(literal 1 binary32) (+.f32 (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 3 binary32))) #s(literal 1 binary32))) (fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(*.f32 (pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal -1/2 binary32)) (pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal -1/2 binary32))) |
(*.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)))) |
(/.f32 #s(literal -1 binary32) (+.f32 (neg.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) |
(/.f32 #s(literal 1 binary32) (neg.f32 (+.f32 (neg.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)))) |
(/.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal 1 binary32))) |
(/.f32 #s(literal 1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32))) |
(pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal -1 binary32)) |
(exp.f32 (*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) |
(neg.f32 (/.f32 #s(literal -1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)))) |
(neg.f32 (/.f32 #s(literal 1 binary32) (+.f32 (neg.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)))) |
(/.f32 (expm1.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))) (expm1.f32 (/.f32 (neg.f32 x) s))) |
(/.f32 (neg.f32 (-.f32 #s(literal 1 binary32) (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))))) (neg.f32 (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))) |
(/.f32 (neg.f32 (+.f32 (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 3 binary32))) #s(literal 1 binary32))) (neg.f32 (fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)))) |
(/.f32 (-.f32 #s(literal 1 binary32) (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32)))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(/.f32 (+.f32 (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 3 binary32))) #s(literal 1 binary32)) (+.f32 (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))) |
(/.f32 (+.f32 (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 3 binary32))) #s(literal 1 binary32)) (fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(-.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) (/.f32 (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))) |
(-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) |
(fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32) #s(literal 1 binary32)) |
(fma.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)) |
(+.f32 (+.f32 #s(literal 1 binary32) (cosh.f32 (/.f32 x s))) (sinh.f32 (/.f32 (neg.f32 x) s))) |
(+.f32 (/.f32 #s(literal 1 binary32) (fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) (/.f32 (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 3 binary32))) (fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)))) |
(+.f32 (cosh.f32 (/.f32 x s)) (+.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(+.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)) |
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
(*.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)) |
(*.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
(/.f32 (-.f32 (*.f32 (cosh.f32 (/.f32 x s)) (cosh.f32 (/.f32 x s))) (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) (sinh.f32 (/.f32 (neg.f32 x) s)))) (-.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 (neg.f32 x) s)))) |
(/.f32 (+.f32 (pow.f32 (cosh.f32 (/.f32 x s)) #s(literal 3 binary32)) (pow.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 3 binary32))) (fma.f32 (cosh.f32 (/.f32 x s)) (cosh.f32 (/.f32 x s)) (-.f32 (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) (sinh.f32 (/.f32 (neg.f32 x) s))) (*.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 (neg.f32 x) s)))))) |
(/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))) |
(-.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 x s))) |
(fma.f32 (cosh.f32 (/.f32 x s)) #s(literal 1 binary32) (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(fma.f32 #s(literal 1 binary32) (cosh.f32 (/.f32 x s)) (*.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 (neg.f32 x) s)))) |
(+.f32 (*.f32 (cosh.f32 (/.f32 x s)) #s(literal 1 binary32)) (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(+.f32 (*.f32 #s(literal 1 binary32) (cosh.f32 (/.f32 x s))) (*.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 (neg.f32 x) s)))) |
(+.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) (cosh.f32 (/.f32 x s))) |
(+.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (+.f32 #s(literal 0 binary32) (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(/.f32 (neg.f32 x) (neg.f32 (neg.f32 s))) |
(/.f32 (neg.f32 x) s) |
(/.f32 x (neg.f32 s)) |
(neg.f32 (/.f32 x s)) |
(neg.f32 x) |
Compiled 1 143 to 253 computations (77.9% saved)
12 alts after pruning (11 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 56 | 11 | 67 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 56 | 12 | 68 |
| Status | Accuracy | Program |
|---|---|---|
| 65.1% | (/.f32 #s(literal 1 binary32) (/.f32 (expm1.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))) (expm1.f32 (/.f32 (neg.f32 x) s)))) | |
| 99.7% | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))))) | |
| ✓ | 99.7% | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 54.3% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) | |
| ▶ | 53.9% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
| 51.6% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s)))) | |
| ▶ | 39.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
| 43.7% | (*.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) | |
| ▶ | 99.8% | (exp.f32 (*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) |
| ▶ | 27.9% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)))) |
| 31.0% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) | |
| ▶ | 37.1% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
Compiled 397 to 310 computations (21.9% saved)
Found 17 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (/.f32 x s) | |
| cost-diff | 0 | (pow.f32 (/.f32 x s) #s(literal 3 binary32)) | |
| cost-diff | 0 | (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) | |
| cost-diff | 0 | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)))) | |
| cost-diff | 0 | (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) | |
| cost-diff | 0 | (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) | |
| cost-diff | 0 | #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) | |
| cost-diff | 0 | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) | |
| cost-diff | 0 | (/.f32 x s) | |
| cost-diff | 0 | (-.f32 #s(literal 2 binary32) (/.f32 x s)) | |
| cost-diff | 0 | #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))) | |
| cost-diff | 0 | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) | |
| cost-diff | 0 | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) | |
| cost-diff | 0 | (exp.f32 (/.f32 (neg.f32 x) s)) | |
| cost-diff | 0 | (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) | |
| cost-diff | 0 | (exp.f32 (*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) | |
| cost-diff | 1 | (*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)) |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 239 |
| 0 | 60 | 239 |
| 1 | 100 | 235 |
| 2 | 238 | 235 |
| 3 | 721 | 235 |
| 4 | 3047 | 235 |
| 0 | 8353 | 235 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(exp.f32 (*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) |
(*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)) |
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(/.f32 (neg.f32 x) s) |
(neg.f32 x) |
x |
s |
#s(literal -1 binary32) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(literal 1/2 binary32) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))) |
(-.f32 #s(literal 2 binary32) (/.f32 x s)) |
#s(literal 2 binary32) |
(/.f32 x s) |
x |
s |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) |
(*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) |
(/.f32 #s(literal 1/2 binary32) (*.f32 s s)) |
#s(literal 1/2 binary32) |
(*.f32 s s) |
s |
x |
(/.f32 #s(literal 1 binary32) s) |
#s(literal 2 binary32) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
(pow.f32 (/.f32 x s) #s(literal 3 binary32)) |
(/.f32 x s) |
x |
s |
#s(literal 3 binary32) |
#s(literal -1/48 binary32) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) |
#s(literal 1/4 binary32) |
#s(literal 1/2 binary32) |
| Outputs |
|---|
(exp.f32 (*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) |
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)) |
(neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) |
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(/.f32 (neg.f32 x) s) |
(neg.f32 x) |
x |
s |
#s(literal -1 binary32) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(literal 1/2 binary32) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))) |
(-.f32 #s(literal 2 binary32) (/.f32 x s)) |
#s(literal 2 binary32) |
(/.f32 x s) |
x |
s |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) |
(*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) |
(/.f32 #s(literal 1/2 binary32) (*.f32 s s)) |
#s(literal 1/2 binary32) |
(*.f32 s s) |
s |
x |
(/.f32 #s(literal 1 binary32) s) |
#s(literal 2 binary32) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
(fma.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(pow.f32 (/.f32 x s) #s(literal 3 binary32)) |
(/.f32 x s) |
x |
s |
#s(literal 3 binary32) |
#s(literal -1/48 binary32) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) |
(fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
#s(literal 1/4 binary32) |
#s(literal 1/2 binary32) |
Found 17 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.16900258791597816 | (pow.f32 (/.f32 x s) #s(literal 3 binary32)) | |
| accuracy | 0.1951367448317225 | (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) | |
| accuracy | 4.679075721074003 | (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) | |
| accuracy | 14.313315431483954 | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)))) | |
| accuracy | 0.1171875 | (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) | |
| accuracy | 1.39090037434391 | (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) | |
| accuracy | 4.195630860803931 | (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) | |
| accuracy | 13.636092003738074 | #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) | |
| accuracy | 0.0 | (/.f32 x s) | |
| accuracy | 0.03641378162065376 | (-.f32 #s(literal 2 binary32) (/.f32 x s)) | |
| accuracy | 0.06081974847004277 | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) | |
| accuracy | 14.59121224574817 | #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))) | |
| accuracy | 11.82664690277614 | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) | |
| accuracy | 0.0 | (neg.f32 x) | |
| accuracy | 0.015625 | (exp.f32 (*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) | |
| accuracy | 0.056015039073768064 | (exp.f32 (/.f32 (neg.f32 x) s)) | |
| accuracy | 1.986755962978342 | (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
| 129.0ms | 185× | 0 | valid |
| 95.0ms | 71× | 5 | exit |
Compiled 193 to 33 computations (82.9% saved)
ival-mult: 79.0ms (40.6% of total)ival-div: 34.0ms (17.5% of total)adjust: 31.0ms (15.9% of total)ival-log1p: 17.0ms (8.7% of total)ival-exp: 12.0ms (6.2% of total)ival-pow: 6.0ms (3.1% of total)ival-add: 6.0ms (3.1% of total)const: 5.0ms (2.6% of total)ival-sub: 3.0ms (1.5% of total)exact: 1.0ms (0.5% of total)ival-neg: 1.0ms (0.5% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)| Inputs |
|---|
(*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)) |
(exp.f32 (*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) |
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))) |
(-.f32 #s(literal 2 binary32) (/.f32 x s)) |
(/.f32 x s) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
(pow.f32 (/.f32 x s) #s(literal 3 binary32)) |
(neg.f32 x) |
(*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) |
(/.f32 #s(literal 1/2 binary32) (*.f32 s s)) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) |
| Outputs |
|---|
(* -1 (log 2)) |
(+ (* -1 (log 2)) (* 1/2 (/ x s))) |
(+ (* -1 (log 2)) (* x (+ (* -1/8 (/ x (pow s 2))) (* 1/2 (/ 1 s))))) |
(+ (* -1 (log 2)) (* x (+ (* x (- (* 1/192 (/ (pow x 2) (pow s 4))) (* 1/8 (/ 1 (pow s 2))))) (* 1/2 (/ 1 s))))) |
1/2 |
(+ 1/2 (* 1/4 (/ x s))) |
(+ 1/2 (* x (+ (* -1/48 (/ (pow x 2) (pow s 3))) (* 1/4 (/ 1 s))))) |
(+ 1/2 (* x (+ (* (pow x 2) (- (* 1/480 (/ (pow x 2) (pow s 5))) (* 1/48 (/ 1 (pow s 3))))) (* 1/4 (/ 1 s))))) |
(log 2) |
(+ (log 2) (* -1/2 (/ x s))) |
(+ (log 2) (* x (- (* 1/8 (/ x (pow s 2))) (* 1/2 (/ 1 s))))) |
(+ (log 2) (* x (- (* x (+ (* -1/192 (/ (pow x 2) (pow s 4))) (* 1/8 (/ 1 (pow s 2))))) (* 1/2 (/ 1 s))))) |
1 |
(+ 1 (* -1 (/ x s))) |
(+ 1 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 1 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
2 |
(+ 2 (* -1 (/ x s))) |
(+ 2 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 2 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(/ x s) |
(/ -1 s) |
(- (* 1/2 (/ x (pow s 2))) (/ 1 s)) |
(/ (pow x 3) (pow s 3)) |
(* -1 x) |
(* 1/2 (/ x (pow s 2))) |
(* -1 (log (+ 1 (exp (* -1 (/ x s)))))) |
(/ 1 (+ 1 (exp (* -1 (/ x s))))) |
(log (+ 1 (exp (* -1 (/ x s))))) |
(exp (* -1 (/ x s))) |
(+ 1 (exp (* -1 (/ x s)))) |
(* -1 (/ x s)) |
(* x (- (* 2 (/ 1 x)) (/ 1 s))) |
(* 1/2 (/ (pow x 2) (pow s 2))) |
(* (pow x 2) (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(* (pow x 2) (- (+ (* 1/2 (/ 1 (pow s 2))) (/ 2 (pow x 2))) (/ 1 (* s x)))) |
(* x (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(* -1/48 (/ (pow x 3) (pow s 3))) |
(* (pow x 3) (- (* 1/4 (/ 1 (* s (pow x 2)))) (* 1/48 (/ 1 (pow s 3))))) |
(* (pow x 3) (- (+ (/ 1/4 (* s (pow x 2))) (/ 1/2 (pow x 3))) (* 1/48 (/ 1 (pow s 3))))) |
(* 1/4 (/ x s)) |
(* x (+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x)))) |
(* -1 (* x (- (/ 1 s) (* 2 (/ 1 x))))) |
(* (pow x 2) (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2))))) |
(* -1 (* x (- (/ 1 (* s x)) (* 1/2 (/ 1 (pow s 2)))))) |
(* -1 (* (pow x 3) (- (* 1/48 (/ 1 (pow s 3))) (* 1/4 (/ 1 (* s (pow x 2))))))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x))) (pow x 2))) (* 1/48 (/ 1 (pow s 3)))))) |
(/ (- (* 2 s) x) s) |
(/ (+ (* -1 (* s x)) (* 1/2 (pow x 2))) (pow s 2)) |
(/ (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))) (pow s 2)) |
(/ (+ (* -1 s) (* 1/2 x)) (pow s 2)) |
(/ (+ (* -1/48 (pow x 3)) (* 1/4 (* (pow s 2) x))) (pow s 3)) |
(/ (+ (* -1/48 (pow x 3)) (* (pow s 2) (+ (* 1/4 x) (* 1/2 s)))) (pow s 3)) |
(/ 1/2 (pow s 2)) |
(/ (+ (* 1/4 x) (* 1/2 s)) s) |
(+ (* -1 (log 2)) (+ (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))) (* 1/2 (/ x s)))) |
(+ (* -1 (log 2)) (+ (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))) (+ (* -1/6 (/ (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3)))) (pow s 3))) (* 1/2 (/ x s))))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/24 (pow x 3)) (+ (* 1/16 (pow x 3)) (* 1/2 (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/8 (/ (pow x 2) (pow s 2))) (* 1/8 (/ (pow x 2) (pow s 2)))))) |
(+ (log 2) (+ (* -1/2 (/ x s)) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))))) |
(+ (log 2) (+ (* -1/2 (/ x s)) (+ (* 1/6 (/ (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3)))) (pow s 3))) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))))) |
(+ 1 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 1 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(+ 2 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 2 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(/ (- (* 1/2 (/ x s)) 1) s) |
(+ 1/2 (+ (* -1/48 (/ (pow x 3) (pow s 3))) (* 1/4 (/ x s)))) |
(+ (* -1 (log 2)) (* -1 (/ (+ (* -1/2 x) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) s))) s))) |
(+ (* -1 (log 2)) (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/6 (/ (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3)))) s))) s)) (* -1/2 x)) s))) |
(+ 1/2 (* -1 (/ (- (+ (* -1/8 (/ (pow x 2) s)) (* 1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (+ (* -1/16 (/ (pow x 3) s)) (* 1/24 (/ (pow x 3) s)))) (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(+ (log 2) (* -1 (/ (+ (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) s)) (* 1/2 x)) s))) |
(+ (log 2) (* -1 (/ (+ (* -1 (/ (+ (* -1/6 (/ (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3)))) s)) (* 1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))))) s)) (* 1/2 x)) s))) |
(+ 1 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 1 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(+ 2 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 2 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(* -1 (/ (+ 1 (* -1/2 (/ x s))) s)) |
(+ 1/2 (* -1 (/ (+ (* -1/4 x) (* 1/48 (/ (pow x 3) (pow s 2)))) s))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 36.0ms | x | @ | inf | ((* (log (+ 1 (exp (/ (neg x) s)))) -1) (exp (* (log (+ 1 (exp (/ (neg x) s)))) -1)) (log (+ 1 (exp (/ (neg x) s)))) (exp (/ (neg x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (- 2 (/ x s)) (/ x s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (pow (/ x s) 3) -1/48) (+ (* (/ x s) 1/4) 1/2)) (pow (/ x s) 3) (neg x) (* (/ 1/2 (* s s)) x) (/ 1/2 (* s s)) (+ (* (/ x s) 1/4) 1/2)) |
| 32.0ms | x | @ | -inf | ((* (log (+ 1 (exp (/ (neg x) s)))) -1) (exp (* (log (+ 1 (exp (/ (neg x) s)))) -1)) (log (+ 1 (exp (/ (neg x) s)))) (exp (/ (neg x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (- 2 (/ x s)) (/ x s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (pow (/ x s) 3) -1/48) (+ (* (/ x s) 1/4) 1/2)) (pow (/ x s) 3) (neg x) (* (/ 1/2 (* s s)) x) (/ 1/2 (* s s)) (+ (* (/ x s) 1/4) 1/2)) |
| 23.0ms | s | @ | 0 | ((* (log (+ 1 (exp (/ (neg x) s)))) -1) (exp (* (log (+ 1 (exp (/ (neg x) s)))) -1)) (log (+ 1 (exp (/ (neg x) s)))) (exp (/ (neg x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (- 2 (/ x s)) (/ x s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (pow (/ x s) 3) -1/48) (+ (* (/ x s) 1/4) 1/2)) (pow (/ x s) 3) (neg x) (* (/ 1/2 (* s s)) x) (/ 1/2 (* s s)) (+ (* (/ x s) 1/4) 1/2)) |
| 5.0ms | x | @ | 0 | ((* (log (+ 1 (exp (/ (neg x) s)))) -1) (exp (* (log (+ 1 (exp (/ (neg x) s)))) -1)) (log (+ 1 (exp (/ (neg x) s)))) (exp (/ (neg x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (- 2 (/ x s)) (/ x s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (pow (/ x s) 3) -1/48) (+ (* (/ x s) 1/4) 1/2)) (pow (/ x s) 3) (neg x) (* (/ 1/2 (* s s)) x) (/ 1/2 (* s s)) (+ (* (/ x s) 1/4) 1/2)) |
| 3.0ms | s | @ | -inf | ((* (log (+ 1 (exp (/ (neg x) s)))) -1) (exp (* (log (+ 1 (exp (/ (neg x) s)))) -1)) (log (+ 1 (exp (/ (neg x) s)))) (exp (/ (neg x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (- 2 (/ x s)) (/ x s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (pow (/ x s) 3) -1/48) (+ (* (/ x s) 1/4) 1/2)) (pow (/ x s) 3) (neg x) (* (/ 1/2 (* s s)) x) (/ 1/2 (* s s)) (+ (* (/ x s) 1/4) 1/2)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 323 | 1167 |
| 1 | 1057 | 1024 |
| 2 | 4794 | 998 |
| 0 | 8676 | 940 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* -1 (log 2)) |
(+ (* -1 (log 2)) (* 1/2 (/ x s))) |
(+ (* -1 (log 2)) (* x (+ (* -1/8 (/ x (pow s 2))) (* 1/2 (/ 1 s))))) |
(+ (* -1 (log 2)) (* x (+ (* x (- (* 1/192 (/ (pow x 2) (pow s 4))) (* 1/8 (/ 1 (pow s 2))))) (* 1/2 (/ 1 s))))) |
1/2 |
(+ 1/2 (* 1/4 (/ x s))) |
(+ 1/2 (* x (+ (* -1/48 (/ (pow x 2) (pow s 3))) (* 1/4 (/ 1 s))))) |
(+ 1/2 (* x (+ (* (pow x 2) (- (* 1/480 (/ (pow x 2) (pow s 5))) (* 1/48 (/ 1 (pow s 3))))) (* 1/4 (/ 1 s))))) |
(log 2) |
(+ (log 2) (* -1/2 (/ x s))) |
(+ (log 2) (* x (- (* 1/8 (/ x (pow s 2))) (* 1/2 (/ 1 s))))) |
(+ (log 2) (* x (- (* x (+ (* -1/192 (/ (pow x 2) (pow s 4))) (* 1/8 (/ 1 (pow s 2))))) (* 1/2 (/ 1 s))))) |
1 |
(+ 1 (* -1 (/ x s))) |
(+ 1 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 1 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
2 |
(+ 2 (* -1 (/ x s))) |
(+ 2 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 2 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(/ x s) |
(/ -1 s) |
(- (* 1/2 (/ x (pow s 2))) (/ 1 s)) |
(/ (pow x 3) (pow s 3)) |
(* -1 x) |
(* 1/2 (/ x (pow s 2))) |
(* -1 (log (+ 1 (exp (* -1 (/ x s)))))) |
(/ 1 (+ 1 (exp (* -1 (/ x s))))) |
(log (+ 1 (exp (* -1 (/ x s))))) |
(exp (* -1 (/ x s))) |
(+ 1 (exp (* -1 (/ x s)))) |
(* -1 (/ x s)) |
(* x (- (* 2 (/ 1 x)) (/ 1 s))) |
(* 1/2 (/ (pow x 2) (pow s 2))) |
(* (pow x 2) (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(* (pow x 2) (- (+ (* 1/2 (/ 1 (pow s 2))) (/ 2 (pow x 2))) (/ 1 (* s x)))) |
(* x (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(* -1/48 (/ (pow x 3) (pow s 3))) |
(* (pow x 3) (- (* 1/4 (/ 1 (* s (pow x 2)))) (* 1/48 (/ 1 (pow s 3))))) |
(* (pow x 3) (- (+ (/ 1/4 (* s (pow x 2))) (/ 1/2 (pow x 3))) (* 1/48 (/ 1 (pow s 3))))) |
(* 1/4 (/ x s)) |
(* x (+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x)))) |
(* -1 (* x (- (/ 1 s) (* 2 (/ 1 x))))) |
(* (pow x 2) (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2))))) |
(* -1 (* x (- (/ 1 (* s x)) (* 1/2 (/ 1 (pow s 2)))))) |
(* -1 (* (pow x 3) (- (* 1/48 (/ 1 (pow s 3))) (* 1/4 (/ 1 (* s (pow x 2))))))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x))) (pow x 2))) (* 1/48 (/ 1 (pow s 3)))))) |
(/ (- (* 2 s) x) s) |
(/ (+ (* -1 (* s x)) (* 1/2 (pow x 2))) (pow s 2)) |
(/ (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))) (pow s 2)) |
(/ (+ (* -1 s) (* 1/2 x)) (pow s 2)) |
(/ (+ (* -1/48 (pow x 3)) (* 1/4 (* (pow s 2) x))) (pow s 3)) |
(/ (+ (* -1/48 (pow x 3)) (* (pow s 2) (+ (* 1/4 x) (* 1/2 s)))) (pow s 3)) |
(/ 1/2 (pow s 2)) |
(/ (+ (* 1/4 x) (* 1/2 s)) s) |
(+ (* -1 (log 2)) (+ (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))) (* 1/2 (/ x s)))) |
(+ (* -1 (log 2)) (+ (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))) (+ (* -1/6 (/ (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3)))) (pow s 3))) (* 1/2 (/ x s))))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/24 (pow x 3)) (+ (* 1/16 (pow x 3)) (* 1/2 (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/8 (/ (pow x 2) (pow s 2))) (* 1/8 (/ (pow x 2) (pow s 2)))))) |
(+ (log 2) (+ (* -1/2 (/ x s)) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))))) |
(+ (log 2) (+ (* -1/2 (/ x s)) (+ (* 1/6 (/ (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3)))) (pow s 3))) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))))) |
(+ 1 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 1 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(+ 2 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 2 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(/ (- (* 1/2 (/ x s)) 1) s) |
(+ 1/2 (+ (* -1/48 (/ (pow x 3) (pow s 3))) (* 1/4 (/ x s)))) |
(+ (* -1 (log 2)) (* -1 (/ (+ (* -1/2 x) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) s))) s))) |
(+ (* -1 (log 2)) (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/6 (/ (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3)))) s))) s)) (* -1/2 x)) s))) |
(+ 1/2 (* -1 (/ (- (+ (* -1/8 (/ (pow x 2) s)) (* 1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (+ (* -1/16 (/ (pow x 3) s)) (* 1/24 (/ (pow x 3) s)))) (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(+ (log 2) (* -1 (/ (+ (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) s)) (* 1/2 x)) s))) |
(+ (log 2) (* -1 (/ (+ (* -1 (/ (+ (* -1/6 (/ (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3)))) s)) (* 1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))))) s)) (* 1/2 x)) s))) |
(+ 1 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 1 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(+ 2 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 2 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(* -1 (/ (+ 1 (* -1/2 (/ x s))) s)) |
(+ 1/2 (* -1 (/ (+ (* -1/4 x) (* 1/48 (/ (pow x 3) (pow s 2)))) s))) |
| Outputs |
|---|
(* -1 (log 2)) |
(neg.f32 (log.f32 #s(literal 2 binary32))) |
(+ (* -1 (log 2)) (* 1/2 (/ x s))) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) s) x (neg.f32 (log.f32 #s(literal 2 binary32)))) |
(+ (* -1 (log 2)) (* x (+ (* -1/8 (/ x (pow s 2))) (* 1/2 (/ 1 s))))) |
(fma.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/8 binary32) x) s)) s) x (neg.f32 (log.f32 #s(literal 2 binary32)))) |
(+ (* -1 (log 2)) (* x (+ (* x (- (* 1/192 (/ (pow x 2) (pow s 4))) (* 1/8 (/ 1 (pow s 2))))) (* 1/2 (/ 1 s))))) |
(fma.f32 (fma.f32 (fma.f32 (*.f32 x (/.f32 x (pow.f32 s #s(literal 4 binary32)))) #s(literal 1/192 binary32) (/.f32 #s(literal -1/8 binary32) (*.f32 s s))) x (/.f32 #s(literal 1/2 binary32) s)) x (neg.f32 (log.f32 #s(literal 2 binary32)))) |
1/2 |
#s(literal 1/2 binary32) |
(+ 1/2 (* 1/4 (/ x s))) |
(fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(+ 1/2 (* x (+ (* -1/48 (/ (pow x 2) (pow s 3))) (* 1/4 (/ 1 s))))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(+ 1/2 (* x (+ (* (pow x 2) (- (* 1/480 (/ (pow x 2) (pow s 5))) (* 1/48 (/ 1 (pow s 3))))) (* 1/4 (/ 1 s))))) |
(fma.f32 (pow.f32 x #s(literal 3 binary32)) (fma.f32 (*.f32 x (/.f32 x (pow.f32 s #s(literal 5 binary32)))) #s(literal 1/480 binary32) (/.f32 #s(literal -1/48 binary32) (pow.f32 s #s(literal 3 binary32)))) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(log 2) |
(log.f32 #s(literal 2 binary32)) |
(+ (log 2) (* -1/2 (/ x s))) |
(fma.f32 #s(literal -1/2 binary32) (/.f32 x s) (log.f32 #s(literal 2 binary32))) |
(+ (log 2) (* x (- (* 1/8 (/ x (pow s 2))) (* 1/2 (/ 1 s))))) |
(fma.f32 (/.f32 (+.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 #s(literal 1/8 binary32) x) s)) s) x (log.f32 #s(literal 2 binary32))) |
(+ (log 2) (* x (- (* x (+ (* -1/192 (/ (pow x 2) (pow s 4))) (* 1/8 (/ 1 (pow s 2))))) (* 1/2 (/ 1 s))))) |
(fma.f32 (fma.f32 (fma.f32 #s(literal -1/192 binary32) (*.f32 x (/.f32 x (pow.f32 s #s(literal 4 binary32)))) (/.f32 #s(literal 1/8 binary32) (*.f32 s s))) x (/.f32 #s(literal -1/2 binary32) s)) x (log.f32 #s(literal 2 binary32))) |
1 |
#s(literal 1 binary32) |
(+ 1 (* -1 (/ x s))) |
(-.f32 #s(literal 1 binary32) (/.f32 x s)) |
(+ 1 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(fma.f32 (/.f32 (-.f32 (*.f32 (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 1 binary32)) s) x #s(literal 1 binary32)) |
(+ 1 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 1 binary32)) |
2 |
#s(literal 2 binary32) |
(+ 2 (* -1 (/ x s))) |
(-.f32 #s(literal 2 binary32) (/.f32 x s)) |
(+ 2 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(fma.f32 (/.f32 (-.f32 (*.f32 (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 1 binary32)) s) x #s(literal 2 binary32)) |
(+ 2 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(/ x s) |
(/.f32 x s) |
(/ -1 s) |
(/.f32 #s(literal -1 binary32) s) |
(- (* 1/2 (/ x (pow s 2))) (/ 1 s)) |
(/.f32 (-.f32 (*.f32 (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 1 binary32)) s) |
(/ (pow x 3) (pow s 3)) |
(pow.f32 (/.f32 x s) #s(literal 3 binary32)) |
(* -1 x) |
(neg.f32 x) |
(* 1/2 (/ x (pow s 2))) |
(*.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) x) |
(* -1 (log (+ 1 (exp (* -1 (/ x s)))))) |
(neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) |
(/ 1 (+ 1 (exp (* -1 (/ x s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(log (+ 1 (exp (* -1 (/ x s))))) |
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
(exp (* -1 (/ x s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(+ 1 (exp (* -1 (/ x s)))) |
(+.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)) |
(* -1 (/ x s)) |
(/.f32 (neg.f32 x) s) |
(* x (- (* 2 (/ 1 x)) (/ 1 s))) |
(*.f32 (-.f32 (/.f32 #s(literal 2 binary32) x) (/.f32 #s(literal 1 binary32) s)) x) |
(* 1/2 (/ (pow x 2) (pow s 2))) |
(*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32)) |
(* (pow x 2) (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(*.f32 (-.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) (*.f32 x x)) |
(* (pow x 2) (- (+ (* 1/2 (/ 1 (pow s 2))) (/ 2 (pow x 2))) (/ 1 (* s x)))) |
(*.f32 (-.f32 (-.f32 (/.f32 (/.f32 #s(literal 2 binary32) x) x) (/.f32 #s(literal -1/2 binary32) (*.f32 s s))) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) (*.f32 x x)) |
(* x (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(*.f32 (-.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) x) |
(* -1/48 (/ (pow x 3) (pow s 3))) |
(*.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32)) |
(* (pow x 3) (- (* 1/4 (/ 1 (* s (pow x 2)))) (* 1/48 (/ 1 (pow s 3))))) |
(*.f32 (-.f32 (/.f32 #s(literal 1/4 binary32) (*.f32 (*.f32 s x) x)) (/.f32 #s(literal 1/48 binary32) (pow.f32 s #s(literal 3 binary32)))) (pow.f32 x #s(literal 3 binary32))) |
(* (pow x 3) (- (+ (/ 1/4 (* s (pow x 2))) (/ 1/2 (pow x 3))) (* 1/48 (/ 1 (pow s 3))))) |
(*.f32 (-.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) (*.f32 x x)) (/.f32 #s(literal 1/48 binary32) (pow.f32 s #s(literal 3 binary32)))) (pow.f32 x #s(literal 3 binary32))) |
(* 1/4 (/ x s)) |
(*.f32 #s(literal 1/4 binary32) (/.f32 x s)) |
(* x (+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x)))) |
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x) |
(* -1 (* x (- (/ 1 s) (* 2 (/ 1 x))))) |
(*.f32 (fma.f32 (/.f32 #s(literal 1 binary32) s) #s(literal -1 binary32) (/.f32 #s(literal 2 binary32) x)) x) |
(* (pow x 2) (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2))))) |
(*.f32 (*.f32 (-.f32 (/.f32 (fma.f32 (/.f32 #s(literal 1 binary32) s) #s(literal -1 binary32) (/.f32 #s(literal 2 binary32) x)) x) (/.f32 #s(literal -1/2 binary32) (*.f32 s s))) x) x) |
(* -1 (* x (- (/ 1 (* s x)) (* 1/2 (/ 1 (pow s 2)))))) |
(*.f32 (neg.f32 x) (-.f32 (/.f32 (/.f32 #s(literal 1 binary32) x) s) (/.f32 (/.f32 #s(literal 1/2 binary32) s) s))) |
(* -1 (* (pow x 3) (- (* 1/48 (/ 1 (pow s 3))) (* 1/4 (/ 1 (* s (pow x 2))))))) |
(*.f32 (pow.f32 (neg.f32 x) #s(literal 3 binary32)) (-.f32 (/.f32 #s(literal 1/48 binary32) (pow.f32 s #s(literal 3 binary32))) (/.f32 #s(literal 1/4 binary32) (*.f32 (*.f32 s x) x)))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x))) (pow x 2))) (* 1/48 (/ 1 (pow s 3)))))) |
(*.f32 (pow.f32 (neg.f32 x) #s(literal 3 binary32)) (-.f32 (/.f32 (/.f32 (+.f32 (/.f32 #s(literal -1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x) x) (/.f32 #s(literal -1/48 binary32) (pow.f32 s #s(literal 3 binary32))))) |
(/ (- (* 2 s) x) s) |
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s) |
(/ (+ (* -1 (* s x)) (* 1/2 (pow x 2))) (pow s 2)) |
(/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)) |
(/ (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))) (pow s 2)) |
(/.f32 (fma.f32 (*.f32 #s(literal 1/2 binary32) x) x (*.f32 (fma.f32 #s(literal 2 binary32) s (neg.f32 x)) s)) (*.f32 s s)) |
(/ (+ (* -1 s) (* 1/2 x)) (pow s 2)) |
(/.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) x (neg.f32 s)) s) s) |
(/ (+ (* -1/48 (pow x 3)) (* 1/4 (* (pow s 2) x))) (pow s 3)) |
(/.f32 (fma.f32 (*.f32 (*.f32 s x) s) #s(literal 1/4 binary32) (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1/48 binary32))) (pow.f32 s #s(literal 3 binary32))) |
(/ (+ (* -1/48 (pow x 3)) (* (pow s 2) (+ (* 1/4 x) (* 1/2 s)))) (pow s 3)) |
(/.f32 (fma.f32 (*.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s) s (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1/48 binary32))) (pow.f32 s #s(literal 3 binary32))) |
(/ 1/2 (pow s 2)) |
(/.f32 (/.f32 #s(literal 1/2 binary32) s) s) |
(/ (+ (* 1/4 x) (* 1/2 s)) s) |
(/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s) |
(+ (* -1 (log 2)) (+ (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))) (* 1/2 (/ x s)))) |
(fma.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/8 binary32) x) s)) s) x (neg.f32 (log.f32 #s(literal 2 binary32)))) |
(+ (* -1 (log 2)) (+ (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))) (+ (* -1/6 (/ (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3)))) (pow s 3))) (* 1/2 (/ x s))))) |
(-.f32 (neg.f32 (log.f32 #s(literal 2 binary32))) (fma.f32 (*.f32 #s(literal 0 binary32) x) #s(literal 1/6 binary32) (*.f32 (/.f32 (+.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 #s(literal 1/8 binary32) x) s)) s) x))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(- (+ 1/2 (* -1 (/ (+ (* -1/24 (pow x 3)) (+ (* 1/16 (pow x 3)) (* 1/2 (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/8 (/ (pow x 2) (pow s 2))) (* 1/8 (/ (pow x 2) (pow s 2)))))) |
(fma.f32 (/.f32 (fma.f32 #s(literal 0 binary32) x (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1/48 binary32))) (pow.f32 s #s(literal 3 binary32))) #s(literal -1 binary32) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(+ (log 2) (+ (* -1/2 (/ x s)) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))))) |
(fma.f32 (/.f32 (+.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 #s(literal 1/8 binary32) x) s)) s) x (log.f32 #s(literal 2 binary32))) |
(+ (log 2) (+ (* -1/2 (/ x s)) (+ (* 1/6 (/ (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3)))) (pow s 3))) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))))) |
(-.f32 (log.f32 #s(literal 2 binary32)) (fma.f32 (*.f32 #s(literal 0 binary32) x) #s(literal 1/6 binary32) (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/8 binary32) x) s)) s) x))) |
(+ 1 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(-.f32 #s(literal 1 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(+ 1 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 x (/.f32 (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) s) #s(literal -1/6 binary32) (*.f32 (*.f32 x x) #s(literal 1/2 binary32))) s)) s)) |
(+ 2 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(+ 2 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(-.f32 #s(literal 2 binary32) (/.f32 (-.f32 x (/.f32 (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) s) #s(literal -1/6 binary32) (*.f32 (*.f32 x x) #s(literal 1/2 binary32))) s)) s)) |
(/ (- (* 1/2 (/ x s)) 1) s) |
(/.f32 (-.f32 (*.f32 (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 1 binary32)) s) |
(+ 1/2 (+ (* -1/48 (/ (pow x 3) (pow s 3))) (* 1/4 (/ x s)))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(+ (* -1 (log 2)) (* -1 (/ (+ (* -1/2 x) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) s))) s))) |
(fma.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/8 binary32) x) s)) s) x (neg.f32 (log.f32 #s(literal 2 binary32)))) |
(+ (* -1 (log 2)) (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/6 (/ (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3)))) s))) s)) (* -1/2 x)) s))) |
(-.f32 (neg.f32 (log.f32 #s(literal 2 binary32))) (fma.f32 (*.f32 #s(literal 0 binary32) x) #s(literal 1/6 binary32) (*.f32 (/.f32 (+.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 #s(literal 1/8 binary32) x) s)) s) x))) |
(+ 1/2 (* -1 (/ (- (+ (* -1/8 (/ (pow x 2) s)) (* 1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (+ (* -1/16 (/ (pow x 3) s)) (* 1/24 (/ (pow x 3) s)))) (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(-.f32 #s(literal 1/2 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) x (/.f32 (fma.f32 #s(literal 0 binary32) x (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) s) #s(literal -1/48 binary32) #s(literal 0 binary32))) (neg.f32 s))) s)) |
(+ (log 2) (* -1 (/ (+ (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) s)) (* 1/2 x)) s))) |
(fma.f32 (/.f32 (+.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 #s(literal 1/8 binary32) x) s)) s) x (log.f32 #s(literal 2 binary32))) |
(+ (log 2) (* -1 (/ (+ (* -1 (/ (+ (* -1/6 (/ (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3)))) s)) (* 1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))))) s)) (* 1/2 x)) s))) |
(-.f32 (log.f32 #s(literal 2 binary32)) (fma.f32 (*.f32 #s(literal 0 binary32) x) #s(literal 1/6 binary32) (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/8 binary32) x) s)) s) x))) |
(+ 1 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(-.f32 #s(literal 1 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(+ 1 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 x (/.f32 (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) s) #s(literal -1/6 binary32) (*.f32 (*.f32 x x) #s(literal 1/2 binary32))) s)) s)) |
(+ 2 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(+ 2 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(-.f32 #s(literal 2 binary32) (/.f32 (-.f32 x (/.f32 (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) s) #s(literal -1/6 binary32) (*.f32 (*.f32 x x) #s(literal 1/2 binary32))) s)) s)) |
(* -1 (/ (+ 1 (* -1/2 (/ x s))) s)) |
(/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s) |
(+ 1/2 (* -1 (/ (+ (* -1/4 x) (* 1/48 (/ (pow x 3) (pow s 2)))) s))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 207 |
| 0 | 60 | 207 |
| 1 | 198 | 203 |
| 0 | 1398 | 203 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)) |
(exp.f32 (*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) |
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))) |
(-.f32 #s(literal 2 binary32) (/.f32 x s)) |
(/.f32 x s) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
(pow.f32 (/.f32 x s) #s(literal 3 binary32)) |
(neg.f32 x) |
(*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) |
(/.f32 #s(literal 1/2 binary32) (*.f32 s s)) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) |
| Outputs |
|---|
(log.f32 (exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))) |
(*.f32 #s(literal -1 binary32) (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) |
(*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)) |
(neg.f32 (*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal 1 binary32))) |
(neg.f32 (*.f32 #s(literal 1 binary32) (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) |
(*.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(*.f32 (/.f32 #s(literal 1 binary32) (+.f32 (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 3 binary32))) #s(literal 1 binary32))) (fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(*.f32 (pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal -1/2 binary32)) (pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal -1/2 binary32))) |
(*.f32 #s(literal 1 binary32) (exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))) |
(/.f32 (-.f32 (*.f32 (cosh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (cosh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))) (*.f32 (sinh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (sinh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))))) (-.f32 (cosh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (sinh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))))) |
(/.f32 (+.f32 (pow.f32 (cosh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) #s(literal 3 binary32)) (pow.f32 (sinh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) #s(literal 3 binary32))) (fma.f32 (cosh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (cosh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (-.f32 (*.f32 (sinh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (sinh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))) (*.f32 (cosh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (sinh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))))))) |
(/.f32 #s(literal 1 binary32) (neg.f32 (+.f32 (neg.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)))) |
(/.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal 1 binary32))) |
(/.f32 #s(literal 1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32))) |
(/.f32 #s(literal -1 binary32) (+.f32 (neg.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) |
(pow.f32 (exp.f32 #s(literal -1 binary32)) (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) |
(pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal -1 binary32)) |
(+.f32 (sinh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (cosh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))) |
(+.f32 (cosh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (sinh.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))) |
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(neg.f32 (/.f32 #s(literal -1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)))) |
(neg.f32 (/.f32 #s(literal 1 binary32) (+.f32 (neg.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)))) |
(log.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32))) |
(-.f32 (log.f32 (-.f32 #s(literal 1 binary32) (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))))) (log.f32 (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))) |
(-.f32 (log1p.f32 (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 3 binary32)))) (log1p.f32 (*.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s))))) |
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
(*.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
(*.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)) |
(/.f32 (-.f32 (*.f32 (cosh.f32 (/.f32 x s)) (cosh.f32 (/.f32 x s))) (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) (sinh.f32 (/.f32 (neg.f32 x) s)))) (-.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 (neg.f32 x) s)))) |
(/.f32 (+.f32 (pow.f32 (cosh.f32 (/.f32 x s)) #s(literal 3 binary32)) (pow.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 3 binary32))) (fma.f32 (cosh.f32 (/.f32 x s)) (cosh.f32 (/.f32 x s)) (-.f32 (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) (sinh.f32 (/.f32 (neg.f32 x) s))) (*.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 (neg.f32 x) s)))))) |
(/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))) |
(-.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 x s))) |
(fma.f32 (cosh.f32 (/.f32 x s)) #s(literal 1 binary32) (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(fma.f32 #s(literal 1 binary32) (cosh.f32 (/.f32 x s)) (*.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 (neg.f32 x) s)))) |
(+.f32 (*.f32 (cosh.f32 (/.f32 x s)) #s(literal 1 binary32)) (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(+.f32 (*.f32 #s(literal 1 binary32) (cosh.f32 (/.f32 x s))) (*.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 (neg.f32 x) s)))) |
(+.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) (cosh.f32 (/.f32 x s))) |
(+.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (+.f32 #s(literal 0 binary32) (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
(*.f32 (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))) #s(literal -1/2 binary32)) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))) #s(literal -1/2 binary32))) |
(*.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))))) |
(/.f32 #s(literal 1 binary32) (neg.f32 (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))))) |
(/.f32 #s(literal 1 binary32) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))) #s(literal 1 binary32))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
(/.f32 #s(literal -1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))))) |
(pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))) #s(literal -1 binary32)) |
(exp.f32 (*.f32 (log.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) #s(literal -1 binary32))) |
(neg.f32 (/.f32 #s(literal -1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))))) |
(neg.f32 (/.f32 #s(literal 1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))) |
(/.f32 (neg.f32 (-.f32 #s(literal 4 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)))) (neg.f32 (+.f32 (/.f32 x s) #s(literal 2 binary32)))) |
(/.f32 (neg.f32 (-.f32 #s(literal 8 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) (neg.f32 (fma.f32 (/.f32 x s) (+.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal 4 binary32)))) |
(/.f32 (-.f32 #s(literal 4 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) (+.f32 (/.f32 x s) #s(literal 2 binary32))) |
(/.f32 (-.f32 #s(literal 8 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) (fma.f32 (/.f32 x s) (+.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal 4 binary32))) |
(-.f32 (/.f32 #s(literal 4 binary32) (+.f32 (/.f32 x s) #s(literal 2 binary32))) (/.f32 (pow.f32 (/.f32 x s) #s(literal 2 binary32)) (+.f32 (/.f32 x s) #s(literal 2 binary32)))) |
(-.f32 (/.f32 #s(literal 8 binary32) (fma.f32 (/.f32 x s) (+.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal 4 binary32))) (/.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) (fma.f32 (/.f32 x s) (+.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal 4 binary32)))) |
(-.f32 #s(literal 2 binary32) (/.f32 x s)) |
(+.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (/.f32 x s))) |
(/.f32 (neg.f32 x) (neg.f32 s)) |
(/.f32 x (neg.f32 (neg.f32 s))) |
(/.f32 x s) |
(neg.f32 (/.f32 (neg.f32 x) s)) |
(*.f32 (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) #s(literal -1/2 binary32)) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) #s(literal -1/2 binary32))) |
(*.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))))) |
(/.f32 #s(literal 1 binary32) (neg.f32 (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))))) |
(/.f32 #s(literal 1 binary32) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) #s(literal 1 binary32))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal -1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))))) |
(pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) #s(literal -1 binary32)) |
(exp.f32 (*.f32 (log.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) #s(literal -1 binary32))) |
(neg.f32 (/.f32 #s(literal -1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))))) |
(neg.f32 (/.f32 #s(literal 1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(/.f32 (-.f32 #s(literal 4 binary32) (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x))) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) #s(literal 4 binary32))) (neg.f32 (-.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)))) |
(/.f32 (neg.f32 (+.f32 #s(literal 8 binary32) (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 3 binary32)))) (neg.f32 (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x)) (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))))) |
(/.f32 (-.f32 (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) #s(literal 4 binary32)) (-.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))) |
(/.f32 (+.f32 #s(literal 8 binary32) (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 3 binary32))) (+.f32 #s(literal 4 binary32) (-.f32 (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) (*.f32 x #s(literal 2 binary32)))))) |
(/.f32 (+.f32 #s(literal 8 binary32) (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 3 binary32))) (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x)) (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)))) |
(-.f32 (/.f32 (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) (-.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))) (/.f32 #s(literal 4 binary32) (-.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)))) |
(-.f32 #s(literal 2 binary32) (*.f32 (neg.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s))) x)) |
(-.f32 #s(literal 2 binary32) (*.f32 (neg.f32 x) (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)))) |
(fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(fma.f32 x (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) #s(literal 2 binary32)) |
(+.f32 (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 1 binary32)) #s(literal 1 binary32)) |
(+.f32 (/.f32 (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 3 binary32)) (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x)) (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)))) (/.f32 #s(literal 8 binary32) (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x)) (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))))) |
(+.f32 (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) |
(+.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x)) |
(+.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x))) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) #s(literal 2 binary32)) (pow.f32 s #s(literal -2 binary32)))) (neg.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)))) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) #s(literal 3 binary32)) (pow.f32 s #s(literal -3 binary32)))) (neg.f32 (fma.f32 (/.f32 #s(literal 1 binary32) s) (fma.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)) (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) #s(literal 2 binary32))))) |
(/.f32 (-.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) x) s) (*.f32 (*.f32 s s) #s(literal 1 binary32))) (pow.f32 s #s(literal 3 binary32))) |
(/.f32 (-.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) x) (neg.f32 s)) (*.f32 (*.f32 s s) #s(literal -1 binary32))) (*.f32 (*.f32 s s) (neg.f32 s))) |
(/.f32 (-.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) #s(literal 2 binary32)) (pow.f32 s #s(literal -2 binary32))) (fma.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s))) |
(/.f32 (-.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) #s(literal 3 binary32)) (pow.f32 s #s(literal -3 binary32))) (fma.f32 (/.f32 #s(literal 1 binary32) s) (fma.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)) (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) #s(literal 2 binary32)))) |
(-.f32 (/.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) #s(literal 2 binary32)) (fma.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s))) (/.f32 (pow.f32 s #s(literal -2 binary32)) (fma.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)))) |
(-.f32 (/.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) #s(literal 3 binary32)) (fma.f32 (/.f32 #s(literal 1 binary32) s) (fma.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)) (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) #s(literal 2 binary32)))) (/.f32 (pow.f32 s #s(literal -3 binary32)) (fma.f32 (/.f32 #s(literal 1 binary32) s) (fma.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)) (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) #s(literal 2 binary32))))) |
(-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)))) |
(/.f32 (-.f32 (*.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))))) #s(literal 1/4 binary32)) (-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) #s(literal 1/2 binary32))) |
(/.f32 (-.f32 (pow.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 2 binary32)) (pow.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) #s(literal 2 binary32))) (-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))))) |
(/.f32 (+.f32 (pow.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) #s(literal 3 binary32)) #s(literal 1/8 binary32)) (fma.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) (-.f32 #s(literal 1/4 binary32) (*.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) #s(literal 1/2 binary32))))) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) #s(literal 2 binary32)) (pow.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 2 binary32)))) (neg.f32 (-.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))))) |
(/.f32 (neg.f32 (fma.f32 #s(literal -1/110592 binary32) (pow.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 3 binary32)) (pow.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 3 binary32)))) (neg.f32 (fma.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) (pow.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) #s(literal 2 binary32))))) |
(/.f32 (-.f32 (pow.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) #s(literal 2 binary32)) (pow.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 2 binary32))) (-.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)))) |
(/.f32 (fma.f32 #s(literal -1/110592 binary32) (pow.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 3 binary32)) (pow.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 3 binary32))) (+.f32 (pow.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 2 binary32)) (-.f32 (pow.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) #s(literal 2 binary32)) (*.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)))))) |
(/.f32 (fma.f32 #s(literal -1/110592 binary32) (pow.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 3 binary32)) (pow.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 3 binary32))) (fma.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) (pow.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) #s(literal 2 binary32)))) |
(-.f32 (/.f32 (pow.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) #s(literal 2 binary32)) (-.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)))) (/.f32 (pow.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 2 binary32)) (-.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))))) |
(-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 #s(literal 1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) |
(-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 (neg.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32))) #s(literal -1/48 binary32))) |
(fma.f32 (*.f32 (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 1/2 binary32) (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))))) |
(fma.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3/2 binary32))) (pow.f32 (/.f32 x s) #s(literal 3/2 binary32)) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(fma.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) (/.f32 x s) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(fma.f32 (*.f32 #s(literal -1/48 binary32) (/.f32 x s)) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3/2 binary32)) (*.f32 (pow.f32 (/.f32 x s) #s(literal 3/2 binary32)) #s(literal -1/48 binary32)) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 2 binary32)) (*.f32 (/.f32 x s) #s(literal -1/48 binary32)) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(fma.f32 #s(literal 1/4 binary32) (/.f32 x s) (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))))) |
(fma.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(fma.f32 (/.f32 x s) (*.f32 (pow.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal -1/48 binary32)) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))))) |
(fma.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (/.f32 x s)) (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))))) |
(fma.f32 x (/.f32 #s(literal 1/4 binary32) s) (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))))) |
(+.f32 (fma.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 1/2 binary32)) (*.f32 #s(literal 1/4 binary32) (/.f32 x s))) |
(+.f32 (/.f32 (pow.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) #s(literal 3 binary32)) (fma.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) (pow.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) #s(literal 2 binary32)))) (/.f32 (pow.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 3 binary32)) (fma.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (-.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) (pow.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) #s(literal 2 binary32))))) |
(+.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) #s(literal 1/2 binary32)) |
(+.f32 (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(+.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))))) |
(+.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)))) |
(+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) (*.f32 #s(literal -1/48 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))))) |
(*.f32 (neg.f32 (pow.f32 (/.f32 x s) #s(literal 3/2 binary32))) (neg.f32 (pow.f32 (/.f32 x s) #s(literal 3/2 binary32)))) |
(*.f32 (fabs.f32 (pow.f32 (/.f32 x s) #s(literal 3/2 binary32))) (fabs.f32 (pow.f32 (/.f32 x s) #s(literal 3/2 binary32)))) |
(*.f32 (pow.f32 (/.f32 x s) #s(literal 3/2 binary32)) (pow.f32 (/.f32 x s) #s(literal 3/2 binary32))) |
(*.f32 (pow.f32 (/.f32 x s) #s(literal 2 binary32)) (/.f32 x s)) |
(*.f32 (/.f32 x s) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) |
(/.f32 (*.f32 (neg.f32 x) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) (neg.f32 s)) |
(/.f32 (*.f32 x (pow.f32 (/.f32 x s) #s(literal 2 binary32))) s) |
(/.f32 (*.f32 (pow.f32 (/.f32 x s) #s(literal 2 binary32)) (neg.f32 x)) (neg.f32 s)) |
(/.f32 (*.f32 (pow.f32 (/.f32 x s) #s(literal 2 binary32)) x) s) |
(/.f32 (neg.f32 (pow.f32 x #s(literal 3 binary32))) (neg.f32 (pow.f32 s #s(literal 3 binary32)))) |
(/.f32 (pow.f32 (neg.f32 x) #s(literal 3 binary32)) (pow.f32 (neg.f32 s) #s(literal 3 binary32))) |
(/.f32 (pow.f32 x #s(literal 3 binary32)) (pow.f32 s #s(literal 3 binary32))) |
(pow.f32 (exp.f32 (log.f32 (/.f32 x s))) #s(literal 3 binary32)) |
(pow.f32 (pow.f32 (/.f32 x s) #s(literal 3/2 binary32)) #s(literal 2 binary32)) |
(pow.f32 (pow.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal 3/2 binary32)) |
(pow.f32 (/.f32 x s) #s(literal 3 binary32)) |
(+.f32 (cosh.f32 (*.f32 (log.f32 (/.f32 x s)) #s(literal 3 binary32))) (sinh.f32 (*.f32 (log.f32 (/.f32 x s)) #s(literal 3 binary32)))) |
(exp.f32 (*.f32 (log.f32 (/.f32 x s)) #s(literal 3 binary32))) |
(neg.f32 x) |
(*.f32 (/.f32 #s(literal 1/2 binary32) (neg.f32 s)) (/.f32 (neg.f32 x) s)) |
(*.f32 (/.f32 #s(literal 1/2 binary32) (fabs.f32 s)) (/.f32 x (fabs.f32 s))) |
(*.f32 (/.f32 #s(literal 1/2 binary32) s) (/.f32 x s)) |
(*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) |
(*.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s))) |
(*.f32 x (/.f32 #s(literal 1/2 binary32) (*.f32 s s))) |
(/.f32 (/.f32 (*.f32 #s(literal 1/2 binary32) x) (neg.f32 s)) (neg.f32 s)) |
(/.f32 (/.f32 (*.f32 #s(literal 1/2 binary32) x) (fabs.f32 s)) (fabs.f32 s)) |
(/.f32 (/.f32 (*.f32 #s(literal 1/2 binary32) x) s) s) |
(/.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) s) |
(/.f32 (*.f32 #s(literal -1/2 binary32) x) (*.f32 (neg.f32 s) s)) |
(/.f32 (*.f32 x (/.f32 #s(literal 1/2 binary32) s)) s) |
(/.f32 (*.f32 x #s(literal -1/2 binary32)) (*.f32 (neg.f32 s) s)) |
(/.f32 (neg.f32 (*.f32 #s(literal 1/2 binary32) x)) (*.f32 (neg.f32 s) s)) |
(/.f32 (*.f32 #s(literal 1/2 binary32) x) (*.f32 s s)) |
(/.f32 (/.f32 #s(literal 1/2 binary32) (neg.f32 s)) (neg.f32 s)) |
(/.f32 (/.f32 #s(literal 1/2 binary32) (fabs.f32 s)) (fabs.f32 s)) |
(/.f32 (neg.f32 (/.f32 #s(literal 1/2 binary32) s)) (neg.f32 s)) |
(/.f32 (/.f32 #s(literal 1/2 binary32) s) s) |
(/.f32 #s(literal -1/2 binary32) (*.f32 (neg.f32 s) s)) |
(/.f32 #s(literal 1/2 binary32) (*.f32 s s)) |
(neg.f32 (/.f32 #s(literal -1/2 binary32) (*.f32 s s))) |
(neg.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 (neg.f32 s) s))) |
(/.f32 (-.f32 #s(literal 1/4 binary32) (*.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)))) (-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
(/.f32 (neg.f32 (fma.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal -1/4 binary32))) (neg.f32 (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 1/2 binary32)))) |
(/.f32 (neg.f32 (fma.f32 #s(literal 1/64 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 1/8 binary32))) (neg.f32 (fma.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) (-.f32 #s(literal 1/4 binary32) (*.f32 (/.f32 x s) #s(literal 1/8 binary32)))))) |
(/.f32 (fma.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal -1/4 binary32)) (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 1/2 binary32))) |
(/.f32 (fma.f32 #s(literal 1/64 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 1/8 binary32)) (+.f32 #s(literal 1/4 binary32) (-.f32 (*.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) (*.f32 (/.f32 x s) #s(literal 1/8 binary32))))) |
(/.f32 (fma.f32 #s(literal 1/64 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 1/8 binary32)) (fma.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) (-.f32 #s(literal 1/4 binary32) (*.f32 (/.f32 x s) #s(literal 1/8 binary32))))) |
(-.f32 (/.f32 (*.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 1/2 binary32))) (/.f32 #s(literal 1/4 binary32) (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 1/2 binary32)))) |
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/4 binary32) (/.f32 x s))) |
(-.f32 #s(literal 1/2 binary32) (*.f32 (/.f32 (neg.f32 x) s) #s(literal 1/4 binary32))) |
(fma.f32 (*.f32 (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 1/2 binary32) #s(literal 1/2 binary32)) |
(fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) |
(fma.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (/.f32 x s)) #s(literal 1/2 binary32)) |
(fma.f32 x (/.f32 #s(literal 1/4 binary32) s) #s(literal 1/2 binary32)) |
(+.f32 (/.f32 (*.f32 #s(literal 1/64 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) (fma.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) (-.f32 #s(literal 1/4 binary32) (*.f32 (/.f32 x s) #s(literal 1/8 binary32))))) (/.f32 #s(literal 1/8 binary32) (fma.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) (-.f32 #s(literal 1/4 binary32) (*.f32 (/.f32 x s) #s(literal 1/8 binary32)))))) |
(+.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 1/2 binary32)) |
(+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/4 binary32) (/.f32 x s))) |
Compiled 7 372 to 1 163 computations (84.2% saved)
19 alts after pruning (14 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 257 | 9 | 266 |
| Fresh | 1 | 5 | 6 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 1 | 1 |
| Total | 259 | 19 | 278 |
| Status | Accuracy | Program |
|---|---|---|
| 65.1% | (/.f32 #s(literal 1 binary32) (/.f32 (expm1.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))) (expm1.f32 (/.f32 (neg.f32 x) s)))) | |
| 99.7% | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))))) | |
| ✓ | 99.7% | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| ▶ | 54.3% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
| ✓ | 53.9% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
| 55.6% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) | |
| 39.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) | |
| 51.6% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) | |
| ✓ | 39.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
| ▶ | 39.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
| 16.2% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) | |
| 39.0% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (*.f32 (-.f32 (/.f32 #s(literal 2 binary32) x) (/.f32 #s(literal 1 binary32) s)) x)))) | |
| ▶ | 31.0% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
| 32.3% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32))))) | |
| 43.7% | (*.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) | |
| ▶ | 99.8% | (exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
| ✓ | 27.9% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)))) |
| ▶ | 31.0% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
| ✓ | 37.1% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
Compiled 728 to 550 computations (24.5% saved)
Found 19 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) | |
| cost-diff | 0 | #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) | |
| cost-diff | 0 | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) | |
| cost-diff | 1 | (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) | |
| cost-diff | 0 | #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)))) | |
| cost-diff | 0 | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) | |
| cost-diff | 1 | (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)) | |
| cost-diff | 2 | (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) | |
| cost-diff | 0 | #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)) | |
| cost-diff | 0 | #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))) | |
| cost-diff | 0 | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) | |
| cost-diff | 2 | (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s) | |
| cost-diff | 0 | (/.f32 x s) | |
| cost-diff | 0 | (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) | |
| cost-diff | 0 | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) | |
| cost-diff | 0 | (exp.f32 (/.f32 (neg.f32 x) s)) | |
| cost-diff | 0 | (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) | |
| cost-diff | 0 | (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) | |
| cost-diff | 0 | (exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 55 | 430 |
| 0 | 86 | 430 |
| 1 | 147 | 419 |
| 2 | 403 | 405 |
| 3 | 1454 | 405 |
| 4 | 6340 | 405 |
| 0 | 8299 | 388 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) |
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(/.f32 (neg.f32 x) s) |
(neg.f32 x) |
x |
s |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) |
(/.f32 x s) |
x |
s |
#s(literal 1/4 binary32) |
#s(literal 1/2 binary32) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))) |
#s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)) |
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s) |
(-.f32 (*.f32 #s(literal 2 binary32) s) x) |
(*.f32 #s(literal 2 binary32) s) |
#s(literal 2 binary32) |
s |
x |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)))) |
#s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))) |
(/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)) |
(-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) |
(*.f32 (*.f32 x x) #s(literal 1/2 binary32)) |
(*.f32 x x) |
x |
#s(literal 1/2 binary32) |
(*.f32 s x) |
s |
(*.f32 s s) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) |
(*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) |
(/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) |
(+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) |
#s(literal 1/2 binary32) |
(/.f32 (*.f32 #s(literal -1/6 binary32) x) s) |
(*.f32 #s(literal -1/6 binary32) x) |
#s(literal -1/6 binary32) |
x |
s |
(*.f32 s s) |
(/.f32 #s(literal 1 binary32) s) |
#s(literal 2 binary32) |
| Outputs |
|---|
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) |
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(/.f32 (neg.f32 x) s) |
(neg.f32 x) |
x |
s |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) |
(fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(/.f32 x s) |
x |
s |
#s(literal 1/4 binary32) |
#s(literal 1/2 binary32) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (-.f32 #s(literal 2 binary32) (/.f32 x s))))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))) |
#s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
#s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)) |
#s(approx (- 2 (/ x s)) (-.f32 #s(literal 2 binary32) (/.f32 x s))) |
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s) |
(-.f32 #s(literal 2 binary32) (/.f32 x s)) |
(-.f32 (*.f32 #s(literal 2 binary32) s) x) |
(*.f32 #s(literal 2 binary32) s) |
#s(literal 2 binary32) |
s |
x |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) (/.f32 x s))))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)))) |
#s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) (/.f32 x s)))) |
#s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))) |
#s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) (/.f32 x s))) |
(/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)) |
(*.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) (/.f32 x s)) |
(-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) |
(*.f32 (fma.f32 #s(literal -1/2 binary32) x s) (neg.f32 x)) |
(*.f32 (*.f32 x x) #s(literal 1/2 binary32)) |
(*.f32 x x) |
x |
#s(literal 1/2 binary32) |
(*.f32 s x) |
s |
(*.f32 s s) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (/.f32 x s) s) (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (/.f32 x s) s) (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(fma.f32 (-.f32 (*.f32 (/.f32 (/.f32 x s) s) (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) |
(-.f32 (*.f32 (/.f32 (/.f32 x s) s) (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32))) (/.f32 #s(literal 1 binary32) s)) |
(*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) |
(*.f32 (/.f32 (/.f32 x s) s) (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) |
(/.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) s) |
(+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) |
(fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
#s(literal 1/2 binary32) |
(/.f32 (*.f32 #s(literal -1/6 binary32) x) s) |
(*.f32 #s(literal -1/6 binary32) (/.f32 x s)) |
(*.f32 #s(literal -1/6 binary32) x) |
#s(literal -1/6 binary32) |
x |
s |
(*.f32 s s) |
(/.f32 #s(literal 1 binary32) s) |
#s(literal 2 binary32) |
Found 19 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.265625 | (*.f32 #s(literal -1/6 binary32) x) | |
| accuracy | 1.2326525097919316 | (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) | |
| accuracy | 3.9185176940304265 | (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) | |
| accuracy | 14.258895026044154 | #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) | |
| accuracy | 0.09152751984060395 | (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) | |
| accuracy | 6.350387683673495 | (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)) | |
| accuracy | 8.604217408041736 | #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))) | |
| accuracy | 13.636092003738074 | #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)))) | |
| accuracy | 0.0 | #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)) | |
| accuracy | 0.03515625 | (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s) | |
| accuracy | 0.06081974847004277 | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) | |
| accuracy | 14.59121224574817 | #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))) | |
| accuracy | 0.0 | (/.f32 x s) | |
| accuracy | 0.1951367448317225 | (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) | |
| accuracy | 13.560098766350547 | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) | |
| accuracy | 0.0 | (neg.f32 x) | |
| accuracy | 0.015625 | (exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) | |
| accuracy | 0.056015039073768064 | (exp.f32 (/.f32 (neg.f32 x) s)) | |
| accuracy | 1.986755962978342 | (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
| 184.0ms | 71× | 5 | exit |
| 55.0ms | 185× | 0 | valid |
Compiled 281 to 44 computations (84.3% saved)
adjust: 122.0ms (58% of total)ival-div: 18.0ms (8.6% of total)ival-log1p: 18.0ms (8.6% of total)ival-mult: 18.0ms (8.6% of total)ival-exp: 12.0ms (5.7% of total)ival-add: 8.0ms (3.8% of total)ival-sub: 6.0ms (2.9% of total)const: 5.0ms (2.4% of total)ival-neg: 4.0ms (1.9% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) |
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) |
(/.f32 x s) |
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
#s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))) |
#s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)) |
(-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) |
(/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
#s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)))) |
(+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(neg.f32 x) |
#s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))) |
(*.f32 (*.f32 x x) #s(literal 1/2 binary32)) |
(*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) |
(*.f32 #s(literal -1/6 binary32) x) |
| Outputs |
|---|
(exp (neg (log 2))) |
(+ (exp (neg (log 2))) (* 1/2 (/ (* x (exp (neg (log 2)))) s))) |
(+ (exp (neg (log 2))) (* x (+ (* -1/24 (/ (* (pow x 2) (exp (neg (log 2)))) (pow s 3))) (* 1/2 (/ (exp (neg (log 2))) s))))) |
(+ (exp (neg (log 2))) (* x (+ (* 1/2 (/ (exp (neg (log 2))) s)) (* (pow x 2) (+ (* -1/24 (/ (exp (neg (log 2))) (pow s 3))) (* 1/240 (/ (* (pow x 2) (exp (neg (log 2)))) (pow s 5)))))))) |
(* -1 (log 2)) |
(- (* 1/2 (/ x s)) (log 2)) |
(- (* x (+ (* -1/8 (/ x (pow s 2))) (* 1/2 (/ 1 s)))) (log 2)) |
(- (* x (+ (* x (- (* 1/192 (/ (pow x 2) (pow s 4))) (* 1/8 (/ 1 (pow s 2))))) (* 1/2 (/ 1 s)))) (log 2)) |
(log 2) |
(+ (log 2) (* -1/2 (/ x s))) |
(+ (log 2) (* x (- (* 1/8 (/ x (pow s 2))) (* 1/2 (/ 1 s))))) |
(+ (log 2) (* x (- (* x (+ (* -1/192 (/ (pow x 2) (pow s 4))) (* 1/8 (/ 1 (pow s 2))))) (* 1/2 (/ 1 s))))) |
1 |
(+ 1 (* -1 (/ x s))) |
(+ 1 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 1 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
1/2 |
(+ 1/2 (* 1/4 (/ x s))) |
(+ 1/2 (* x (+ (* -1/48 (/ (pow x 2) (pow s 3))) (* 1/4 (/ 1 s))))) |
(+ 1/2 (* x (+ (* (pow x 2) (- (* 1/480 (/ (pow x 2) (pow s 5))) (* 1/48 (/ 1 (pow s 3))))) (* 1/4 (/ 1 s))))) |
(/ x s) |
2 |
(+ 2 (* -1 (/ x s))) |
(+ 2 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 2 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(* -1 (* s x)) |
(* x (- (* 1/2 x) s)) |
(* -1 (/ x s)) |
(* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s))) |
(+ 1/2 (* -1/6 (/ x s))) |
(* -1 x) |
(* 1/2 (pow x 2)) |
(* 1/2 (/ x (pow s 2))) |
(* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) |
(* -1/6 x) |
(exp (neg (log (+ 1 (exp (* -1 (/ x s))))))) |
(* -1 (log (+ 1 (exp (* -1 (/ x s)))))) |
(log (+ 1 (exp (* -1 (/ x s))))) |
(exp (* -1 (/ x s))) |
(/ 1 (+ 1 (exp (* -1 (/ x s))))) |
(* 1/4 (/ x s)) |
(* x (+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x)))) |
(* x (- (* 2 (/ 1 x)) (/ 1 s))) |
(+ 1 (exp (* -1 (/ x s)))) |
(* (pow x 2) (+ 1/2 (* -1 (/ s x)))) |
(* 1/2 (/ (pow x 2) (pow s 2))) |
(* (pow x 2) (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(* -1/6 (/ x s)) |
(* x (- (* 1/2 (/ 1 x)) (* 1/6 (/ 1 s)))) |
(* -1/6 (/ (pow x 3) (pow s 3))) |
(* (pow x 3) (- (* 1/2 (/ 1 (* (pow s 2) x))) (* 1/6 (/ 1 (pow s 3))))) |
(* (pow x 3) (- (/ 1/2 (* (pow s 2) x)) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(* (pow x 3) (- (+ (/ 1/2 (* (pow s 2) x)) (* 2 (/ 1 (pow x 3)))) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(* (pow x 2) (- (+ (* 1/2 (/ 1 (pow s 2))) (/ 2 (pow x 2))) (/ 1 (* s x)))) |
(* -1/6 (/ (pow x 2) (pow s 3))) |
(* (pow x 2) (- (* 1/2 (/ 1 (* (pow s 2) x))) (* 1/6 (/ 1 (pow s 3))))) |
(* -1 (* x (- (/ 1 s) (* 2 (/ 1 x))))) |
(* -1 (* x (- (* 1/6 (/ 1 s)) (* 1/2 (/ 1 x))))) |
(* -1 (* (pow x 3) (- (* 1/6 (/ 1 (pow s 3))) (* 1/2 (/ 1 (* (pow s 2) x)))))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x))) x)) (* 1/6 (/ 1 (pow s 3)))))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2)))) x)) (* 1/6 (/ 1 (pow s 3)))))) |
(* (pow x 2) (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2))))) |
(/ (+ (* 1/4 x) (* 1/2 s)) s) |
(/ (+ (* -1 x) (* 2 s)) s) |
(/ (- (* 2 s) x) s) |
(+ (* -1 (* s x)) (* 1/2 (pow x 2))) |
(/ (+ (* -1 (* s x)) (* 1/2 (pow x 2))) (pow s 2)) |
(/ (+ (* -1/6 x) (* 1/2 s)) s) |
(/ (+ (* -1/6 (pow x 3)) (* 1/2 (* s (pow x 2)))) (pow s 3)) |
(/ (+ (* -1/6 (pow x 3)) (* s (+ (* -1 (* s x)) (* 1/2 (pow x 2))))) (pow s 3)) |
(/ (+ (* -1/6 (pow x 3)) (* s (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))))) (pow s 3)) |
(/ (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))) (pow s 2)) |
(/ (+ (* -1/6 (pow x 2)) (* 1/2 (* s x))) (pow s 3)) |
(+ (exp (neg (log 2))) (+ (* 1/2 (/ (* x (exp (neg (log 2)))) s)) (/ (* (exp (neg (log 2))) (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/8 (pow x 2)))) (pow s 2)))) |
(+ (exp (neg (log 2))) (+ (* 1/2 (/ (* x (exp (neg (log 2)))) s)) (+ (/ (* (exp (neg (log 2))) (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/8 (pow x 2)))) (pow s 2)) (/ (* (exp (neg (log 2))) (+ (* -1/4 (* x (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))))) (+ (* -1/6 (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3))))) (* 1/48 (pow x 3))))) (pow s 3))))) |
(- (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))) (+ (log 2) (* -1/2 (/ x s)))) |
(- (* -1/6 (/ (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3)))) (pow s 3))) (+ (log 2) (+ (* -1/2 (/ x s)) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))))) |
(+ (log 2) (+ (* -1/2 (/ x s)) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))))) |
(+ (log 2) (+ (* -1/2 (/ x s)) (+ (* 1/6 (/ (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3)))) (pow s 3))) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))))) |
(+ 1 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 1 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/24 (pow x 3)) (+ (* 1/16 (pow x 3)) (* 1/2 (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/8 (/ (pow x 2) (pow s 2))) (* 1/8 (/ (pow x 2) (pow s 2)))))) |
(+ 2 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 2 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(* s (- (* 1/2 (/ (pow x 2) s)) x)) |
(/ (+ (* -1 x) (* 1/2 (/ (pow x 2) s))) s) |
(/ (+ (* -1/6 (/ (pow x 2) s)) (* 1/2 x)) (pow s 2)) |
(+ (exp (neg (log 2))) (* -1 (/ (+ (* -1 (/ (* (exp (neg (log 2))) (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/8 (pow x 2)))) s)) (* -1/2 (* x (exp (neg (log 2)))))) s))) |
(+ (exp (neg (log 2))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (* (exp (neg (log 2))) (+ (* -1/6 (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3))))) (+ (* -1/48 (pow x 3)) (* 1/4 (* x (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))))))) s)) (* (exp (neg (log 2))) (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/8 (pow x 2))))) s)) (* -1/2 (* x (exp (neg (log 2)))))) s))) |
(- (* -1 (/ (- (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) s)) (* 1/2 x)) s)) (log 2)) |
(- (* -1 (/ (- (* -1 (/ (- (* 1/6 (/ (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3)))) s)) (* 1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))))) s)) (* 1/2 x)) s)) (log 2)) |
(+ (log 2) (* -1 (/ (+ (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) s)) (* 1/2 x)) s))) |
(+ (log 2) (* -1 (/ (+ (* -1 (/ (+ (* -1/6 (/ (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3)))) s)) (* 1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))))) s)) (* 1/2 x)) s))) |
(+ 1 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 1 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(+ 1/2 (* -1 (/ (- (+ (* -1/8 (/ (pow x 2) s)) (* 1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (+ (* -1/16 (/ (pow x 3) s)) (* 1/24 (/ (pow x 3) s)))) (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(+ 2 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 2 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(* -1 (* s (- (* -1/2 (/ (pow x 2) s)) (* -1 x)))) |
(* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s)) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 28.0ms | x | @ | inf | ((exp (neg (log (+ 1 (exp (/ (neg x) s)))))) (neg (log (+ 1 (exp (/ (neg x) s))))) (log (+ 1 (exp (/ (neg x) s)))) (exp (/ (neg x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (/ x s) (/ (- (* 2 s) x) s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (- 2 (/ x s)) (- (* (* x x) 1/2) (* s x)) (/ (- (* (* x x) 1/2) (* s x)) (* s s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ 1/2 (/ (* -1/6 x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) x) 2) (neg x) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (* (* x x) 1/2) (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (* -1/6 x)) |
| 11.0ms | x | @ | -inf | ((exp (neg (log (+ 1 (exp (/ (neg x) s)))))) (neg (log (+ 1 (exp (/ (neg x) s))))) (log (+ 1 (exp (/ (neg x) s)))) (exp (/ (neg x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (/ x s) (/ (- (* 2 s) x) s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (- 2 (/ x s)) (- (* (* x x) 1/2) (* s x)) (/ (- (* (* x x) 1/2) (* s x)) (* s s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ 1/2 (/ (* -1/6 x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) x) 2) (neg x) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (* (* x x) 1/2) (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (* -1/6 x)) |
| 10.0ms | s | @ | 0 | ((exp (neg (log (+ 1 (exp (/ (neg x) s)))))) (neg (log (+ 1 (exp (/ (neg x) s))))) (log (+ 1 (exp (/ (neg x) s)))) (exp (/ (neg x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (/ x s) (/ (- (* 2 s) x) s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (- 2 (/ x s)) (- (* (* x x) 1/2) (* s x)) (/ (- (* (* x x) 1/2) (* s x)) (* s s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ 1/2 (/ (* -1/6 x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) x) 2) (neg x) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (* (* x x) 1/2) (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (* -1/6 x)) |
| 4.0ms | x | @ | 0 | ((exp (neg (log (+ 1 (exp (/ (neg x) s)))))) (neg (log (+ 1 (exp (/ (neg x) s))))) (log (+ 1 (exp (/ (neg x) s)))) (exp (/ (neg x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (/ x s) (/ (- (* 2 s) x) s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (- 2 (/ x s)) (- (* (* x x) 1/2) (* s x)) (/ (- (* (* x x) 1/2) (* s x)) (* s s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ 1/2 (/ (* -1/6 x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) x) 2) (neg x) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (* (* x x) 1/2) (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (* -1/6 x)) |
| 3.0ms | s | @ | -inf | ((exp (neg (log (+ 1 (exp (/ (neg x) s)))))) (neg (log (+ 1 (exp (/ (neg x) s))))) (log (+ 1 (exp (/ (neg x) s)))) (exp (/ (neg x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (/ x s) (/ (- (* 2 s) x) s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (- 2 (/ x s)) (- (* (* x x) 1/2) (* s x)) (/ (- (* (* x x) 1/2) (* s x)) (* s s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ 1/2 (/ (* -1/6 x) s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) x) 2) (neg x) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (* (* x x) 1/2) (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (* -1/6 x)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 408 | 1700 |
| 1 | 1372 | 1346 |
| 2 | 6860 | 1320 |
| 0 | 8381 | 1249 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(exp (neg (log 2))) |
(+ (exp (neg (log 2))) (* 1/2 (/ (* x (exp (neg (log 2)))) s))) |
(+ (exp (neg (log 2))) (* x (+ (* -1/24 (/ (* (pow x 2) (exp (neg (log 2)))) (pow s 3))) (* 1/2 (/ (exp (neg (log 2))) s))))) |
(+ (exp (neg (log 2))) (* x (+ (* 1/2 (/ (exp (neg (log 2))) s)) (* (pow x 2) (+ (* -1/24 (/ (exp (neg (log 2))) (pow s 3))) (* 1/240 (/ (* (pow x 2) (exp (neg (log 2)))) (pow s 5)))))))) |
(* -1 (log 2)) |
(- (* 1/2 (/ x s)) (log 2)) |
(- (* x (+ (* -1/8 (/ x (pow s 2))) (* 1/2 (/ 1 s)))) (log 2)) |
(- (* x (+ (* x (- (* 1/192 (/ (pow x 2) (pow s 4))) (* 1/8 (/ 1 (pow s 2))))) (* 1/2 (/ 1 s)))) (log 2)) |
(log 2) |
(+ (log 2) (* -1/2 (/ x s))) |
(+ (log 2) (* x (- (* 1/8 (/ x (pow s 2))) (* 1/2 (/ 1 s))))) |
(+ (log 2) (* x (- (* x (+ (* -1/192 (/ (pow x 2) (pow s 4))) (* 1/8 (/ 1 (pow s 2))))) (* 1/2 (/ 1 s))))) |
1 |
(+ 1 (* -1 (/ x s))) |
(+ 1 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 1 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
1/2 |
(+ 1/2 (* 1/4 (/ x s))) |
(+ 1/2 (* x (+ (* -1/48 (/ (pow x 2) (pow s 3))) (* 1/4 (/ 1 s))))) |
(+ 1/2 (* x (+ (* (pow x 2) (- (* 1/480 (/ (pow x 2) (pow s 5))) (* 1/48 (/ 1 (pow s 3))))) (* 1/4 (/ 1 s))))) |
(/ x s) |
2 |
(+ 2 (* -1 (/ x s))) |
(+ 2 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 2 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(* -1 (* s x)) |
(* x (- (* 1/2 x) s)) |
(* -1 (/ x s)) |
(* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s))) |
(+ 1/2 (* -1/6 (/ x s))) |
(* -1 x) |
(* 1/2 (pow x 2)) |
(* 1/2 (/ x (pow s 2))) |
(* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) |
(* -1/6 x) |
(exp (neg (log (+ 1 (exp (* -1 (/ x s))))))) |
(* -1 (log (+ 1 (exp (* -1 (/ x s)))))) |
(log (+ 1 (exp (* -1 (/ x s))))) |
(exp (* -1 (/ x s))) |
(/ 1 (+ 1 (exp (* -1 (/ x s))))) |
(* 1/4 (/ x s)) |
(* x (+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x)))) |
(* x (- (* 2 (/ 1 x)) (/ 1 s))) |
(+ 1 (exp (* -1 (/ x s)))) |
(* (pow x 2) (+ 1/2 (* -1 (/ s x)))) |
(* 1/2 (/ (pow x 2) (pow s 2))) |
(* (pow x 2) (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(* -1/6 (/ x s)) |
(* x (- (* 1/2 (/ 1 x)) (* 1/6 (/ 1 s)))) |
(* -1/6 (/ (pow x 3) (pow s 3))) |
(* (pow x 3) (- (* 1/2 (/ 1 (* (pow s 2) x))) (* 1/6 (/ 1 (pow s 3))))) |
(* (pow x 3) (- (/ 1/2 (* (pow s 2) x)) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(* (pow x 3) (- (+ (/ 1/2 (* (pow s 2) x)) (* 2 (/ 1 (pow x 3)))) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(* (pow x 2) (- (+ (* 1/2 (/ 1 (pow s 2))) (/ 2 (pow x 2))) (/ 1 (* s x)))) |
(* -1/6 (/ (pow x 2) (pow s 3))) |
(* (pow x 2) (- (* 1/2 (/ 1 (* (pow s 2) x))) (* 1/6 (/ 1 (pow s 3))))) |
(* -1 (* x (- (/ 1 s) (* 2 (/ 1 x))))) |
(* -1 (* x (- (* 1/6 (/ 1 s)) (* 1/2 (/ 1 x))))) |
(* -1 (* (pow x 3) (- (* 1/6 (/ 1 (pow s 3))) (* 1/2 (/ 1 (* (pow s 2) x)))))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x))) x)) (* 1/6 (/ 1 (pow s 3)))))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2)))) x)) (* 1/6 (/ 1 (pow s 3)))))) |
(* (pow x 2) (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2))))) |
(/ (+ (* 1/4 x) (* 1/2 s)) s) |
(/ (+ (* -1 x) (* 2 s)) s) |
(/ (- (* 2 s) x) s) |
(+ (* -1 (* s x)) (* 1/2 (pow x 2))) |
(/ (+ (* -1 (* s x)) (* 1/2 (pow x 2))) (pow s 2)) |
(/ (+ (* -1/6 x) (* 1/2 s)) s) |
(/ (+ (* -1/6 (pow x 3)) (* 1/2 (* s (pow x 2)))) (pow s 3)) |
(/ (+ (* -1/6 (pow x 3)) (* s (+ (* -1 (* s x)) (* 1/2 (pow x 2))))) (pow s 3)) |
(/ (+ (* -1/6 (pow x 3)) (* s (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))))) (pow s 3)) |
(/ (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))) (pow s 2)) |
(/ (+ (* -1/6 (pow x 2)) (* 1/2 (* s x))) (pow s 3)) |
(+ (exp (neg (log 2))) (+ (* 1/2 (/ (* x (exp (neg (log 2)))) s)) (/ (* (exp (neg (log 2))) (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/8 (pow x 2)))) (pow s 2)))) |
(+ (exp (neg (log 2))) (+ (* 1/2 (/ (* x (exp (neg (log 2)))) s)) (+ (/ (* (exp (neg (log 2))) (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/8 (pow x 2)))) (pow s 2)) (/ (* (exp (neg (log 2))) (+ (* -1/4 (* x (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))))) (+ (* -1/6 (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3))))) (* 1/48 (pow x 3))))) (pow s 3))))) |
(- (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))) (+ (log 2) (* -1/2 (/ x s)))) |
(- (* -1/6 (/ (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3)))) (pow s 3))) (+ (log 2) (+ (* -1/2 (/ x s)) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))))) |
(+ (log 2) (+ (* -1/2 (/ x s)) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))))) |
(+ (log 2) (+ (* -1/2 (/ x s)) (+ (* 1/6 (/ (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3)))) (pow s 3))) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))))) |
(+ 1 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 1 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/24 (pow x 3)) (+ (* 1/16 (pow x 3)) (* 1/2 (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/8 (/ (pow x 2) (pow s 2))) (* 1/8 (/ (pow x 2) (pow s 2)))))) |
(+ 2 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 2 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(* s (- (* 1/2 (/ (pow x 2) s)) x)) |
(/ (+ (* -1 x) (* 1/2 (/ (pow x 2) s))) s) |
(/ (+ (* -1/6 (/ (pow x 2) s)) (* 1/2 x)) (pow s 2)) |
(+ (exp (neg (log 2))) (* -1 (/ (+ (* -1 (/ (* (exp (neg (log 2))) (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/8 (pow x 2)))) s)) (* -1/2 (* x (exp (neg (log 2)))))) s))) |
(+ (exp (neg (log 2))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (* (exp (neg (log 2))) (+ (* -1/6 (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3))))) (+ (* -1/48 (pow x 3)) (* 1/4 (* x (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))))))) s)) (* (exp (neg (log 2))) (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/8 (pow x 2))))) s)) (* -1/2 (* x (exp (neg (log 2)))))) s))) |
(- (* -1 (/ (- (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) s)) (* 1/2 x)) s)) (log 2)) |
(- (* -1 (/ (- (* -1 (/ (- (* 1/6 (/ (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3)))) s)) (* 1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))))) s)) (* 1/2 x)) s)) (log 2)) |
(+ (log 2) (* -1 (/ (+ (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) s)) (* 1/2 x)) s))) |
(+ (log 2) (* -1 (/ (+ (* -1 (/ (+ (* -1/6 (/ (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3)))) s)) (* 1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))))) s)) (* 1/2 x)) s))) |
(+ 1 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 1 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(+ 1/2 (* -1 (/ (- (+ (* -1/8 (/ (pow x 2) s)) (* 1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (+ (* -1/16 (/ (pow x 3) s)) (* 1/24 (/ (pow x 3) s)))) (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(+ 2 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 2 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(* -1 (* s (- (* -1/2 (/ (pow x 2) s)) (* -1 x)))) |
(* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s)) |
| Outputs |
|---|
(exp (neg (log 2))) |
#s(literal 1/2 binary32) |
(+ (exp (neg (log 2))) (* 1/2 (/ (* x (exp (neg (log 2)))) s))) |
(fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32)) |
(+ (exp (neg (log 2))) (* x (+ (* -1/24 (/ (* (pow x 2) (exp (neg (log 2)))) (pow s 3))) (* 1/2 (/ (exp (neg (log 2))) s))))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32))) |
(+ (exp (neg (log 2))) (* x (+ (* 1/2 (/ (exp (neg (log 2))) s)) (* (pow x 2) (+ (* -1/24 (/ (exp (neg (log 2))) (pow s 3))) (* 1/240 (/ (* (pow x 2) (exp (neg (log 2)))) (pow s 5)))))))) |
(fma.f32 (pow.f32 x #s(literal 3 binary32)) (fma.f32 (*.f32 x (/.f32 x (pow.f32 s #s(literal 5 binary32)))) #s(literal 1/480 binary32) (/.f32 #s(literal -1/48 binary32) (pow.f32 s #s(literal 3 binary32)))) (fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32))) |
(* -1 (log 2)) |
(neg.f32 (log.f32 #s(literal 2 binary32))) |
(- (* 1/2 (/ x s)) (log 2)) |
(-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) (log.f32 #s(literal 2 binary32))) |
(- (* x (+ (* -1/8 (/ x (pow s 2))) (* 1/2 (/ 1 s)))) (log 2)) |
(-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/8 binary32) x) s)) s) x) (log.f32 #s(literal 2 binary32))) |
(- (* x (+ (* x (- (* 1/192 (/ (pow x 2) (pow s 4))) (* 1/8 (/ 1 (pow s 2))))) (* 1/2 (/ 1 s)))) (log 2)) |
(-.f32 (*.f32 (fma.f32 (fma.f32 (*.f32 x (/.f32 x (pow.f32 s #s(literal 4 binary32)))) #s(literal 1/192 binary32) (/.f32 #s(literal -1/8 binary32) (*.f32 s s))) x (/.f32 #s(literal 1/2 binary32) s)) x) (log.f32 #s(literal 2 binary32))) |
(log 2) |
(log.f32 #s(literal 2 binary32)) |
(+ (log 2) (* -1/2 (/ x s))) |
(fma.f32 #s(literal -1/2 binary32) (/.f32 x s) (log.f32 #s(literal 2 binary32))) |
(+ (log 2) (* x (- (* 1/8 (/ x (pow s 2))) (* 1/2 (/ 1 s))))) |
(fma.f32 (/.f32 (+.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 #s(literal 1/8 binary32) x) s)) s) x (log.f32 #s(literal 2 binary32))) |
(+ (log 2) (* x (- (* x (+ (* -1/192 (/ (pow x 2) (pow s 4))) (* 1/8 (/ 1 (pow s 2))))) (* 1/2 (/ 1 s))))) |
(fma.f32 (fma.f32 (fma.f32 #s(literal -1/192 binary32) (*.f32 x (/.f32 x (pow.f32 s #s(literal 4 binary32)))) (/.f32 #s(literal 1/8 binary32) (*.f32 s s))) x (/.f32 #s(literal -1/2 binary32) s)) x (log.f32 #s(literal 2 binary32))) |
1 |
#s(literal 1 binary32) |
(+ 1 (* -1 (/ x s))) |
(-.f32 #s(literal 1 binary32) (/.f32 x s)) |
(+ 1 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(fma.f32 (-.f32 (*.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 1 binary32)) |
(+ 1 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 1 binary32)) |
1/2 |
#s(literal 1/2 binary32) |
(+ 1/2 (* 1/4 (/ x s))) |
(fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32)) |
(+ 1/2 (* x (+ (* -1/48 (/ (pow x 2) (pow s 3))) (* 1/4 (/ 1 s))))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32))) |
(+ 1/2 (* x (+ (* (pow x 2) (- (* 1/480 (/ (pow x 2) (pow s 5))) (* 1/48 (/ 1 (pow s 3))))) (* 1/4 (/ 1 s))))) |
(fma.f32 (pow.f32 x #s(literal 3 binary32)) (fma.f32 (*.f32 x (/.f32 x (pow.f32 s #s(literal 5 binary32)))) #s(literal 1/480 binary32) (/.f32 #s(literal -1/48 binary32) (pow.f32 s #s(literal 3 binary32)))) (fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32))) |
(/ x s) |
(/.f32 x s) |
2 |
#s(literal 2 binary32) |
(+ 2 (* -1 (/ x s))) |
(-.f32 #s(literal 2 binary32) (/.f32 x s)) |
(+ 2 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(fma.f32 (-.f32 (*.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(+ 2 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(* -1 (* s x)) |
(*.f32 (neg.f32 s) x) |
(* x (- (* 1/2 x) s)) |
(*.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) x) s) x) |
(* -1 (/ x s)) |
(/.f32 (neg.f32 x) s) |
(* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s))) |
(*.f32 (-.f32 (*.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) x) (/.f32 #s(literal 1 binary32) s)) x) |
(+ 1/2 (* -1/6 (/ x s))) |
(fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(* -1 x) |
(neg.f32 x) |
(* 1/2 (pow x 2)) |
(*.f32 (*.f32 #s(literal 1/2 binary32) x) x) |
(* 1/2 (/ x (pow s 2))) |
(*.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) x) |
(* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) |
(*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 s s)) x) |
(* -1/6 x) |
(*.f32 #s(literal -1/6 binary32) x) |
(exp (neg (log (+ 1 (exp (* -1 (/ x s))))))) |
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(* -1 (log (+ 1 (exp (* -1 (/ x s)))))) |
(neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) |
(log (+ 1 (exp (* -1 (/ x s))))) |
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
(exp (* -1 (/ x s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(/ 1 (+ 1 (exp (* -1 (/ x s))))) |
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(* 1/4 (/ x s)) |
(*.f32 #s(literal 1/4 binary32) (/.f32 x s)) |
(* x (+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x)))) |
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x) |
(* x (- (* 2 (/ 1 x)) (/ 1 s))) |
(*.f32 (-.f32 (/.f32 #s(literal 2 binary32) x) (/.f32 #s(literal 1 binary32) s)) x) |
(+ 1 (exp (* -1 (/ x s)))) |
(+.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)) |
(* (pow x 2) (+ 1/2 (* -1 (/ s x)))) |
(*.f32 (*.f32 (-.f32 #s(literal 1/2 binary32) (/.f32 s x)) x) x) |
(* 1/2 (/ (pow x 2) (pow s 2))) |
(*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32)) |
(* (pow x 2) (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(*.f32 (-.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) (*.f32 x x)) |
(* -1/6 (/ x s)) |
(*.f32 #s(literal -1/6 binary32) (/.f32 x s)) |
(* x (- (* 1/2 (/ 1 x)) (* 1/6 (/ 1 s)))) |
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal 1/6 binary32) s)) x) |
(* -1/6 (/ (pow x 3) (pow s 3))) |
(*.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/6 binary32)) |
(* (pow x 3) (- (* 1/2 (/ 1 (* (pow s 2) x))) (* 1/6 (/ 1 (pow s 3))))) |
(*.f32 (-.f32 (/.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) x) (/.f32 #s(literal 1/6 binary32) (pow.f32 s #s(literal 3 binary32)))) (pow.f32 x #s(literal 3 binary32))) |
(* (pow x 3) (- (/ 1/2 (* (pow s 2) x)) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(*.f32 (-.f32 (/.f32 (-.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) x) (/.f32 #s(literal 1/6 binary32) (pow.f32 s #s(literal 3 binary32)))) (pow.f32 x #s(literal 3 binary32))) |
(* (pow x 3) (- (+ (/ 1/2 (* (pow s 2) x)) (* 2 (/ 1 (pow x 3)))) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(*.f32 (+.f32 (/.f32 #s(literal 2 binary32) (pow.f32 x #s(literal 3 binary32))) (-.f32 (/.f32 (-.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) x) (/.f32 #s(literal 1/6 binary32) (pow.f32 s #s(literal 3 binary32))))) (pow.f32 x #s(literal 3 binary32))) |
(* (pow x 2) (- (+ (* 1/2 (/ 1 (pow s 2))) (/ 2 (pow x 2))) (/ 1 (* s x)))) |
(*.f32 (-.f32 (-.f32 (/.f32 (/.f32 #s(literal 2 binary32) x) x) (/.f32 #s(literal -1/2 binary32) (*.f32 s s))) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) (*.f32 x x)) |
(* -1/6 (/ (pow x 2) (pow s 3))) |
(*.f32 (*.f32 x (/.f32 x (pow.f32 s #s(literal 3 binary32)))) #s(literal -1/6 binary32)) |
(* (pow x 2) (- (* 1/2 (/ 1 (* (pow s 2) x))) (* 1/6 (/ 1 (pow s 3))))) |
(*.f32 (-.f32 (/.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) x) (/.f32 #s(literal 1/6 binary32) (pow.f32 s #s(literal 3 binary32)))) (*.f32 x x)) |
(* -1 (* x (- (/ 1 s) (* 2 (/ 1 x))))) |
(*.f32 (-.f32 (/.f32 #s(literal 1 binary32) s) (/.f32 #s(literal 2 binary32) x)) (neg.f32 x)) |
(* -1 (* x (- (* 1/6 (/ 1 s)) (* 1/2 (/ 1 x))))) |
(*.f32 (-.f32 (/.f32 #s(literal 1/6 binary32) s) (/.f32 #s(literal 1/2 binary32) x)) (neg.f32 x)) |
(* -1 (* (pow x 3) (- (* 1/6 (/ 1 (pow s 3))) (* 1/2 (/ 1 (* (pow s 2) x)))))) |
(*.f32 (pow.f32 (neg.f32 x) #s(literal 3 binary32)) (-.f32 (/.f32 #s(literal 1/6 binary32) (pow.f32 s #s(literal 3 binary32))) (/.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) x))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x))) x)) (* 1/6 (/ 1 (pow s 3)))))) |
(*.f32 (pow.f32 (neg.f32 x) #s(literal 3 binary32)) (-.f32 (/.f32 (-.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) (neg.f32 x)) (/.f32 #s(literal -1/6 binary32) (pow.f32 s #s(literal 3 binary32))))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2)))) x)) (* 1/6 (/ 1 (pow s 3)))))) |
(*.f32 (pow.f32 (neg.f32 x) #s(literal 3 binary32)) (-.f32 (/.f32 (-.f32 (/.f32 (-.f32 (/.f32 #s(literal 1 binary32) s) (/.f32 #s(literal 2 binary32) x)) (neg.f32 x)) (/.f32 #s(literal -1/2 binary32) (*.f32 s s))) (neg.f32 x)) (/.f32 #s(literal -1/6 binary32) (pow.f32 s #s(literal 3 binary32))))) |
(* (pow x 2) (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2))))) |
(*.f32 (*.f32 (-.f32 (/.f32 (-.f32 (/.f32 #s(literal 1 binary32) s) (/.f32 #s(literal 2 binary32) x)) (neg.f32 x)) (/.f32 #s(literal -1/2 binary32) (*.f32 s s))) x) x) |
(/ (+ (* 1/4 x) (* 1/2 s)) s) |
(/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s) |
(/ (+ (* -1 x) (* 2 s)) s) |
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s) |
(/ (- (* 2 s) x) s) |
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s) |
(+ (* -1 (* s x)) (* 1/2 (pow x 2))) |
(fma.f32 (neg.f32 x) s (*.f32 (*.f32 #s(literal 1/2 binary32) x) x)) |
(/ (+ (* -1 (* s x)) (* 1/2 (pow x 2))) (pow s 2)) |
(/.f32 (/.f32 (fma.f32 (neg.f32 x) s (*.f32 (*.f32 #s(literal 1/2 binary32) x) x)) s) s) |
(/ (+ (* -1/6 x) (* 1/2 s)) s) |
(/.f32 (fma.f32 #s(literal -1/6 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s) |
(/ (+ (* -1/6 (pow x 3)) (* 1/2 (* s (pow x 2)))) (pow s 3)) |
(/.f32 (fma.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) s) x) x (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1/6 binary32))) (pow.f32 s #s(literal 3 binary32))) |
(/ (+ (* -1/6 (pow x 3)) (* s (+ (* -1 (* s x)) (* 1/2 (pow x 2))))) (pow s 3)) |
(/.f32 (fma.f32 (fma.f32 (neg.f32 x) s (*.f32 (*.f32 #s(literal 1/2 binary32) x) x)) s (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1/6 binary32))) (pow.f32 s #s(literal 3 binary32))) |
(/ (+ (* -1/6 (pow x 3)) (* s (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))))) (pow s 3)) |
(/.f32 (fma.f32 (fma.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s (*.f32 (*.f32 #s(literal 1/2 binary32) x) x)) s (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1/6 binary32))) (pow.f32 s #s(literal 3 binary32))) |
(/ (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))) (pow s 2)) |
(/.f32 (/.f32 (fma.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s (*.f32 (*.f32 #s(literal 1/2 binary32) x) x)) s) s) |
(/ (+ (* -1/6 (pow x 2)) (* 1/2 (* s x))) (pow s 3)) |
(/.f32 (fma.f32 (*.f32 #s(literal 1/2 binary32) s) x (*.f32 (*.f32 #s(literal -1/6 binary32) x) x)) (pow.f32 s #s(literal 3 binary32))) |
(+ (exp (neg (log 2))) (+ (* 1/2 (/ (* x (exp (neg (log 2)))) s)) (/ (* (exp (neg (log 2))) (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/8 (pow x 2)))) (pow s 2)))) |
(fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32)) |
(+ (exp (neg (log 2))) (+ (* 1/2 (/ (* x (exp (neg (log 2)))) s)) (+ (/ (* (exp (neg (log 2))) (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/8 (pow x 2)))) (pow s 2)) (/ (* (exp (neg (log 2))) (+ (* -1/4 (* x (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))))) (+ (* -1/6 (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3))))) (* 1/48 (pow x 3))))) (pow s 3))))) |
(+.f32 (fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32)) (*.f32 (fma.f32 (*.f32 #s(literal -1/4 binary32) (pow.f32 x #s(literal 3 binary32))) #s(literal 1/4 binary32) (fma.f32 #s(literal 0 binary32) x (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1/48 binary32)))) (/.f32 #s(literal 1/2 binary32) (pow.f32 s #s(literal 3 binary32))))) |
(- (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))) (+ (log 2) (* -1/2 (/ x s)))) |
(-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/8 binary32) x) s)) s) x) (log.f32 #s(literal 2 binary32))) |
(- (* -1/6 (/ (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3)))) (pow s 3))) (+ (log 2) (+ (* -1/2 (/ x s)) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))))) |
(-.f32 (*.f32 #s(literal 0 binary32) x) (-.f32 (log.f32 #s(literal 2 binary32)) (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/8 binary32) x) s)) s) x))) |
(+ (log 2) (+ (* -1/2 (/ x s)) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))))) |
(-.f32 (log.f32 #s(literal 2 binary32)) (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/8 binary32) x) s)) s) x)) |
(+ (log 2) (+ (* -1/2 (/ x s)) (+ (* 1/6 (/ (+ (* -1/2 (pow x 3)) (+ (* -1/4 (pow x 3)) (* 3/4 (pow x 3)))) (pow s 3))) (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))))) |
(+.f32 (-.f32 (*.f32 #s(literal 0 binary32) x) (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/8 binary32) x) s)) s) x)) (log.f32 #s(literal 2 binary32))) |
(+ 1 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(-.f32 #s(literal 1 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(+ 1 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 x (/.f32 (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) s) #s(literal -1/6 binary32) (*.f32 (*.f32 #s(literal 1/2 binary32) x) x)) s)) s)) |
(- (+ 1/2 (* -1 (/ (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32)) |
(- (+ 1/2 (* -1 (/ (+ (* -1/24 (pow x 3)) (+ (* 1/16 (pow x 3)) (* 1/2 (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/8 (/ (pow x 2) (pow s 2))) (* 1/8 (/ (pow x 2) (pow s 2)))))) |
(fma.f32 (-.f32 (*.f32 #s(literal 0 binary32) x) (*.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32))) #s(literal -1 binary32) (fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32))) |
(+ 2 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(+ 2 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(-.f32 #s(literal 2 binary32) (/.f32 (-.f32 x (/.f32 (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) s) #s(literal -1/6 binary32) (*.f32 (*.f32 #s(literal 1/2 binary32) x) x)) s)) s)) |
(* s (- (* 1/2 (/ (pow x 2) s)) x)) |
(*.f32 (-.f32 (*.f32 (*.f32 x (/.f32 x s)) #s(literal 1/2 binary32)) x) s) |
(/ (+ (* -1 x) (* 1/2 (/ (pow x 2) s))) s) |
(/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) (neg.f32 s)) |
(/ (+ (* -1/6 (/ (pow x 2) s)) (* 1/2 x)) (pow s 2)) |
(*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 s s)) x) |
(+ (exp (neg (log 2))) (* -1 (/ (+ (* -1 (/ (* (exp (neg (log 2))) (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/8 (pow x 2)))) s)) (* -1/2 (* x (exp (neg (log 2)))))) s))) |
(fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32)) |
(+ (exp (neg (log 2))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (* (exp (neg (log 2))) (+ (* -1/6 (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3))))) (+ (* -1/48 (pow x 3)) (* 1/4 (* x (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))))))) s)) (* (exp (neg (log 2))) (+ (* -1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2)))) (* 1/8 (pow x 2))))) s)) (* -1/2 (* x (exp (neg (log 2)))))) s))) |
(-.f32 #s(literal 1/2 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) x (/.f32 (/.f32 (fma.f32 #s(literal -1/2 binary32) (fma.f32 #s(literal 0 binary32) x (fma.f32 (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1/4 binary32)) #s(literal 1/4 binary32) (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1/48 binary32)))) #s(literal 0 binary32)) s) (neg.f32 s))) s)) |
(- (* -1 (/ (- (* 1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) s)) (* 1/2 x)) s)) (log 2)) |
(-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/8 binary32) x) s)) s) x) (log.f32 #s(literal 2 binary32))) |
(- (* -1 (/ (- (* -1 (/ (- (* 1/6 (/ (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3)))) s)) (* 1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))))) s)) (* 1/2 x)) s)) (log 2)) |
(-.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) x (/.f32 (fma.f32 #s(literal 0 binary32) x (*.f32 #s(literal -1/8 binary32) (*.f32 x x))) s)) s) (log.f32 #s(literal 2 binary32))) |
(+ (log 2) (* -1 (/ (+ (* -1/2 (/ (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))) s)) (* 1/2 x)) s))) |
(-.f32 (log.f32 #s(literal 2 binary32)) (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/8 binary32) x) s)) s) x)) |
(+ (log 2) (* -1 (/ (+ (* -1 (/ (+ (* -1/6 (/ (+ (* -3/4 (pow x 3)) (+ (* 1/4 (pow x 3)) (* 1/2 (pow x 3)))) s)) (* 1/2 (+ (* -1/4 (pow x 2)) (* 1/2 (pow x 2))))) s)) (* 1/2 x)) s))) |
(-.f32 (log.f32 #s(literal 2 binary32)) (/.f32 (fma.f32 #s(literal 1/2 binary32) x (/.f32 (fma.f32 #s(literal 0 binary32) x (*.f32 #s(literal -1/8 binary32) (*.f32 x x))) s)) s)) |
(+ 1 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(-.f32 #s(literal 1 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(+ 1 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(-.f32 #s(literal 1 binary32) (/.f32 (-.f32 x (/.f32 (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) s) #s(literal -1/6 binary32) (*.f32 (*.f32 #s(literal 1/2 binary32) x) x)) s)) s)) |
(+ 1/2 (* -1 (/ (- (+ (* -1/8 (/ (pow x 2) s)) (* 1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32)) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (+ (* -1/16 (/ (pow x 3) s)) (* 1/24 (/ (pow x 3) s)))) (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(-.f32 #s(literal 1/2 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) x (/.f32 (-.f32 (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) s) #s(literal -1/48 binary32) (*.f32 #s(literal 0 binary32) x)) #s(literal 0 binary32)) (neg.f32 s))) s)) |
(+ 2 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(+ 2 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(-.f32 #s(literal 2 binary32) (/.f32 (-.f32 x (/.f32 (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) s) #s(literal -1/6 binary32) (*.f32 (*.f32 #s(literal 1/2 binary32) x) x)) s)) s)) |
(* -1 (* s (- (* -1/2 (/ (pow x 2) s)) (* -1 x)))) |
(*.f32 (neg.f32 s) (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x)) |
(* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s)) |
(/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) (neg.f32 s)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 55 | 350 |
| 0 | 86 | 350 |
| 1 | 297 | 339 |
| 0 | 2212 | 331 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) |
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) |
(/.f32 x s) |
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
#s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))) |
#s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)) |
(-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) |
(/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
#s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)))) |
(+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(neg.f32 x) |
#s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))) |
(*.f32 (*.f32 x x) #s(literal 1/2 binary32)) |
(*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) |
(*.f32 #s(literal -1/6 binary32) x) |
| Outputs |
|---|
(*.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(*.f32 (/.f32 #s(literal 1 binary32) (+.f32 (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 3 binary32))) #s(literal 1 binary32))) (fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(*.f32 (pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal -1/2 binary32)) (pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal -1/2 binary32))) |
(*.f32 #s(literal 1 binary32) (exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))) |
(/.f32 (-.f32 (*.f32 (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (*.f32 (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32))) |
(/.f32 (-.f32 (*.f32 (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (*.f32 (neg.f32 (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (neg.f32 (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))))) (-.f32 (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (neg.f32 (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))))) |
(/.f32 (-.f32 (pow.f32 (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) #s(literal 3 binary32)) (pow.f32 (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) #s(literal 3 binary32))) (fma.f32 (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (fma.f32 (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (*.f32 (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))))) |
(/.f32 (+.f32 (pow.f32 (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) #s(literal 3 binary32)) (pow.f32 (neg.f32 (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) #s(literal 3 binary32))) (fma.f32 (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (-.f32 (*.f32 (neg.f32 (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (neg.f32 (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))) (*.f32 (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (neg.f32 (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))))))) |
(/.f32 #s(literal -1 binary32) (+.f32 (neg.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) |
(/.f32 #s(literal 1 binary32) (neg.f32 (+.f32 (neg.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)))) |
(/.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal 1 binary32))) |
(/.f32 #s(literal 1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32))) |
(-.f32 (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal -1 binary32)) |
(+.f32 (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) (neg.f32 (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))) |
(+.f32 (neg.f32 (sinh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) (cosh.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(exp.f32 (*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) |
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(neg.f32 (/.f32 #s(literal -1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)))) |
(neg.f32 (/.f32 #s(literal 1 binary32) (+.f32 (neg.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)))) |
(log.f32 (exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))) |
(*.f32 #s(literal -1 binary32) (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) |
(-.f32 (log.f32 #s(literal -1 binary32)) (log.f32 (+.f32 (neg.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)))) |
(-.f32 #s(literal 0 binary32) (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) |
(neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))) |
(log.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32))) |
(-.f32 (log.f32 (-.f32 #s(literal 1 binary32) (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))))) (log.f32 (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))) |
(-.f32 (log1p.f32 (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 3 binary32)))) (log1p.f32 (*.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s))))) |
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) |
(*.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
(*.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)) |
(/.f32 (-.f32 (*.f32 (cosh.f32 (/.f32 x s)) (cosh.f32 (/.f32 x s))) (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) (sinh.f32 (/.f32 (neg.f32 x) s)))) (-.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 (neg.f32 x) s)))) |
(/.f32 (+.f32 (pow.f32 (cosh.f32 (/.f32 x s)) #s(literal 3 binary32)) (pow.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 3 binary32))) (fma.f32 (cosh.f32 (/.f32 x s)) (cosh.f32 (/.f32 x s)) (-.f32 (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) (sinh.f32 (/.f32 (neg.f32 x) s))) (*.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 (neg.f32 x) s)))))) |
(/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))) |
(-.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 x s))) |
(fma.f32 (cosh.f32 (/.f32 x s)) #s(literal 1 binary32) (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(fma.f32 #s(literal 1 binary32) (cosh.f32 (/.f32 x s)) (*.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 (neg.f32 x) s)))) |
(+.f32 (*.f32 (cosh.f32 (/.f32 x s)) #s(literal 1 binary32)) (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(+.f32 (*.f32 #s(literal 1 binary32) (cosh.f32 (/.f32 x s))) (*.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 (neg.f32 x) s)))) |
(+.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) (cosh.f32 (/.f32 x s))) |
(+.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 (neg.f32 x) s))) |
(exp.f32 (+.f32 #s(literal 0 binary32) (/.f32 (neg.f32 x) s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(/.f32 (-.f32 #s(literal 1/4 binary32) (pow.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 2 binary32))) (-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
(/.f32 (neg.f32 (fma.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal -1/4 binary32))) (neg.f32 (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 1/2 binary32)))) |
(/.f32 (neg.f32 (fma.f32 #s(literal 1/64 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 1/8 binary32))) (neg.f32 (-.f32 (fma.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal 1/4 binary32)) (*.f32 (/.f32 x s) #s(literal 1/8 binary32))))) |
(/.f32 (fma.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal -1/4 binary32)) (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 1/2 binary32))) |
(/.f32 (fma.f32 #s(literal 1/64 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 1/8 binary32)) (+.f32 #s(literal 1/4 binary32) (-.f32 (pow.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 2 binary32)) (*.f32 (/.f32 x s) #s(literal 1/8 binary32))))) |
(/.f32 (fma.f32 #s(literal 1/64 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 1/8 binary32)) (-.f32 (fma.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal 1/4 binary32)) (*.f32 (/.f32 x s) #s(literal 1/8 binary32)))) |
(-.f32 (/.f32 (pow.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 2 binary32)) (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 1/2 binary32))) (/.f32 #s(literal 1/4 binary32) (-.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 1/2 binary32)))) |
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/4 binary32) (/.f32 x s))) |
(-.f32 #s(literal 1/2 binary32) (*.f32 (/.f32 (neg.f32 x) s) #s(literal 1/4 binary32))) |
(fma.f32 (*.f32 (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 1/2 binary32) #s(literal 1/2 binary32)) |
(fma.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) (/.f32 x s)) #s(literal 1/2 binary32)) |
(fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)) |
(fma.f32 x (/.f32 #s(literal 1/4 binary32) s) #s(literal 1/2 binary32)) |
(+.f32 (/.f32 (pow.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 3 binary32)) (-.f32 (fma.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal 1/4 binary32)) (*.f32 (/.f32 x s) #s(literal 1/8 binary32)))) (/.f32 #s(literal 1/8 binary32) (-.f32 (fma.f32 #s(literal 1/16 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) #s(literal 1/4 binary32)) (*.f32 (/.f32 x s) #s(literal 1/8 binary32))))) |
(+.f32 (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) #s(literal 1/2 binary32)) |
(+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/4 binary32) (/.f32 x s))) |
(/.f32 (neg.f32 x) (neg.f32 s)) |
(/.f32 x (neg.f32 (neg.f32 s))) |
(/.f32 x s) |
(neg.f32 (/.f32 (neg.f32 x) s)) |
(/.f32 (-.f32 (*.f32 (/.f32 (*.f32 #s(literal 2 binary32) s) s) (/.f32 (*.f32 #s(literal 2 binary32) s) s)) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) (fma.f32 #s(literal 2 binary32) (/.f32 s s) (/.f32 x s))) |
(/.f32 (-.f32 (pow.f32 (/.f32 (*.f32 #s(literal 2 binary32) s) s) #s(literal 3 binary32)) (pow.f32 (/.f32 x s) #s(literal 3 binary32))) (fma.f32 (/.f32 (*.f32 #s(literal 2 binary32) s) s) (/.f32 (*.f32 #s(literal 2 binary32) s) s) (+.f32 (pow.f32 (/.f32 x s) #s(literal 2 binary32)) (*.f32 (/.f32 (*.f32 #s(literal 2 binary32) s) s) (/.f32 x s))))) |
(/.f32 (neg.f32 (neg.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x))) (neg.f32 (neg.f32 s))) |
(/.f32 (-.f32 (*.f32 (*.f32 #s(literal 2 binary32) s) (neg.f32 s)) (*.f32 s (neg.f32 x))) (*.f32 (neg.f32 s) s)) |
(/.f32 (-.f32 (*.f32 (*.f32 #s(literal 2 binary32) s) s) (*.f32 s x)) (*.f32 s s)) |
(/.f32 (-.f32 (*.f32 #s(literal 4 binary32) (*.f32 s s)) (*.f32 x x)) (*.f32 (fma.f32 #s(literal 2 binary32) s x) s)) |
(/.f32 (-.f32 (pow.f32 (*.f32 #s(literal 2 binary32) s) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32))) (*.f32 (fma.f32 #s(literal 4 binary32) (*.f32 s s) (*.f32 x (fma.f32 #s(literal 2 binary32) s x))) s)) |
(/.f32 (neg.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x)) (neg.f32 s)) |
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s) |
(-.f32 (/.f32 (*.f32 #s(literal 2 binary32) s) s) (/.f32 x s)) |
(neg.f32 (/.f32 (neg.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x)) s)) |
(neg.f32 (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) (neg.f32 s))) |
(*.f32 (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))) #s(literal -1/2 binary32)) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))) #s(literal -1/2 binary32))) |
(*.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))))) |
(/.f32 #s(literal -1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))))) |
(/.f32 #s(literal 1 binary32) (neg.f32 (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))))) |
(/.f32 #s(literal 1 binary32) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))) #s(literal 1 binary32))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
(pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))) #s(literal -1 binary32)) |
(exp.f32 (*.f32 (log.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) #s(literal -1 binary32))) |
(neg.f32 (/.f32 #s(literal -1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))))) |
(neg.f32 (/.f32 #s(literal 1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))))) |
#s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s))) |
#s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)) |
(*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) |
(/.f32 (fma.f32 (pow.f32 (*.f32 x x) #s(literal 3 binary32)) #s(literal 1/8 binary32) (pow.f32 (*.f32 (neg.f32 s) x) #s(literal 3 binary32))) (+.f32 (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 2 binary32)) (-.f32 (pow.f32 (*.f32 s x) #s(literal 2 binary32)) (*.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 (neg.f32 s) x))))) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 2 binary32)) (pow.f32 (*.f32 s x) #s(literal 2 binary32)))) (neg.f32 (*.f32 x (fma.f32 #s(literal 1/2 binary32) x s)))) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 3 binary32)) (pow.f32 (*.f32 s x) #s(literal 3 binary32)))) (neg.f32 (fma.f32 (*.f32 s x) (*.f32 x (fma.f32 #s(literal 1/2 binary32) x s)) (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 2 binary32))))) |
(/.f32 (-.f32 (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 2 binary32)) (pow.f32 (*.f32 s x) #s(literal 2 binary32))) (*.f32 x (fma.f32 #s(literal 1/2 binary32) x s))) |
(/.f32 (-.f32 (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 3 binary32)) (pow.f32 (*.f32 s x) #s(literal 3 binary32))) (fma.f32 (*.f32 s x) (*.f32 x (fma.f32 #s(literal 1/2 binary32) x s)) (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 2 binary32)))) |
(-.f32 (/.f32 (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 2 binary32)) (*.f32 x (fma.f32 #s(literal 1/2 binary32) x s))) (/.f32 (pow.f32 (*.f32 s x) #s(literal 2 binary32)) (*.f32 x (fma.f32 #s(literal 1/2 binary32) x s)))) |
(-.f32 (/.f32 (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 3 binary32)) (fma.f32 (*.f32 s x) (*.f32 x (fma.f32 #s(literal 1/2 binary32) x s)) (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 2 binary32)))) (/.f32 (pow.f32 (*.f32 s x) #s(literal 3 binary32)) (fma.f32 (*.f32 s x) (*.f32 x (fma.f32 #s(literal 1/2 binary32) x s)) (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 2 binary32))))) |
(-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 (neg.f32 (neg.f32 s)) x)) |
(-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) |
(fma.f32 (*.f32 #s(literal 1/2 binary32) (fabs.f32 x)) (fabs.f32 x) (*.f32 (neg.f32 x) s)) |
(fma.f32 (*.f32 #s(literal 1/2 binary32) (fabs.f32 x)) (fabs.f32 x) (*.f32 (neg.f32 s) x)) |
(fma.f32 (*.f32 #s(literal 1/2 binary32) (neg.f32 x)) (neg.f32 x) (*.f32 (neg.f32 x) s)) |
(fma.f32 (*.f32 #s(literal 1/2 binary32) (neg.f32 x)) (neg.f32 x) (*.f32 (neg.f32 s) x)) |
(fma.f32 (*.f32 #s(literal 1/2 binary32) x) x (*.f32 (neg.f32 x) s)) |
(fma.f32 (*.f32 #s(literal 1/2 binary32) x) x (*.f32 (neg.f32 s) x)) |
(fma.f32 (neg.f32 s) x (*.f32 (*.f32 x x) #s(literal 1/2 binary32))) |
(fma.f32 (fabs.f32 x) (*.f32 (fabs.f32 x) #s(literal 1/2 binary32)) (*.f32 (neg.f32 x) s)) |
(fma.f32 (fabs.f32 x) (*.f32 (fabs.f32 x) #s(literal 1/2 binary32)) (*.f32 (neg.f32 s) x)) |
(fma.f32 (*.f32 x x) #s(literal 1/2 binary32) (*.f32 (neg.f32 x) s)) |
(fma.f32 (*.f32 x x) #s(literal 1/2 binary32) (*.f32 (neg.f32 s) x)) |
(fma.f32 #s(literal 1/2 binary32) (*.f32 x x) (*.f32 (neg.f32 x) s)) |
(fma.f32 #s(literal 1/2 binary32) (*.f32 x x) (*.f32 (neg.f32 s) x)) |
(fma.f32 (neg.f32 x) (*.f32 (neg.f32 x) #s(literal 1/2 binary32)) (*.f32 (neg.f32 x) s)) |
(fma.f32 (neg.f32 x) (*.f32 (neg.f32 x) #s(literal 1/2 binary32)) (*.f32 (neg.f32 s) x)) |
(fma.f32 x (*.f32 #s(literal 1/2 binary32) x) (*.f32 (neg.f32 x) s)) |
(fma.f32 x (*.f32 #s(literal 1/2 binary32) x) (*.f32 (neg.f32 s) x)) |
(fma.f32 x (neg.f32 s) (*.f32 (*.f32 x x) #s(literal 1/2 binary32))) |
(+.f32 (*.f32 (neg.f32 s) x) (*.f32 (*.f32 x x) #s(literal 1/2 binary32))) |
(+.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 (neg.f32 x) s)) |
(+.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 (neg.f32 s) x)) |
(/.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (neg.f32 s)) (neg.f32 s)) |
(/.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (fabs.f32 s)) (fabs.f32 s)) |
(/.f32 (-.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) (*.f32 #s(literal 1/2 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)))) (*.f32 (*.f32 (/.f32 s s) (/.f32 x s)) (*.f32 (/.f32 s s) (/.f32 x s)))) (fma.f32 #s(literal 1/2 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) (*.f32 (/.f32 s s) (/.f32 x s)))) |
(/.f32 (-.f32 (pow.f32 (*.f32 #s(literal 1/2 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) #s(literal 3 binary32)) (pow.f32 (*.f32 (/.f32 s s) (/.f32 x s)) #s(literal 3 binary32))) (fma.f32 (*.f32 #s(literal 1/2 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) (*.f32 #s(literal 1/2 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) (fma.f32 (*.f32 (/.f32 s s) (/.f32 x s)) (*.f32 (/.f32 s s) (/.f32 x s)) (*.f32 (*.f32 #s(literal 1/2 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) (*.f32 (/.f32 s s) (/.f32 x s)))))) |
(/.f32 (neg.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) s)) (neg.f32 s)) |
(/.f32 (neg.f32 (neg.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)))) (*.f32 s s)) |
(/.f32 (-.f32 (*.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s s)) (*.f32 (*.f32 s s) (*.f32 s x))) (*.f32 (*.f32 s s) (*.f32 s s))) |
(/.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) s) s) |
(/.f32 (-.f32 (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 2 binary32)) (pow.f32 (*.f32 s x) #s(literal 2 binary32))) (*.f32 (*.f32 x (fma.f32 #s(literal 1/2 binary32) x s)) (*.f32 s s))) |
(/.f32 (-.f32 (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 3 binary32)) (pow.f32 (*.f32 s x) #s(literal 3 binary32))) (*.f32 (fma.f32 (*.f32 s x) (*.f32 x (fma.f32 #s(literal 1/2 binary32) x s)) (pow.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) #s(literal 2 binary32))) (*.f32 s s))) |
(/.f32 (neg.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s))) (*.f32 (neg.f32 s) s)) |
(/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s)) |
(-.f32 (*.f32 #s(literal 1/2 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) (*.f32 (/.f32 s s) (/.f32 x s))) |
(fma.f32 (/.f32 (*.f32 x x) (neg.f32 s)) (/.f32 #s(literal 1/2 binary32) (neg.f32 s)) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s))) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) (neg.f32 s)) (/.f32 (*.f32 x x) (neg.f32 s)) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s))) |
(fma.f32 (/.f32 (*.f32 x x) (fabs.f32 s)) (/.f32 #s(literal 1/2 binary32) (fabs.f32 s)) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s))) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) (fabs.f32 s)) (/.f32 (*.f32 x x) (fabs.f32 s)) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s))) |
(fma.f32 (/.f32 (*.f32 x x) s) (/.f32 #s(literal 1/2 binary32) s) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s))) |
(fma.f32 (/.f32 x (fabs.f32 s)) (/.f32 (*.f32 #s(literal 1/2 binary32) x) (fabs.f32 s)) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s))) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) s) (/.f32 (*.f32 x x) s) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s))) |
(fma.f32 (*.f32 x x) (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s))) |
(fma.f32 #s(literal 1/2 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s))) |
(fma.f32 (/.f32 x s) (/.f32 (*.f32 #s(literal 1/2 binary32) x) s) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s))) |
(fma.f32 (/.f32 (neg.f32 x) s) (/.f32 (*.f32 #s(literal 1/2 binary32) x) (neg.f32 s)) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s))) |
(fma.f32 x (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s))) |
(+.f32 (*.f32 #s(literal 1/2 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32))) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s))) |
(neg.f32 (/.f32 (neg.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s))) (*.f32 s s))) |
(neg.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 (neg.f32 s) s))) |
(*.f32 (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s)))) #s(literal -1/2 binary32)) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s)))) #s(literal -1/2 binary32))) |
(*.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s)))))) |
(/.f32 #s(literal -1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s)))))) |
(/.f32 #s(literal 1 binary32) (neg.f32 (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))))) |
(/.f32 #s(literal 1 binary32) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s)))) #s(literal 1 binary32))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) |
(pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s)))) #s(literal -1 binary32)) |
(exp.f32 (*.f32 (log.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) #s(literal -1 binary32))) |
(neg.f32 (/.f32 #s(literal -1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s)))))) |
(neg.f32 (/.f32 #s(literal 1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))))) |
#s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s)))) |
(/.f32 (-.f32 (pow.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) #s(literal 2 binary32)) #s(literal 1/4 binary32)) (-.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) #s(literal 1/2 binary32))) |
(/.f32 (neg.f32 (-.f32 #s(literal 1/4 binary32) (pow.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) #s(literal 2 binary32)))) (neg.f32 (-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))))) |
(/.f32 (neg.f32 (fma.f32 #s(literal -1/216 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 1/8 binary32))) (neg.f32 (fma.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) (-.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) #s(literal 1/2 binary32)) #s(literal 1/4 binary32)))) |
(/.f32 (-.f32 #s(literal 1/4 binary32) (pow.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) #s(literal 2 binary32))) (-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/6 binary32) (/.f32 x s)))) |
(/.f32 (fma.f32 #s(literal -1/216 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 1/8 binary32)) (fma.f32 #s(literal 1/36 binary32) (pow.f32 (/.f32 x s) #s(literal 2 binary32)) (-.f32 #s(literal 1/4 binary32) (*.f32 #s(literal -1/12 binary32) (/.f32 x s))))) |
(/.f32 (fma.f32 #s(literal -1/216 binary32) (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 1/8 binary32)) (fma.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) (-.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) #s(literal 1/2 binary32)) #s(literal 1/4 binary32))) |
(-.f32 (/.f32 #s(literal 1/4 binary32) (-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/6 binary32) (/.f32 x s)))) (/.f32 (pow.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) #s(literal 2 binary32)) (-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))))) |
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/6 binary32) (/.f32 x s))) |
(fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(fma.f32 (/.f32 x s) #s(literal -1/6 binary32) #s(literal 1/2 binary32)) |
(fma.f32 x (/.f32 #s(literal -1/6 binary32) s) #s(literal 1/2 binary32)) |
(+.f32 (/.f32 #s(literal 1/8 binary32) (fma.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) (-.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) #s(literal 1/2 binary32)) #s(literal 1/4 binary32))) (/.f32 (pow.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) #s(literal 3 binary32)) (fma.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) (-.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) #s(literal 1/2 binary32)) #s(literal 1/4 binary32)))) |
(+.f32 (*.f32 #s(literal -1/6 binary32) (/.f32 x s)) #s(literal 1/2 binary32)) |
(+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) |
(*.f32 (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) #s(literal -1/2 binary32)) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) #s(literal -1/2 binary32))) |
(*.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))))) |
(/.f32 #s(literal -1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))))) |
(/.f32 #s(literal 1 binary32) (neg.f32 (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))))) |
(/.f32 #s(literal 1 binary32) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) #s(literal 1 binary32))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) #s(literal -1 binary32)) |
(exp.f32 (*.f32 (log.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) #s(literal -1 binary32))) |
(neg.f32 (/.f32 #s(literal -1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))))) |
(neg.f32 (/.f32 #s(literal 1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(/.f32 (-.f32 #s(literal 4 binary32) (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x))) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) #s(literal 4 binary32))) (neg.f32 (-.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)))) |
(/.f32 (neg.f32 (+.f32 (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 3 binary32)) #s(literal 8 binary32))) (neg.f32 (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x)) (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))))) |
(/.f32 (-.f32 (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) #s(literal 4 binary32)) (-.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))) |
(/.f32 (+.f32 (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 3 binary32)) #s(literal 8 binary32)) (+.f32 #s(literal 4 binary32) (-.f32 (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) (*.f32 x #s(literal 2 binary32)))))) |
(/.f32 (+.f32 (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 3 binary32)) #s(literal 8 binary32)) (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x)) (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)))) |
(-.f32 (/.f32 (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) (-.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))) (/.f32 #s(literal 4 binary32) (-.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)))) |
(-.f32 #s(literal 2 binary32) (*.f32 (neg.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s))) x)) |
(-.f32 #s(literal 2 binary32) (*.f32 (neg.f32 x) (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)))) |
(fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(fma.f32 x (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) #s(literal 2 binary32)) |
(+.f32 (fma.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 1 binary32)) #s(literal 1 binary32)) |
(+.f32 (/.f32 (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 3 binary32)) (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x)) (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)))) (/.f32 #s(literal 8 binary32) (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x)) (pow.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))))) |
(+.f32 (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) |
(+.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x)) |
(+.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (*.f32 (-.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) (/.f32 #s(literal 1 binary32) s)) x))) |
(neg.f32 x) |
#s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))) |
(*.f32 (*.f32 #s(literal 1/2 binary32) (fabs.f32 x)) (fabs.f32 x)) |
(*.f32 (*.f32 #s(literal 1/2 binary32) (neg.f32 x)) (neg.f32 x)) |
(*.f32 (*.f32 #s(literal 1/2 binary32) x) x) |
(*.f32 (fabs.f32 x) (*.f32 (fabs.f32 x) #s(literal 1/2 binary32))) |
(*.f32 (*.f32 x x) #s(literal 1/2 binary32)) |
(*.f32 #s(literal 1/2 binary32) (*.f32 x x)) |
(*.f32 (neg.f32 x) (*.f32 (neg.f32 x) #s(literal 1/2 binary32))) |
(*.f32 x (*.f32 #s(literal 1/2 binary32) x)) |
(*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (neg.f32 s)) (/.f32 (neg.f32 x) s)) |
(*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (fabs.f32 s)) (/.f32 x (fabs.f32 s))) |
(*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) (/.f32 x s)) |
(*.f32 (/.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) s) x) |
(*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (/.f32 x (*.f32 s s))) |
(*.f32 x (/.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) s)) |
(/.f32 (/.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) x) (neg.f32 s)) (neg.f32 s)) |
(/.f32 (/.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) x) (fabs.f32 s)) (fabs.f32 s)) |
(/.f32 (/.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) x) s) s) |
(/.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) x) s) |
(/.f32 (*.f32 (neg.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32))) x) (*.f32 (neg.f32 s) s)) |
(/.f32 (*.f32 x (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s)) s) |
(/.f32 (*.f32 x (neg.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)))) (*.f32 (neg.f32 s) s)) |
(/.f32 (neg.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) x)) (*.f32 (neg.f32 s) s)) |
(/.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) x) (*.f32 s s)) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) (neg.f32 s)) (/.f32 (neg.f32 x) s) (*.f32 (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)) x)) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) (neg.f32 s)) (/.f32 (neg.f32 x) s) (*.f32 x (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)))) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) (fabs.f32 s)) (/.f32 x (fabs.f32 s)) (*.f32 (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)) x)) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) (fabs.f32 s)) (/.f32 x (fabs.f32 s)) (*.f32 x (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)))) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) s) (/.f32 x s) (*.f32 (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)) x)) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) s) (/.f32 x s) (*.f32 x (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)))) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x (*.f32 (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)) x)) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x (*.f32 x (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)))) |
(fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (*.f32 (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)) x)) |
(fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (*.f32 x (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)))) |
(fma.f32 x (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) (*.f32 (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)) x)) |
(fma.f32 x (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) (*.f32 x (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)))) |
(+.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (*.f32 (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)) x)) |
(+.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (*.f32 x (*.f32 (/.f32 #s(literal -1/6 binary32) s) (/.f32 (/.f32 x s) s)))) |
(*.f32 #s(literal -1/6 binary32) x) |
(*.f32 x #s(literal -1/6 binary32)) |
Compiled 11 179 to 1 664 computations (85.1% saved)
28 alts after pruning (20 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 317 | 12 | 329 |
| Fresh | 1 | 8 | 9 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 5 | 5 |
| Total | 320 | 28 | 348 |
| Status | Accuracy | Program |
|---|---|---|
| 65.1% | (/.f32 #s(literal 1 binary32) (/.f32 (expm1.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))) (expm1.f32 (/.f32 (neg.f32 x) s)))) | |
| ▶ | 99.7% | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))))) |
| ✓ | 99.7% | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 55.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) x) (*.f32 s s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) | |
| 57.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) x) s) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) | |
| 55.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) | |
| ▶ | 56.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
| ✓ | 53.9% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
| ▶ | 55.6% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
| 39.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) | |
| 51.6% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) | |
| ✓ | 39.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
| ✓ | 39.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
| 16.2% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) | |
| 28.8% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (fma.f32 (/.f32 x s) (/.f32 (*.f32 #s(literal 1/2 binary32) x) s) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s)))))) | |
| 26.9% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) s) s)))) | |
| 12.6% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s s)) (*.f32 (*.f32 s s) (*.f32 s x))) (*.f32 (*.f32 s s) (*.f32 s s)))))) | |
| 30.9% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) | |
| 22.2% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) | |
| 32.3% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32))))) | |
| 43.7% | (*.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) | |
| ✓ | 99.8% | (exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
| ✓ | 27.9% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)))) |
| ✓ | 31.0% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
| 30.9% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) | |
| ▶ | 30.8% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
| ▶ | 7.1% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
| ✓ | 37.1% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
Compiled 1 315 to 951 computations (27.7% saved)
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) | |
| cost-diff | 0 | (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) | |
| cost-diff | 0 | #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) | |
| cost-diff | 0 | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) | |
| cost-diff | 0 | #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) | |
| cost-diff | 0 | (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)) | |
| cost-diff | 0 | #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))) | |
| cost-diff | 0 | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) | |
| cost-diff | 0 | (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) | |
| cost-diff | 0 | (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x) | |
| cost-diff | 0 | #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x)) | |
| cost-diff | 0 | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) | |
| cost-diff | 0 | (/.f32 x s) | |
| cost-diff | 0 | (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) | |
| cost-diff | 0 | #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s))) | |
| cost-diff | 0 | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) | |
| cost-diff | 0 | (exp.f32 (/.f32 x s)) | |
| cost-diff | 0 | (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s)))) | |
| cost-diff | 0 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))))) | |
| cost-diff | 1 | (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 56 | 468 |
| 0 | 82 | 465 |
| 1 | 130 | 465 |
| 2 | 247 | 465 |
| 3 | 593 | 465 |
| 4 | 1671 | 465 |
| 0 | 9365 | 454 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))))) |
#s(literal 1 binary32) |
(+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))) |
(exp.f32 (/.f32 x s)) |
(/.f32 x s) |
x |
s |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s))) |
(*.f32 #s(literal 1/4 binary32) (/.f32 x s)) |
#s(literal 1/4 binary32) |
(/.f32 x s) |
x |
s |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
#s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x)) |
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x) |
(-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) |
(/.f32 #s(literal 1/2 binary32) x) |
#s(literal 1/2 binary32) |
x |
(/.f32 #s(literal -1/4 binary32) s) |
#s(literal -1/4 binary32) |
s |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))) |
(fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)) |
#s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) |
(/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) |
(/.f32 #s(literal 1/2 binary32) s) |
#s(literal 1/2 binary32) |
s |
x |
#s(literal -1 binary32) |
#s(literal 2 binary32) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) |
(*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) |
(/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) |
#s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) |
(*.f32 #s(literal -1/6 binary32) (/.f32 x s)) |
#s(literal -1/6 binary32) |
(/.f32 x s) |
x |
s |
(*.f32 s s) |
(/.f32 #s(literal 1 binary32) s) |
#s(literal 2 binary32) |
| Outputs |
|---|
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))))) |
(/.f32 #s(literal 1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32))) |
#s(literal 1 binary32) |
(+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s)))) |
(-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) |
(/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(exp.f32 (/.f32 x s)) |
(/.f32 x s) |
x |
s |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s))) |
(*.f32 #s(literal 1/4 binary32) (/.f32 x s)) |
#s(literal 1/4 binary32) |
(/.f32 x s) |
x |
s |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
#s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x)) |
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x) |
(-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) |
(/.f32 #s(literal 1/2 binary32) x) |
#s(literal 1/2 binary32) |
x |
(/.f32 #s(literal -1/4 binary32) s) |
#s(literal -1/4 binary32) |
s |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))) |
(fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)) |
#s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) |
(/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) |
(/.f32 #s(literal 1/2 binary32) s) |
#s(literal 1/2 binary32) |
s |
x |
#s(literal -1 binary32) |
#s(literal 2 binary32) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (/.f32 x s) s) #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s)))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
#s(literal 1 binary32) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (/.f32 x s) s) #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s)))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(fma.f32 (-.f32 (*.f32 (/.f32 (/.f32 x s) s) #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s)))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) |
(-.f32 (*.f32 (/.f32 (/.f32 x s) s) #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s)))) (/.f32 #s(literal 1 binary32) s)) |
(*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) |
(*.f32 (/.f32 (/.f32 x s) s) #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s)))) |
(/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) |
#s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) |
(*.f32 #s(literal -1/6 binary32) (/.f32 x s)) |
#s(literal -1/6 binary32) |
(/.f32 x s) |
x |
s |
(*.f32 s s) |
(/.f32 #s(literal 1 binary32) s) |
#s(literal 2 binary32) |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 1.2326525097919316 | (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) | |
| accuracy | 3.9185176940304265 | (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) | |
| accuracy | 9.253398062973378 | #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) | |
| accuracy | 14.258895026044154 | #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) | |
| accuracy | 0.06640625 | (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s) | |
| accuracy | 0.10100773826221708 | (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) | |
| accuracy | 1.39090037434391 | (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)) | |
| accuracy | 13.636092003738074 | #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))) | |
| accuracy | 0.0 | #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x)) | |
| accuracy | 0.0625 | (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) | |
| accuracy | 0.1484375 | (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x) | |
| accuracy | 13.560098766350547 | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) | |
| accuracy | 0.0 | (/.f32 x s) | |
| accuracy | 0.1795117448317225 | (*.f32 #s(literal 1/4 binary32) (/.f32 x s)) | |
| accuracy | 9.183592560700985 | #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s))) | |
| accuracy | 13.560098766350547 | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) | |
| accuracy | 0.0234375 | (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s)))) | |
| accuracy | 0.03869879138909578 | (exp.f32 (/.f32 x s)) | |
| accuracy | 0.06081974847004277 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))))) | |
| accuracy | 0.11193469781558595 | (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))) |
| 80.0ms | 185× | 0 | valid |
| 21.0ms | 71× | 0 | exit |
Compiled 276 to 48 computations (82.6% saved)
ival-mult: 38.0ms (45.5% of total)ival-div: 24.0ms (28.7% of total)ival-add: 8.0ms (9.6% of total)ival-exp: 4.0ms (4.8% of total)const: 4.0ms (4.8% of total)ival-sub: 3.0ms (3.6% of total)exact: 1.0ms (1.2% of total)ival-neg: 1.0ms (1.2% of total)adjust: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)| Inputs |
|---|
(/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))))) |
(+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s)))) |
(exp.f32 (/.f32 x s)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s))) |
(*.f32 #s(literal 1/4 binary32) (/.f32 x s)) |
(/.f32 x s) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
#s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x)) |
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x) |
(-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))) |
(fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)) |
#s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) |
(/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s) |
#s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) |
(*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) |
| Outputs |
|---|
1 |
(+ 1 (* -1 (/ x s))) |
(+ 1 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 1 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
1/2 |
(+ 1/2 (* 1/4 (/ x s))) |
(+ 1/2 (* x (+ (* -1/48 (/ (pow x 2) (pow s 3))) (* 1/4 (/ 1 s))))) |
(+ 1/2 (* x (+ (* (pow x 2) (- (* 1/480 (/ (pow x 2) (pow s 5))) (* 1/48 (/ 1 (pow s 3))))) (* 1/4 (/ 1 s))))) |
2 |
(+ 2 (* -1 (/ x s))) |
(+ 2 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 2 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(+ 1 (/ x s)) |
(+ 1 (* x (+ (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 1 (* x (+ (* x (+ (* 1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(* 1/4 (/ x s)) |
(/ x s) |
(/ 1/2 x) |
(/ (+ 1/2 (* 1/4 (/ x s))) x) |
(/ -1 s) |
(- (* 1/2 (/ x (pow s 2))) (/ 1 s)) |
(- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)) |
-1 |
(- (* 1/2 (/ x s)) 1) |
(+ 1/2 (* -1/6 (/ x s))) |
(* 1/2 (/ x (pow s 2))) |
(* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) |
(/ 1 (exp (/ x s))) |
(/ 1 (+ 1 (/ 1 (exp (/ x s))))) |
(+ 1 (/ 1 (exp (/ x s)))) |
(exp (/ x s)) |
(/ 1 (+ 1 (exp (* -1 (/ x s))))) |
(* x (+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x)))) |
(/ 1/4 s) |
(+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x))) |
(+ 1 (exp (* -1 (/ x s)))) |
(* 1/2 (/ (pow x 2) (pow s 2))) |
(* (pow x 2) (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(* (pow x 2) (- (+ (* 1/2 (/ 1 (pow s 2))) (/ 2 (pow x 2))) (/ 1 (* s x)))) |
(* x (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(* -1/6 (/ (pow x 3) (pow s 3))) |
(* (pow x 3) (- (* 1/2 (/ 1 (* (pow s 2) x))) (* 1/6 (/ 1 (pow s 3))))) |
(* (pow x 3) (- (/ 1/2 (* (pow s 2) x)) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(* (pow x 3) (- (+ (/ 1/2 (* (pow s 2) x)) (* 2 (/ 1 (pow x 3)))) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(* -1/6 (/ (pow x 2) (pow s 3))) |
(* (pow x 2) (- (* 1/2 (/ 1 (* (pow s 2) x))) (* 1/6 (/ 1 (pow s 3))))) |
(* (pow x 2) (- (/ 1/2 (* (pow s 2) x)) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(* 1/2 (/ x s)) |
(* x (- (* 1/2 (/ 1 s)) (/ 1 x))) |
(* -1/6 (/ x s)) |
(* x (- (* 1/2 (/ 1 x)) (* 1/6 (/ 1 s)))) |
(* (pow x 2) (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2))))) |
(* -1 (* x (- (/ 1 (* s x)) (* 1/2 (/ 1 (pow s 2)))))) |
(* -1 (* (pow x 3) (- (* 1/6 (/ 1 (pow s 3))) (* 1/2 (/ 1 (* (pow s 2) x)))))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x))) x)) (* 1/6 (/ 1 (pow s 3)))))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2)))) x)) (* 1/6 (/ 1 (pow s 3)))))) |
(* (pow x 2) (- (* -1 (/ (- (/ 1 (* s x)) (* 1/2 (/ 1 (pow s 2)))) x)) (* 1/6 (/ 1 (pow s 3))))) |
(* -1 (* x (- (/ 1 x) (* 1/2 (/ 1 s))))) |
(* -1 (* x (- (* 1/6 (/ 1 s)) (* 1/2 (/ 1 x))))) |
(/ (+ (* 1/4 x) (* 1/2 s)) s) |
(/ (+ 1/4 (* 1/2 (/ s x))) s) |
(/ (+ (* -1 (* s x)) (* 1/2 (pow x 2))) (pow s 2)) |
(/ (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))) (pow s 2)) |
(/ (+ (* -1 s) (* 1/2 x)) (pow s 2)) |
(/ (+ (* -1/6 (pow x 3)) (* 1/2 (* s (pow x 2)))) (pow s 3)) |
(/ (+ (* -1/6 (pow x 3)) (* s (+ (* -1 (* s x)) (* 1/2 (pow x 2))))) (pow s 3)) |
(/ (+ (* -1/6 (pow x 3)) (* s (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))))) (pow s 3)) |
(/ (+ (* -1/6 (pow x 2)) (* 1/2 (* s x))) (pow s 3)) |
(/ (+ (* -1/6 (pow x 2)) (* s (+ (* -1 s) (* 1/2 x)))) (pow s 3)) |
(/ (+ (* -1 s) (* 1/2 x)) s) |
(/ (+ (* -1/6 x) (* 1/2 s)) s) |
(- (+ 1 (* -1 (/ (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))) (/ x s)) |
(- (+ 1 (* -1 (/ (+ (* -1 (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))))) (+ (* -1/2 (pow x 3)) (* 1/6 (pow x 3)))) (pow s 3)))) (+ (* -1 (/ (pow x 2) (pow s 2))) (+ (* 1/2 (/ (pow x 2) (pow s 2))) (/ x s)))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/4 (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) (* -1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/4 (+ (* -1 (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))))) (+ (* -1/2 (pow x 3)) (* 1/6 (pow x 3))))) (+ (* -1/8 (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))))) (* 1/2 (* x (+ (* -1/4 (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) (* -1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/4 (/ (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))) (* -1/8 (/ (pow x 2) (pow s 2)))))) |
(- (+ 2 (* -1 (/ (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))) (/ x s)) |
(- (+ 2 (* -1 (/ (+ (* -1 (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))))) (+ (* -1/2 (pow x 3)) (* 1/6 (pow x 3)))) (pow s 3)))) (+ (* -1 (/ (pow x 2) (pow s 2))) (+ (* 1/2 (/ (pow x 2) (pow s 2))) (/ x s)))) |
(+ 1 (+ (* 1/2 (/ (pow x 2) (pow s 2))) (/ x s))) |
(+ 1 (+ (* 1/6 (/ (pow x 3) (pow s 3))) (+ (* 1/2 (/ (pow x 2) (pow s 2))) (/ x s)))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/24 (pow x 3)) (+ (* 1/16 (pow x 3)) (* 1/2 (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/8 (/ (pow x 2) (pow s 2))) (* 1/8 (/ (pow x 2) (pow s 2)))))) |
(+ 2 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 2 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(/ (- (* 1/2 (/ x s)) 1) s) |
(/ (- (+ (* -1/6 (/ (pow x 2) (pow s 2))) (* 1/2 (/ x s))) 1) s) |
(/ (+ (* -1/6 (/ (pow x 2) s)) (* 1/2 x)) (pow s 2)) |
(+ 1 (* -1 (/ (- (+ (* -1 (/ (pow x 2) s)) (* 1/2 (/ (pow x 2) s))) (* -1 x)) s))) |
(+ 1 (* -1 (/ (- (* -1 (/ (- (+ (* -1/6 (/ (pow x 3) s)) (+ (* 1/2 (/ (pow x 3) s)) (/ (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s))) (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s)) (* -1 x)) s))) |
(+ 1/2 (* -1 (/ (- (+ (* -1/4 (/ (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))) s)) (* -1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/4 (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) (* -1/8 (pow x 2)))) s)) (+ (* -1/4 (/ (+ (* -1/6 (pow x 3)) (+ (* 1/2 (pow x 3)) (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))))) s)) (* 1/8 (/ (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s)))) (+ (* -1/4 (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) (* -1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(+ 2 (* -1 (/ (- (+ (* -1 (/ (pow x 2) s)) (* 1/2 (/ (pow x 2) s))) (* -1 x)) s))) |
(+ 2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/6 (/ (pow x 3) s)) (+ (* 1/2 (/ (pow x 3) s)) (/ (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s))) (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s)) (* -1 x)) s))) |
(+ 1 (* -1 (/ (+ (* -1 x) (* -1/2 (/ (pow x 2) s))) s))) |
(+ 1 (* -1 (/ (+ (* -1 x) (* -1 (/ (+ (* 1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(+ 1/2 (* -1 (/ (- (+ (* -1/8 (/ (pow x 2) s)) (* 1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (+ (* -1/16 (/ (pow x 3) s)) (* 1/24 (/ (pow x 3) s)))) (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(+ 2 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 2 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(* -1 (/ (+ 1 (* -1/2 (/ x s))) s)) |
(* -1 (/ (+ 1 (* -1 (/ (+ (* -1/6 (/ (pow x 2) s)) (* 1/2 x)) s))) s)) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 22.0ms | x | @ | 0 | ((/ 1 (exp (/ x s))) (/ 1 (+ 1 (/ 1 (exp (/ x s))))) (+ 1 (/ 1 (exp (/ x s)))) (exp (/ x s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (* 1/4 (/ x s)) (/ x s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (* (- (/ 1/2 x) (/ -1/4 s)) x) (- (/ 1/2 x) (/ -1/4 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) x) 2) (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) (+ (* (/ 1/2 s) x) -1) (/ (+ (* (/ 1/2 s) x) -1) s) (+ 1/2 (/ (* -1/6 x) s)) (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x)) |
| 18.0ms | s | @ | 0 | ((/ 1 (exp (/ x s))) (/ 1 (+ 1 (/ 1 (exp (/ x s))))) (+ 1 (/ 1 (exp (/ x s)))) (exp (/ x s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (* 1/4 (/ x s)) (/ x s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (* (- (/ 1/2 x) (/ -1/4 s)) x) (- (/ 1/2 x) (/ -1/4 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) x) 2) (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) (+ (* (/ 1/2 s) x) -1) (/ (+ (* (/ 1/2 s) x) -1) s) (+ 1/2 (/ (* -1/6 x) s)) (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x)) |
| 4.0ms | x | @ | -inf | ((/ 1 (exp (/ x s))) (/ 1 (+ 1 (/ 1 (exp (/ x s))))) (+ 1 (/ 1 (exp (/ x s)))) (exp (/ x s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (* 1/4 (/ x s)) (/ x s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (* (- (/ 1/2 x) (/ -1/4 s)) x) (- (/ 1/2 x) (/ -1/4 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) x) 2) (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) (+ (* (/ 1/2 s) x) -1) (/ (+ (* (/ 1/2 s) x) -1) s) (+ 1/2 (/ (* -1/6 x) s)) (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x)) |
| 4.0ms | x | @ | inf | ((/ 1 (exp (/ x s))) (/ 1 (+ 1 (/ 1 (exp (/ x s))))) (+ 1 (/ 1 (exp (/ x s)))) (exp (/ x s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (* 1/4 (/ x s)) (/ x s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (* (- (/ 1/2 x) (/ -1/4 s)) x) (- (/ 1/2 x) (/ -1/4 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) x) 2) (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) (+ (* (/ 1/2 s) x) -1) (/ (+ (* (/ 1/2 s) x) -1) s) (+ 1/2 (/ (* -1/6 x) s)) (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x)) |
| 4.0ms | s | @ | -inf | ((/ 1 (exp (/ x s))) (/ 1 (+ 1 (/ 1 (exp (/ x s))))) (+ 1 (/ 1 (exp (/ x s)))) (exp (/ x s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (* 1/4 (/ x s)) (/ x s) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (* (- (/ 1/2 x) (/ -1/4 s)) x) (- (/ 1/2 x) (/ -1/4 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) x) 2) (- (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x) (/ 1 s)) (+ (* (/ 1/2 s) x) -1) (/ (+ (* (/ 1/2 s) x) -1) s) (+ 1/2 (/ (* -1/6 x) s)) (* (/ (+ 1/2 (/ (* -1/6 x) s)) (* s s)) x)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 389 | 1592 |
| 1 | 1340 | 1371 |
| 2 | 5811 | 1365 |
| 0 | 8381 | 1290 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
1 |
(+ 1 (* -1 (/ x s))) |
(+ 1 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 1 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
1/2 |
(+ 1/2 (* 1/4 (/ x s))) |
(+ 1/2 (* x (+ (* -1/48 (/ (pow x 2) (pow s 3))) (* 1/4 (/ 1 s))))) |
(+ 1/2 (* x (+ (* (pow x 2) (- (* 1/480 (/ (pow x 2) (pow s 5))) (* 1/48 (/ 1 (pow s 3))))) (* 1/4 (/ 1 s))))) |
2 |
(+ 2 (* -1 (/ x s))) |
(+ 2 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 2 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(+ 1 (/ x s)) |
(+ 1 (* x (+ (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(+ 1 (* x (+ (* x (+ (* 1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(* 1/4 (/ x s)) |
(/ x s) |
(/ 1/2 x) |
(/ (+ 1/2 (* 1/4 (/ x s))) x) |
(/ -1 s) |
(- (* 1/2 (/ x (pow s 2))) (/ 1 s)) |
(- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)) |
-1 |
(- (* 1/2 (/ x s)) 1) |
(+ 1/2 (* -1/6 (/ x s))) |
(* 1/2 (/ x (pow s 2))) |
(* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) |
(/ 1 (exp (/ x s))) |
(/ 1 (+ 1 (/ 1 (exp (/ x s))))) |
(+ 1 (/ 1 (exp (/ x s)))) |
(exp (/ x s)) |
(/ 1 (+ 1 (exp (* -1 (/ x s))))) |
(* x (+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x)))) |
(/ 1/4 s) |
(+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x))) |
(+ 1 (exp (* -1 (/ x s)))) |
(* 1/2 (/ (pow x 2) (pow s 2))) |
(* (pow x 2) (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(* (pow x 2) (- (+ (* 1/2 (/ 1 (pow s 2))) (/ 2 (pow x 2))) (/ 1 (* s x)))) |
(* x (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(* -1/6 (/ (pow x 3) (pow s 3))) |
(* (pow x 3) (- (* 1/2 (/ 1 (* (pow s 2) x))) (* 1/6 (/ 1 (pow s 3))))) |
(* (pow x 3) (- (/ 1/2 (* (pow s 2) x)) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(* (pow x 3) (- (+ (/ 1/2 (* (pow s 2) x)) (* 2 (/ 1 (pow x 3)))) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(* -1/6 (/ (pow x 2) (pow s 3))) |
(* (pow x 2) (- (* 1/2 (/ 1 (* (pow s 2) x))) (* 1/6 (/ 1 (pow s 3))))) |
(* (pow x 2) (- (/ 1/2 (* (pow s 2) x)) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(* 1/2 (/ x s)) |
(* x (- (* 1/2 (/ 1 s)) (/ 1 x))) |
(* -1/6 (/ x s)) |
(* x (- (* 1/2 (/ 1 x)) (* 1/6 (/ 1 s)))) |
(* (pow x 2) (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2))))) |
(* -1 (* x (- (/ 1 (* s x)) (* 1/2 (/ 1 (pow s 2)))))) |
(* -1 (* (pow x 3) (- (* 1/6 (/ 1 (pow s 3))) (* 1/2 (/ 1 (* (pow s 2) x)))))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x))) x)) (* 1/6 (/ 1 (pow s 3)))))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2)))) x)) (* 1/6 (/ 1 (pow s 3)))))) |
(* (pow x 2) (- (* -1 (/ (- (/ 1 (* s x)) (* 1/2 (/ 1 (pow s 2)))) x)) (* 1/6 (/ 1 (pow s 3))))) |
(* -1 (* x (- (/ 1 x) (* 1/2 (/ 1 s))))) |
(* -1 (* x (- (* 1/6 (/ 1 s)) (* 1/2 (/ 1 x))))) |
(/ (+ (* 1/4 x) (* 1/2 s)) s) |
(/ (+ 1/4 (* 1/2 (/ s x))) s) |
(/ (+ (* -1 (* s x)) (* 1/2 (pow x 2))) (pow s 2)) |
(/ (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))) (pow s 2)) |
(/ (+ (* -1 s) (* 1/2 x)) (pow s 2)) |
(/ (+ (* -1/6 (pow x 3)) (* 1/2 (* s (pow x 2)))) (pow s 3)) |
(/ (+ (* -1/6 (pow x 3)) (* s (+ (* -1 (* s x)) (* 1/2 (pow x 2))))) (pow s 3)) |
(/ (+ (* -1/6 (pow x 3)) (* s (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))))) (pow s 3)) |
(/ (+ (* -1/6 (pow x 2)) (* 1/2 (* s x))) (pow s 3)) |
(/ (+ (* -1/6 (pow x 2)) (* s (+ (* -1 s) (* 1/2 x)))) (pow s 3)) |
(/ (+ (* -1 s) (* 1/2 x)) s) |
(/ (+ (* -1/6 x) (* 1/2 s)) s) |
(- (+ 1 (* -1 (/ (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))) (/ x s)) |
(- (+ 1 (* -1 (/ (+ (* -1 (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))))) (+ (* -1/2 (pow x 3)) (* 1/6 (pow x 3)))) (pow s 3)))) (+ (* -1 (/ (pow x 2) (pow s 2))) (+ (* 1/2 (/ (pow x 2) (pow s 2))) (/ x s)))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/4 (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) (* -1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/4 (+ (* -1 (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))))) (+ (* -1/2 (pow x 3)) (* 1/6 (pow x 3))))) (+ (* -1/8 (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))))) (* 1/2 (* x (+ (* -1/4 (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) (* -1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/4 (/ (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))) (* -1/8 (/ (pow x 2) (pow s 2)))))) |
(- (+ 2 (* -1 (/ (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))) (/ x s)) |
(- (+ 2 (* -1 (/ (+ (* -1 (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))))) (+ (* -1/2 (pow x 3)) (* 1/6 (pow x 3)))) (pow s 3)))) (+ (* -1 (/ (pow x 2) (pow s 2))) (+ (* 1/2 (/ (pow x 2) (pow s 2))) (/ x s)))) |
(+ 1 (+ (* 1/2 (/ (pow x 2) (pow s 2))) (/ x s))) |
(+ 1 (+ (* 1/6 (/ (pow x 3) (pow s 3))) (+ (* 1/2 (/ (pow x 2) (pow s 2))) (/ x s)))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/24 (pow x 3)) (+ (* 1/16 (pow x 3)) (* 1/2 (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/8 (/ (pow x 2) (pow s 2))) (* 1/8 (/ (pow x 2) (pow s 2)))))) |
(+ 2 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(+ 2 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(/ (- (* 1/2 (/ x s)) 1) s) |
(/ (- (+ (* -1/6 (/ (pow x 2) (pow s 2))) (* 1/2 (/ x s))) 1) s) |
(/ (+ (* -1/6 (/ (pow x 2) s)) (* 1/2 x)) (pow s 2)) |
(+ 1 (* -1 (/ (- (+ (* -1 (/ (pow x 2) s)) (* 1/2 (/ (pow x 2) s))) (* -1 x)) s))) |
(+ 1 (* -1 (/ (- (* -1 (/ (- (+ (* -1/6 (/ (pow x 3) s)) (+ (* 1/2 (/ (pow x 3) s)) (/ (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s))) (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s)) (* -1 x)) s))) |
(+ 1/2 (* -1 (/ (- (+ (* -1/4 (/ (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))) s)) (* -1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/4 (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) (* -1/8 (pow x 2)))) s)) (+ (* -1/4 (/ (+ (* -1/6 (pow x 3)) (+ (* 1/2 (pow x 3)) (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))))) s)) (* 1/8 (/ (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s)))) (+ (* -1/4 (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) (* -1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(+ 2 (* -1 (/ (- (+ (* -1 (/ (pow x 2) s)) (* 1/2 (/ (pow x 2) s))) (* -1 x)) s))) |
(+ 2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/6 (/ (pow x 3) s)) (+ (* 1/2 (/ (pow x 3) s)) (/ (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s))) (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s)) (* -1 x)) s))) |
(+ 1 (* -1 (/ (+ (* -1 x) (* -1/2 (/ (pow x 2) s))) s))) |
(+ 1 (* -1 (/ (+ (* -1 x) (* -1 (/ (+ (* 1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(+ 1/2 (* -1 (/ (- (+ (* -1/8 (/ (pow x 2) s)) (* 1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (+ (* -1/16 (/ (pow x 3) s)) (* 1/24 (/ (pow x 3) s)))) (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(+ 2 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(+ 2 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(* -1 (/ (+ 1 (* -1/2 (/ x s))) s)) |
(* -1 (/ (+ 1 (* -1 (/ (+ (* -1/6 (/ (pow x 2) s)) (* 1/2 x)) s))) s)) |
| Outputs |
|---|
1 |
#s(literal 1 binary32) |
(+ 1 (* -1 (/ x s))) |
(-.f32 #s(literal 1 binary32) (/.f32 x s)) |
(+ 1 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(fma.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) (/.f32 x s)) #s(literal 1 binary32)) s) x #s(literal 1 binary32)) |
(+ 1 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(fma.f32 (/.f32 (-.f32 (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/6 binary32) (*.f32 #s(literal 1/2 binary32) x)) s) #s(literal 1 binary32)) s) x #s(literal 1 binary32)) |
1/2 |
#s(literal 1/2 binary32) |
(+ 1/2 (* 1/4 (/ x s))) |
(fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(+ 1/2 (* x (+ (* -1/48 (/ (pow x 2) (pow s 3))) (* 1/4 (/ 1 s))))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(+ 1/2 (* x (+ (* (pow x 2) (- (* 1/480 (/ (pow x 2) (pow s 5))) (* 1/48 (/ 1 (pow s 3))))) (* 1/4 (/ 1 s))))) |
(fma.f32 (pow.f32 x #s(literal 3 binary32)) (fma.f32 (*.f32 x (/.f32 x (pow.f32 s #s(literal 5 binary32)))) #s(literal 1/480 binary32) (/.f32 #s(literal -1/48 binary32) (pow.f32 s #s(literal 3 binary32)))) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
2 |
#s(literal 2 binary32) |
(+ 2 (* -1 (/ x s))) |
(-.f32 #s(literal 2 binary32) (/.f32 x s)) |
(+ 2 (* x (- (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(fma.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) (/.f32 x s)) #s(literal 1 binary32)) s) x #s(literal 2 binary32)) |
(+ 2 (* x (- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(fma.f32 (/.f32 (-.f32 (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/6 binary32) (*.f32 #s(literal 1/2 binary32) x)) s) #s(literal 1 binary32)) s) x #s(literal 2 binary32)) |
(+ 1 (/ x s)) |
(+.f32 (/.f32 x s) #s(literal 1 binary32)) |
(+ 1 (* x (+ (* 1/2 (/ x (pow s 2))) (/ 1 s)))) |
(fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32)) |
(+ 1 (* x (+ (* x (+ (* 1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)))) |
(fma.f32 (fma.f32 (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)) x #s(literal 1 binary32)) |
(* 1/4 (/ x s)) |
(*.f32 (/.f32 #s(literal 1/4 binary32) s) x) |
(/ x s) |
(/.f32 x s) |
(/ 1/2 x) |
(/.f32 #s(literal 1/2 binary32) x) |
(/ (+ 1/2 (* 1/4 (/ x s))) x) |
(/.f32 (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) x) |
(/ -1 s) |
(/.f32 #s(literal -1 binary32) s) |
(- (* 1/2 (/ x (pow s 2))) (/ 1 s)) |
(/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) (/.f32 x s)) #s(literal 1 binary32)) s) |
(- (* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) (/ 1 s)) |
(/.f32 (-.f32 (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/6 binary32) (*.f32 #s(literal 1/2 binary32) x)) s) #s(literal 1 binary32)) s) |
-1 |
#s(literal -1 binary32) |
(- (* 1/2 (/ x s)) 1) |
(-.f32 (*.f32 #s(literal 1/2 binary32) (/.f32 x s)) #s(literal 1 binary32)) |
(+ 1/2 (* -1/6 (/ x s))) |
(fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(* 1/2 (/ x (pow s 2))) |
(*.f32 (/.f32 (/.f32 x s) s) #s(literal 1/2 binary32)) |
(* x (+ (* -1/6 (/ x (pow s 3))) (* 1/2 (/ 1 (pow s 2))))) |
(*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 s s)) x) |
(/ 1 (exp (/ x s))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(/ 1 (+ 1 (/ 1 (exp (/ x s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(+ 1 (/ 1 (exp (/ x s)))) |
(+.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)) |
(exp (/ x s)) |
(exp.f32 (/.f32 x s)) |
(/ 1 (+ 1 (exp (* -1 (/ x s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(* x (+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x)))) |
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x) |
(/ 1/4 s) |
(/.f32 #s(literal 1/4 binary32) s) |
(+ (* 1/4 (/ 1 s)) (* 1/2 (/ 1 x))) |
(-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) |
(+ 1 (exp (* -1 (/ x s)))) |
(+.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)) |
(* 1/2 (/ (pow x 2) (pow s 2))) |
(*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32)) |
(* (pow x 2) (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) (*.f32 x x)) |
(* (pow x 2) (- (+ (* 1/2 (/ 1 (pow s 2))) (/ 2 (pow x 2))) (/ 1 (* s x)))) |
(*.f32 (-.f32 (-.f32 (/.f32 #s(literal 2 binary32) (*.f32 x x)) (/.f32 #s(literal -1/2 binary32) (*.f32 s s))) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) (*.f32 x x)) |
(* x (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x)))) |
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) x) |
(* -1/6 (/ (pow x 3) (pow s 3))) |
(*.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/6 binary32)) |
(* (pow x 3) (- (* 1/2 (/ 1 (* (pow s 2) x))) (* 1/6 (/ 1 (pow s 3))))) |
(*.f32 (-.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1/6 binary32) (pow.f32 s #s(literal 3 binary32)))) (pow.f32 x #s(literal 3 binary32))) |
(* (pow x 3) (- (/ 1/2 (* (pow s 2) x)) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(*.f32 (-.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) x) (/.f32 #s(literal 1/6 binary32) (pow.f32 s #s(literal 3 binary32)))) (pow.f32 x #s(literal 3 binary32))) |
(* (pow x 3) (- (+ (/ 1/2 (* (pow s 2) x)) (* 2 (/ 1 (pow x 3)))) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(*.f32 (+.f32 (/.f32 #s(literal 2 binary32) (pow.f32 x #s(literal 3 binary32))) (-.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) x) (/.f32 #s(literal 1/6 binary32) (pow.f32 s #s(literal 3 binary32))))) (pow.f32 x #s(literal 3 binary32))) |
(* -1/6 (/ (pow x 2) (pow s 3))) |
(*.f32 (*.f32 x (/.f32 x (pow.f32 s #s(literal 3 binary32)))) #s(literal -1/6 binary32)) |
(* (pow x 2) (- (* 1/2 (/ 1 (* (pow s 2) x))) (* 1/6 (/ 1 (pow s 3))))) |
(*.f32 (-.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1/6 binary32) (pow.f32 s #s(literal 3 binary32)))) (*.f32 x x)) |
(* (pow x 2) (- (/ 1/2 (* (pow s 2) x)) (+ (* 1/6 (/ 1 (pow s 3))) (/ 1 (* s (pow x 2)))))) |
(*.f32 (-.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) x) (/.f32 #s(literal 1/6 binary32) (pow.f32 s #s(literal 3 binary32)))) (*.f32 x x)) |
(* 1/2 (/ x s)) |
(*.f32 #s(literal 1/2 binary32) (/.f32 x s)) |
(* x (- (* 1/2 (/ 1 s)) (/ 1 x))) |
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) s) (/.f32 #s(literal 1 binary32) x)) x) |
(* -1/6 (/ x s)) |
(*.f32 #s(literal -1/6 binary32) (/.f32 x s)) |
(* x (- (* 1/2 (/ 1 x)) (* 1/6 (/ 1 s)))) |
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal 1/6 binary32) s)) x) |
(* (pow x 2) (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2))))) |
(*.f32 (*.f32 (-.f32 (/.f32 (-.f32 (/.f32 #s(literal 1 binary32) s) (/.f32 #s(literal 2 binary32) x)) (neg.f32 x)) (/.f32 #s(literal -1/2 binary32) (*.f32 s s))) x) x) |
(* -1 (* x (- (/ 1 (* s x)) (* 1/2 (/ 1 (pow s 2)))))) |
(*.f32 (neg.f32 x) (-.f32 (/.f32 (/.f32 #s(literal 1 binary32) x) s) (/.f32 #s(literal 1/2 binary32) (*.f32 s s)))) |
(* -1 (* (pow x 3) (- (* 1/6 (/ 1 (pow s 3))) (* 1/2 (/ 1 (* (pow s 2) x)))))) |
(*.f32 (pow.f32 (neg.f32 x) #s(literal 3 binary32)) (-.f32 (/.f32 #s(literal 1/6 binary32) (pow.f32 s #s(literal 3 binary32))) (/.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (- (* 1/2 (/ 1 (pow s 2))) (/ 1 (* s x))) x)) (* 1/6 (/ 1 (pow s 3)))))) |
(*.f32 (pow.f32 (neg.f32 x) #s(literal 3 binary32)) (-.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) (/.f32 (/.f32 #s(literal 1 binary32) x) s)) (neg.f32 x)) (/.f32 #s(literal -1/6 binary32) (pow.f32 s #s(literal 3 binary32))))) |
(* -1 (* (pow x 3) (+ (* -1 (/ (+ (* -1 (/ (- (/ 1 s) (* 2 (/ 1 x))) x)) (* 1/2 (/ 1 (pow s 2)))) x)) (* 1/6 (/ 1 (pow s 3)))))) |
(*.f32 (pow.f32 (neg.f32 x) #s(literal 3 binary32)) (-.f32 (/.f32 (-.f32 (/.f32 (-.f32 (/.f32 #s(literal 1 binary32) s) (/.f32 #s(literal 2 binary32) x)) (neg.f32 x)) (/.f32 #s(literal -1/2 binary32) (*.f32 s s))) (neg.f32 x)) (/.f32 #s(literal -1/6 binary32) (pow.f32 s #s(literal 3 binary32))))) |
(* (pow x 2) (- (* -1 (/ (- (/ 1 (* s x)) (* 1/2 (/ 1 (pow s 2)))) x)) (* 1/6 (/ 1 (pow s 3))))) |
(*.f32 (-.f32 (/.f32 (-.f32 (/.f32 (/.f32 #s(literal 1 binary32) x) s) (/.f32 #s(literal 1/2 binary32) (*.f32 s s))) (neg.f32 x)) (/.f32 #s(literal 1/6 binary32) (pow.f32 s #s(literal 3 binary32)))) (*.f32 x x)) |
(* -1 (* x (- (/ 1 x) (* 1/2 (/ 1 s))))) |
(*.f32 (neg.f32 x) (-.f32 (/.f32 #s(literal 1 binary32) x) (/.f32 #s(literal 1/2 binary32) s))) |
(* -1 (* x (- (* 1/6 (/ 1 s)) (* 1/2 (/ 1 x))))) |
(*.f32 (neg.f32 x) (-.f32 (/.f32 #s(literal 1/6 binary32) s) (/.f32 #s(literal 1/2 binary32) x))) |
(/ (+ (* 1/4 x) (* 1/2 s)) s) |
(/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s) |
(/ (+ 1/4 (* 1/2 (/ s x))) s) |
(/.f32 (fma.f32 (/.f32 s x) #s(literal 1/2 binary32) #s(literal 1/4 binary32)) s) |
(/ (+ (* -1 (* s x)) (* 1/2 (pow x 2))) (pow s 2)) |
(/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s)) |
(/ (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))) (pow s 2)) |
(/.f32 (/.f32 (fma.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s (*.f32 (*.f32 x x) #s(literal 1/2 binary32))) s) s) |
(/ (+ (* -1 s) (* 1/2 x)) (pow s 2)) |
(/.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) x (neg.f32 s)) s) s) |
(/ (+ (* -1/6 (pow x 3)) (* 1/2 (* s (pow x 2)))) (pow s 3)) |
(/.f32 (fma.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) x) s) x (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1/6 binary32))) (pow.f32 s #s(literal 3 binary32))) |
(/ (+ (* -1/6 (pow x 3)) (* s (+ (* -1 (* s x)) (* 1/2 (pow x 2))))) (pow s 3)) |
(/.f32 (fma.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) s (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1/6 binary32))) (pow.f32 s #s(literal 3 binary32))) |
(/ (+ (* -1/6 (pow x 3)) (* s (+ (* 1/2 (pow x 2)) (* s (+ (* -1 x) (* 2 s)))))) (pow s 3)) |
(/.f32 (fma.f32 (fma.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s (*.f32 (*.f32 x x) #s(literal 1/2 binary32))) s (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1/6 binary32))) (pow.f32 s #s(literal 3 binary32))) |
(/ (+ (* -1/6 (pow x 2)) (* 1/2 (* s x))) (pow s 3)) |
(/.f32 (fma.f32 (*.f32 #s(literal 1/2 binary32) x) s (*.f32 (*.f32 x x) #s(literal -1/6 binary32))) (pow.f32 s #s(literal 3 binary32))) |
(/ (+ (* -1/6 (pow x 2)) (* s (+ (* -1 s) (* 1/2 x)))) (pow s 3)) |
(/.f32 (fma.f32 (fma.f32 #s(literal 1/2 binary32) x (neg.f32 s)) s (*.f32 (*.f32 x x) #s(literal -1/6 binary32))) (pow.f32 s #s(literal 3 binary32))) |
(/ (+ (* -1 s) (* 1/2 x)) s) |
(/.f32 (fma.f32 #s(literal 1/2 binary32) x (neg.f32 s)) s) |
(/ (+ (* -1/6 x) (* 1/2 s)) s) |
(/.f32 (fma.f32 #s(literal -1/6 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s) |
(- (+ 1 (* -1 (/ (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))) (/ x s)) |
(-.f32 #s(literal 1 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(- (+ 1 (* -1 (/ (+ (* -1 (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))))) (+ (* -1/2 (pow x 3)) (* 1/6 (pow x 3)))) (pow s 3)))) (+ (* -1 (/ (pow x 2) (pow s 2))) (+ (* 1/2 (/ (pow x 2) (pow s 2))) (/ x s)))) |
(-.f32 (-.f32 #s(literal 1 binary32) (/.f32 (fma.f32 #s(literal -1/3 binary32) (pow.f32 x #s(literal 3 binary32)) (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1/2 binary32))) (pow.f32 s #s(literal 3 binary32)))) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(- (+ 1/2 (* -1 (/ (+ (* -1/4 (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) (* -1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(- (+ 1/2 (* -1 (/ (+ (* -1/4 (+ (* -1 (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))))) (+ (* -1/2 (pow x 3)) (* 1/6 (pow x 3))))) (+ (* -1/8 (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))))) (* 1/2 (* x (+ (* -1/4 (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) (* -1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/4 (/ (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2))) (* -1/8 (/ (pow x 2) (pow s 2)))))) |
(fma.f32 (/.f32 (fma.f32 (*.f32 #s(literal -1/8 binary32) (pow.f32 x #s(literal 3 binary32))) #s(literal -1/2 binary32) (fma.f32 #s(literal 0 binary32) x (fma.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1/12 binary32) (neg.f32 (*.f32 #s(literal 1/8 binary32) (pow.f32 x #s(literal 3 binary32))))))) (pow.f32 s #s(literal 3 binary32))) #s(literal -1 binary32) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(- (+ 2 (* -1 (/ (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))) (pow s 2)))) (/ x s)) |
(-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(- (+ 2 (* -1 (/ (+ (* -1 (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))))) (+ (* -1/2 (pow x 3)) (* 1/6 (pow x 3)))) (pow s 3)))) (+ (* -1 (/ (pow x 2) (pow s 2))) (+ (* 1/2 (/ (pow x 2) (pow s 2))) (/ x s)))) |
(-.f32 (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/3 binary32) (pow.f32 x #s(literal 3 binary32)) (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1/2 binary32))) (pow.f32 s #s(literal 3 binary32)))) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(+ 1 (+ (* 1/2 (/ (pow x 2) (pow s 2))) (/ x s))) |
(fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32)) |
(+ 1 (+ (* 1/6 (/ (pow x 3) (pow s 3))) (+ (* 1/2 (/ (pow x 2) (pow s 2))) (/ x s)))) |
(fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 1/6 binary32) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32))) |
(- (+ 1/2 (* -1 (/ (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))) (pow s 2)))) (* -1/4 (/ x s))) |
(fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(- (+ 1/2 (* -1 (/ (+ (* -1/24 (pow x 3)) (+ (* 1/16 (pow x 3)) (* 1/2 (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2))))))) (pow s 3)))) (+ (* -1/4 (/ x s)) (+ (* -1/8 (/ (pow x 2) (pow s 2))) (* 1/8 (/ (pow x 2) (pow s 2)))))) |
(fma.f32 (/.f32 (fma.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1/48 binary32) (*.f32 #s(literal 0 binary32) x)) (pow.f32 s #s(literal 3 binary32))) #s(literal -1 binary32) (fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32))) |
(+ 2 (+ (* -1 (/ x s)) (* 1/2 (/ (pow x 2) (pow s 2))))) |
(-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(+ 2 (+ (* -1 (/ x s)) (+ (* -1/6 (/ (pow x 3) (pow s 3))) (* 1/2 (/ (pow x 2) (pow s 2)))))) |
(-.f32 #s(literal 2 binary32) (/.f32 (-.f32 x (/.f32 (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) s) #s(literal -1/6 binary32) (*.f32 (*.f32 x x) #s(literal 1/2 binary32))) s)) s)) |
(/ (- (* 1/2 (/ x s)) 1) s) |
(/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) (/.f32 x s)) #s(literal 1 binary32)) s) |
(/ (- (+ (* -1/6 (/ (pow x 2) (pow s 2))) (* 1/2 (/ x s))) 1) s) |
(/.f32 (-.f32 (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/6 binary32) (*.f32 #s(literal 1/2 binary32) x)) s) #s(literal 1 binary32)) s) |
(/ (+ (* -1/6 (/ (pow x 2) s)) (* 1/2 x)) (pow s 2)) |
(*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 s s)) x) |
(+ 1 (* -1 (/ (- (+ (* -1 (/ (pow x 2) s)) (* 1/2 (/ (pow x 2) s))) (* -1 x)) s))) |
(-.f32 #s(literal 1 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(+ 1 (* -1 (/ (- (* -1 (/ (- (+ (* -1/6 (/ (pow x 3) s)) (+ (* 1/2 (/ (pow x 3) s)) (/ (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s))) (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s)) (* -1 x)) s))) |
(-.f32 #s(literal 1 binary32) (/.f32 (fma.f32 (/.f32 (-.f32 (/.f32 (fma.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1/3 binary32) (*.f32 #s(literal -1/2 binary32) (pow.f32 x #s(literal 3 binary32)))) s) (*.f32 #s(literal -1/2 binary32) (*.f32 x x))) s) #s(literal -1 binary32) x) s)) |
(+ 1/2 (* -1 (/ (- (+ (* -1/4 (/ (+ (* -1 (pow x 2)) (* 1/2 (pow x 2))) s)) (* -1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/4 (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) (* -1/8 (pow x 2)))) s)) (+ (* -1/4 (/ (+ (* -1/6 (pow x 3)) (+ (* 1/2 (pow x 3)) (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))))) s)) (* 1/8 (/ (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s)))) (+ (* -1/4 (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) (* -1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(-.f32 #s(literal 1/2 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) x (/.f32 (-.f32 (/.f32 (fma.f32 #s(literal 1/8 binary32) (*.f32 #s(literal -1/2 binary32) (pow.f32 x #s(literal 3 binary32))) (fma.f32 #s(literal 0 binary32) x (*.f32 (fma.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1/3 binary32) (*.f32 #s(literal -1/2 binary32) (pow.f32 x #s(literal 3 binary32)))) #s(literal -1/4 binary32)))) s) #s(literal 0 binary32)) (neg.f32 s))) s)) |
(+ 2 (* -1 (/ (- (+ (* -1 (/ (pow x 2) s)) (* 1/2 (/ (pow x 2) s))) (* -1 x)) s))) |
(-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(+ 2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/6 (/ (pow x 3) s)) (+ (* 1/2 (/ (pow x 3) s)) (/ (* x (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s))) (+ (* -1 (pow x 2)) (* 1/2 (pow x 2)))) s)) (* -1 x)) s))) |
(-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (/.f32 (-.f32 (/.f32 (fma.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1/3 binary32) (*.f32 #s(literal -1/2 binary32) (pow.f32 x #s(literal 3 binary32)))) s) (*.f32 #s(literal -1/2 binary32) (*.f32 x x))) s) #s(literal -1 binary32) x) s)) |
(+ 1 (* -1 (/ (+ (* -1 x) (* -1/2 (/ (pow x 2) s))) s))) |
(fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32)) |
(+ 1 (* -1 (/ (+ (* -1 x) (* -1 (/ (+ (* 1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(-.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal 1/6 binary32) (*.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x)))) |
(+ 1/2 (* -1 (/ (- (+ (* -1/8 (/ (pow x 2) s)) (* 1/8 (/ (pow x 2) s))) (* 1/4 x)) s))) |
(fma.f32 #s(literal 1/4 binary32) (/.f32 x s) #s(literal 1/2 binary32)) |
(+ 1/2 (* -1 (/ (- (* -1 (/ (- (+ (* -1/2 (/ (* x (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (+ (* -1/16 (/ (pow x 3) s)) (* 1/24 (/ (pow x 3) s)))) (+ (* -1/8 (pow x 2)) (* 1/8 (pow x 2)))) s)) (* 1/4 x)) s))) |
(-.f32 #s(literal 1/2 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) x (/.f32 (fma.f32 #s(literal 0 binary32) x (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) s) #s(literal -1/48 binary32) #s(literal 0 binary32))) (neg.f32 s))) s)) |
(+ 2 (* -1 (/ (+ x (* -1/2 (/ (pow x 2) s))) s))) |
(-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)) |
(+ 2 (* -1 (/ (+ x (* -1 (/ (+ (* -1/6 (/ (pow x 3) s)) (* 1/2 (pow x 2))) s))) s))) |
(-.f32 #s(literal 2 binary32) (/.f32 (-.f32 x (/.f32 (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) s) #s(literal -1/6 binary32) (*.f32 (*.f32 x x) #s(literal 1/2 binary32))) s)) s)) |
(* -1 (/ (+ 1 (* -1/2 (/ x s))) s)) |
(/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) (neg.f32 s)) |
(* -1 (/ (+ 1 (* -1 (/ (+ (* -1/6 (/ (pow x 2) s)) (* 1/2 x)) s))) s)) |
(/.f32 (-.f32 #s(literal 1 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/6 binary32) (*.f32 #s(literal 1/2 binary32) x)) s)) (neg.f32 s)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 56 | 404 |
| 0 | 82 | 401 |
| 1 | 291 | 401 |
| 0 | 1983 | 391 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))))) |
(+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s)))) |
(exp.f32 (/.f32 x s)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s))) |
(*.f32 #s(literal 1/4 binary32) (/.f32 x s)) |
(/.f32 x s) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
#s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x)) |
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x) |
(-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))) |
(fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)) |
#s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) |
(/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s) |
#s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) |
(*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) |
| Outputs |
|---|
(*.f32 (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -1/2 binary32)) (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -1/2 binary32))) |
(*.f32 #s(literal -1 binary32) (/.f32 #s(literal -1 binary32) (exp.f32 (/.f32 x s)))) |
(*.f32 #s(literal -1 binary32) (*.f32 #s(literal -1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(*.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)) |
(*.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
(/.f32 (-.f32 (*.f32 (cosh.f32 (/.f32 x s)) (cosh.f32 (/.f32 x s))) (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) (sinh.f32 (/.f32 (neg.f32 x) s)))) (-.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 (neg.f32 x) s)))) |
(/.f32 (+.f32 (pow.f32 (cosh.f32 (/.f32 x s)) #s(literal 3 binary32)) (pow.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 3 binary32))) (fma.f32 (cosh.f32 (/.f32 x s)) (cosh.f32 (/.f32 x s)) (-.f32 (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) (sinh.f32 (/.f32 (neg.f32 x) s))) (*.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 (neg.f32 x) s)))))) |
(/.f32 #s(literal -1 binary32) (neg.f32 (exp.f32 (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) (neg.f32 (neg.f32 (exp.f32 (/.f32 x s))))) |
(/.f32 #s(literal 1 binary32) (pow.f32 (exp.f32 (/.f32 x s)) #s(literal 1 binary32))) |
(/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))) |
(-.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 x s))) |
(fma.f32 (cosh.f32 (/.f32 x s)) #s(literal 1 binary32) (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(fma.f32 #s(literal 1 binary32) (cosh.f32 (/.f32 x s)) (*.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 (neg.f32 x) s)))) |
(pow.f32 (exp.f32 (/.f32 x s)) #s(literal -1 binary32)) |
(+.f32 (*.f32 (cosh.f32 (/.f32 x s)) #s(literal 1 binary32)) (*.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(+.f32 (*.f32 #s(literal 1 binary32) (cosh.f32 (/.f32 x s))) (*.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 (neg.f32 x) s)))) |
(+.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 (neg.f32 x) s))) |
(+.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) (cosh.f32 (/.f32 x s))) |
(exp.f32 (-.f32 #s(literal 0 binary32) (/.f32 x s))) |
(exp.f32 (+.f32 #s(literal 0 binary32) (/.f32 (neg.f32 x) s))) |
(exp.f32 (*.f32 (/.f32 x s) #s(literal -1 binary32))) |
(exp.f32 (*.f32 (log.f32 (exp.f32 (/.f32 x s))) #s(literal -1 binary32))) |
(exp.f32 (/.f32 (neg.f32 x) s)) |
(neg.f32 (/.f32 #s(literal -1 binary32) (exp.f32 (/.f32 x s)))) |
(neg.f32 (/.f32 #s(literal 1 binary32) (neg.f32 (exp.f32 (/.f32 x s))))) |
(*.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -2 binary32)))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(*.f32 (/.f32 #s(literal 1 binary32) (+.f32 (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -3 binary32)) #s(literal 1 binary32))) (fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(*.f32 (pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal -1/2 binary32)) (pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal -1/2 binary32))) |
(*.f32 #s(literal -1 binary32) (/.f32 #s(literal -1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)))) |
(*.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)))) |
(/.f32 #s(literal -1 binary32) (+.f32 (neg.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) |
(/.f32 #s(literal 1 binary32) (neg.f32 (+.f32 (neg.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)))) |
(/.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal 1 binary32))) |
(/.f32 #s(literal 1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32))) |
(pow.f32 (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) #s(literal -1 binary32)) |
(exp.f32 (*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) |
(neg.f32 (/.f32 #s(literal -1 binary32) (-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)))) |
(neg.f32 (/.f32 #s(literal 1 binary32) (+.f32 (neg.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32)))) |
(/.f32 (expm1.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))) (expm1.f32 (/.f32 (neg.f32 x) s))) |
(/.f32 (neg.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -2 binary32)))) (neg.f32 (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))) |
(/.f32 (neg.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -3 binary32)) #s(literal 1 binary32))) (neg.f32 (fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)))) |
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -2 binary32))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(/.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -3 binary32)) #s(literal 1 binary32)) (+.f32 (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -2 binary32)) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))) |
(/.f32 (+.f32 (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -3 binary32)) #s(literal 1 binary32)) (fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(-.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) (/.f32 (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -2 binary32)) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))) |
(-.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal -1 binary32)) |
(fma.f32 (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -1/2 binary32)) (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -1/2 binary32)) #s(literal 1 binary32)) |
(fma.f32 #s(literal -1 binary32) (/.f32 #s(literal -1 binary32) (exp.f32 (/.f32 x s))) #s(literal 1 binary32)) |
(fma.f32 #s(literal -1 binary32) (*.f32 #s(literal -1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal 1 binary32)) |
(fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32) #s(literal 1 binary32)) |
(fma.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)) |
(+.f32 (+.f32 #s(literal 1 binary32) (cosh.f32 (/.f32 x s))) (sinh.f32 (/.f32 (neg.f32 x) s))) |
(+.f32 (/.f32 #s(literal 1 binary32) (fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) (/.f32 (pow.f32 (exp.f32 (/.f32 x s)) #s(literal -3 binary32)) (fma.f32 (exp.f32 (/.f32 (neg.f32 x) s)) (expm1.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)))) |
(+.f32 (cosh.f32 (/.f32 x s)) (+.f32 (sinh.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32))) |
(+.f32 (exp.f32 (/.f32 (neg.f32 x) s)) #s(literal 1 binary32)) |
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
(/.f32 (-.f32 (*.f32 (cosh.f32 (/.f32 x s)) (cosh.f32 (/.f32 x s))) (*.f32 (sinh.f32 (/.f32 x s)) (sinh.f32 (/.f32 x s)))) (exp.f32 (/.f32 (neg.f32 x) s))) |
(/.f32 (+.f32 (pow.f32 (cosh.f32 (/.f32 x s)) #s(literal 3 binary32)) (pow.f32 (sinh.f32 (/.f32 x s)) #s(literal 3 binary32))) (fma.f32 (cosh.f32 (/.f32 x s)) (cosh.f32 (/.f32 x s)) (-.f32 (*.f32 (sinh.f32 (/.f32 x s)) (sinh.f32 (/.f32 x s))) (*.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 x s)))))) |
(+.f32 (sinh.f32 (/.f32 x s)) (cosh.f32 (/.f32 x s))) |
(+.f32 (cosh.f32 (/.f32 x s)) (sinh.f32 (/.f32 x s))) |
(exp.f32 (/.f32 x s)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s))) |
(*.f32 (*.f32 (/.f32 x s) #s(literal 1/2 binary32)) #s(literal 1/2 binary32)) |
(*.f32 #s(literal 1/2 binary32) (*.f32 (/.f32 #s(literal 1/2 binary32) s) x)) |
(*.f32 #s(literal 1/4 binary32) (/.f32 x s)) |
(*.f32 (/.f32 x s) #s(literal 1/4 binary32)) |
(*.f32 x (/.f32 #s(literal 1/4 binary32) s)) |
(/.f32 (*.f32 #s(literal 1/4 binary32) (neg.f32 x)) (neg.f32 s)) |
(/.f32 (neg.f32 (*.f32 #s(literal 1/4 binary32) x)) (neg.f32 s)) |
(/.f32 (*.f32 (neg.f32 x) #s(literal 1/4 binary32)) (neg.f32 s)) |
(/.f32 (*.f32 #s(literal 1/4 binary32) x) s) |
(neg.f32 (*.f32 (/.f32 x s) #s(literal -1/4 binary32))) |
(neg.f32 (*.f32 #s(literal -1/4 binary32) (/.f32 x s))) |
(/.f32 (neg.f32 x) (neg.f32 s)) |
(/.f32 x (neg.f32 (neg.f32 s))) |
(/.f32 x s) |
(neg.f32 (/.f32 (neg.f32 x) s)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
#s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x)) |
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x) |
(*.f32 x (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s))) |
(/.f32 (*.f32 (-.f32 (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 2 binary32)) (/.f32 #s(literal 1/16 binary32) (*.f32 s s))) x) (+.f32 (/.f32 #s(literal -1/4 binary32) s) (/.f32 #s(literal 1/2 binary32) x))) |
(/.f32 (*.f32 (-.f32 (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 3 binary32)) (pow.f32 (/.f32 #s(literal -1/4 binary32) s) #s(literal 3 binary32))) x) (fma.f32 (/.f32 #s(literal -1/4 binary32) s) (+.f32 (/.f32 #s(literal -1/4 binary32) s) (/.f32 #s(literal 1/2 binary32) x)) (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 2 binary32)))) |
(/.f32 (*.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) x) (*.f32 s x)) |
(/.f32 (*.f32 x (-.f32 (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 2 binary32)) (/.f32 #s(literal 1/16 binary32) (*.f32 s s)))) (+.f32 (/.f32 #s(literal -1/4 binary32) s) (/.f32 #s(literal 1/2 binary32) x))) |
(/.f32 (*.f32 x (-.f32 (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 3 binary32)) (pow.f32 (/.f32 #s(literal -1/4 binary32) s) #s(literal 3 binary32)))) (fma.f32 (/.f32 #s(literal -1/4 binary32) s) (+.f32 (/.f32 #s(literal -1/4 binary32) s) (/.f32 #s(literal 1/2 binary32) x)) (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 2 binary32)))) |
(/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x))) (*.f32 s x)) |
(/.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) x) s) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 2 binary32)) (/.f32 #s(literal 1/16 binary32) (*.f32 s s)))) (neg.f32 (+.f32 (/.f32 #s(literal -1/4 binary32) s) (/.f32 #s(literal 1/2 binary32) x)))) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 3 binary32)) (pow.f32 (/.f32 #s(literal -1/4 binary32) s) #s(literal 3 binary32)))) (neg.f32 (fma.f32 (/.f32 #s(literal -1/4 binary32) s) (+.f32 (/.f32 #s(literal -1/4 binary32) s) (/.f32 #s(literal 1/2 binary32) x)) (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 2 binary32))))) |
(/.f32 (neg.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x))) (neg.f32 (*.f32 s x))) |
(/.f32 (-.f32 (*.f32 #s(literal -1/2 binary32) s) (*.f32 (neg.f32 x) #s(literal -1/4 binary32))) (*.f32 (neg.f32 x) s)) |
(/.f32 (-.f32 (*.f32 #s(literal -1/2 binary32) (neg.f32 s)) (*.f32 (neg.f32 x) #s(literal 1/4 binary32))) (*.f32 (neg.f32 x) (neg.f32 s))) |
(/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) (neg.f32 s)) (*.f32 #s(literal 1/4 binary32) x)) (*.f32 x (neg.f32 s))) |
(/.f32 (-.f32 (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 2 binary32)) (/.f32 #s(literal 1/16 binary32) (*.f32 s s))) (+.f32 (/.f32 #s(literal -1/4 binary32) s) (/.f32 #s(literal 1/2 binary32) x))) |
(/.f32 (-.f32 (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 3 binary32)) (pow.f32 (/.f32 #s(literal -1/4 binary32) s) #s(literal 3 binary32))) (fma.f32 (/.f32 #s(literal -1/4 binary32) s) (+.f32 (/.f32 #s(literal -1/4 binary32) s) (/.f32 #s(literal 1/2 binary32) x)) (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 2 binary32)))) |
(/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) (*.f32 s x)) |
(-.f32 (/.f32 (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 2 binary32)) (+.f32 (/.f32 #s(literal -1/4 binary32) s) (/.f32 #s(literal 1/2 binary32) x))) (/.f32 (/.f32 #s(literal 1/16 binary32) (*.f32 s s)) (+.f32 (/.f32 #s(literal -1/4 binary32) s) (/.f32 #s(literal 1/2 binary32) x)))) |
(-.f32 (/.f32 (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 3 binary32)) (fma.f32 (/.f32 #s(literal -1/4 binary32) s) (+.f32 (/.f32 #s(literal -1/4 binary32) s) (/.f32 #s(literal 1/2 binary32) x)) (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 2 binary32)))) (/.f32 (pow.f32 (/.f32 #s(literal -1/4 binary32) s) #s(literal 3 binary32)) (fma.f32 (/.f32 #s(literal -1/4 binary32) s) (+.f32 (/.f32 #s(literal -1/4 binary32) s) (/.f32 #s(literal 1/2 binary32) x)) (pow.f32 (/.f32 #s(literal 1/2 binary32) x) #s(literal 2 binary32))))) |
(-.f32 (/.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 s x)) (/.f32 (*.f32 #s(literal -1/4 binary32) x) (*.f32 s x))) |
(-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) |
(*.f32 (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))) #s(literal -1/2 binary32)) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))) #s(literal -1/2 binary32))) |
(*.f32 #s(literal -1 binary32) (/.f32 #s(literal -1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))))) |
(*.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))))) |
(/.f32 #s(literal -1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))))) |
(/.f32 #s(literal 1 binary32) (neg.f32 (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))))) |
(/.f32 #s(literal 1 binary32) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))) #s(literal 1 binary32))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
(pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))) #s(literal -1 binary32)) |
(exp.f32 (*.f32 (log.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) #s(literal -1 binary32))) |
(neg.f32 (/.f32 #s(literal -1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))))) |
(neg.f32 (/.f32 #s(literal 1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))) |
(/.f32 (-.f32 #s(literal 4 binary32) (pow.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32))) (-.f32 #s(literal 2 binary32) (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x))) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32)) #s(literal 4 binary32))) (neg.f32 (-.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32)))) |
(/.f32 (neg.f32 (+.f32 (pow.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 3 binary32)) #s(literal 8 binary32))) (neg.f32 (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x)) (pow.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32))))) |
(/.f32 (-.f32 (pow.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32)) #s(literal 4 binary32)) (-.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32))) |
(/.f32 (+.f32 (pow.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 3 binary32)) #s(literal 8 binary32)) (+.f32 #s(literal 4 binary32) (-.f32 (pow.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32)) (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) (*.f32 x #s(literal 2 binary32)))))) |
(/.f32 (+.f32 (pow.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 3 binary32)) #s(literal 8 binary32)) (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x)) (pow.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32)))) |
(-.f32 (/.f32 (pow.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32)) (-.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32))) (/.f32 #s(literal 4 binary32) (-.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32)))) |
(-.f32 #s(literal 2 binary32) (*.f32 (neg.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s))) x)) |
(-.f32 #s(literal 2 binary32) (*.f32 (neg.f32 x) #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)))) |
(fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)) |
(fma.f32 x #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) #s(literal 2 binary32)) |
(+.f32 (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 1 binary32)) #s(literal 1 binary32)) |
(+.f32 (/.f32 (pow.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 3 binary32)) (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x)) (pow.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32)))) (/.f32 #s(literal 8 binary32) (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x)) (pow.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32))))) |
(+.f32 (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x) #s(literal 2 binary32)) |
(+.f32 #s(literal 2 binary32) (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x)) |
(+.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (*.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x))) |
#s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) |
(*.f32 (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) #s(literal -1/2 binary32)) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) #s(literal -1/2 binary32))) |
(*.f32 #s(literal -1 binary32) (/.f32 #s(literal -1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))))) |
(*.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))))) |
(/.f32 #s(literal -1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))))) |
(/.f32 #s(literal 1 binary32) (neg.f32 (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))))) |
(/.f32 #s(literal 1 binary32) (pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) #s(literal 1 binary32))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(pow.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) #s(literal -1 binary32)) |
(exp.f32 (*.f32 (log.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) #s(literal -1 binary32))) |
(neg.f32 (/.f32 #s(literal -1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))))) |
(neg.f32 (/.f32 #s(literal 1 binary32) (neg.f32 #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))))) |
#s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32))) |
(/.f32 (-.f32 #s(literal 4 binary32) (pow.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x))) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) #s(literal 4 binary32))) (neg.f32 (-.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)))) |
(/.f32 (neg.f32 (+.f32 #s(literal 8 binary32) (pow.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 3 binary32)))) (neg.f32 (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x)) (pow.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))))) |
(/.f32 (-.f32 (pow.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) #s(literal 4 binary32)) (-.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))) |
(/.f32 (+.f32 #s(literal 8 binary32) (pow.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 3 binary32))) (+.f32 #s(literal 4 binary32) (-.f32 (pow.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) (*.f32 x #s(literal 2 binary32)))))) |
(/.f32 (+.f32 #s(literal 8 binary32) (pow.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 3 binary32))) (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x)) (pow.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)))) |
(-.f32 (/.f32 (pow.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) (-.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))) (/.f32 #s(literal 4 binary32) (-.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)))) |
(-.f32 #s(literal 2 binary32) (*.f32 (neg.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s))) x)) |
(-.f32 #s(literal 2 binary32) (*.f32 (neg.f32 x) (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)))) |
(fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)) |
(fma.f32 x (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) #s(literal 2 binary32)) |
(+.f32 (fma.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 1 binary32)) #s(literal 1 binary32)) |
(+.f32 (/.f32 (pow.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 3 binary32)) (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x)) (pow.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)))) (/.f32 #s(literal 8 binary32) (fma.f32 #s(literal 2 binary32) (-.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x)) (pow.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32))))) |
(+.f32 (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x) #s(literal 2 binary32)) |
(+.f32 #s(literal 2 binary32) (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x)) |
(+.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (*.f32 (-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x))) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) #s(literal 2 binary32)) (pow.f32 s #s(literal -2 binary32)))) (neg.f32 (fma.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)))) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) #s(literal 3 binary32)) (pow.f32 s #s(literal -3 binary32)))) (neg.f32 (fma.f32 (/.f32 #s(literal 1 binary32) s) (fma.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)) (pow.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) #s(literal 2 binary32))))) |
(/.f32 (-.f32 (*.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) x) (neg.f32 s)) (*.f32 (*.f32 s s) #s(literal -1 binary32))) (*.f32 (*.f32 s s) (neg.f32 s))) |
(/.f32 (-.f32 (*.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) x) s) (*.f32 (*.f32 s s) #s(literal 1 binary32))) (*.f32 (*.f32 s s) s)) |
(/.f32 (-.f32 (pow.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) #s(literal 2 binary32)) (pow.f32 s #s(literal -2 binary32))) (fma.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s))) |
(/.f32 (-.f32 (pow.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) #s(literal 3 binary32)) (pow.f32 s #s(literal -3 binary32))) (fma.f32 (/.f32 #s(literal 1 binary32) s) (fma.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)) (pow.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) #s(literal 2 binary32)))) |
(-.f32 (/.f32 (pow.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) #s(literal 2 binary32)) (fma.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s))) (/.f32 (pow.f32 s #s(literal -2 binary32)) (fma.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)))) |
(-.f32 (/.f32 (pow.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) #s(literal 3 binary32)) (fma.f32 (/.f32 #s(literal 1 binary32) s) (fma.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)) (pow.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) #s(literal 2 binary32)))) (/.f32 (pow.f32 s #s(literal -3 binary32)) (fma.f32 (/.f32 #s(literal 1 binary32) s) (fma.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)) (pow.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) #s(literal 2 binary32))))) |
(-.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) |
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 2 binary32))) (-.f32 #s(literal -1 binary32) (*.f32 (/.f32 #s(literal 1/2 binary32) s) x))) |
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 2 binary32)) #s(literal 1 binary32))) (neg.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal -1 binary32)))) |
(/.f32 (neg.f32 (+.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 3 binary32)) #s(literal -1 binary32))) (neg.f32 (fma.f32 #s(literal -1 binary32) (-.f32 #s(literal -1 binary32) (*.f32 (/.f32 #s(literal 1/2 binary32) s) x)) (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 2 binary32))))) |
(/.f32 (-.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 2 binary32)) #s(literal 1 binary32)) (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal -1 binary32))) |
(/.f32 (+.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 3 binary32)) #s(literal -1 binary32)) (+.f32 #s(literal 1 binary32) (-.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 2 binary32)) (*.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal -1 binary32))))) |
(/.f32 (+.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 3 binary32)) #s(literal -1 binary32)) (fma.f32 #s(literal -1 binary32) (-.f32 #s(literal -1 binary32) (*.f32 (/.f32 #s(literal 1/2 binary32) s) x)) (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 2 binary32)))) |
(-.f32 (/.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 2 binary32)) (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal -1 binary32))) (/.f32 #s(literal 1 binary32) (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal -1 binary32)))) |
(-.f32 #s(literal -1 binary32) (*.f32 (neg.f32 (/.f32 #s(literal 1/2 binary32) s)) x)) |
(-.f32 #s(literal -1 binary32) (*.f32 (neg.f32 x) (/.f32 #s(literal 1/2 binary32) s))) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) |
(fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal -1 binary32)) |
(fma.f32 x (/.f32 #s(literal 1/2 binary32) s) #s(literal -1 binary32)) |
(+.f32 (/.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 3 binary32)) (fma.f32 #s(literal -1 binary32) (-.f32 #s(literal -1 binary32) (*.f32 (/.f32 #s(literal 1/2 binary32) s) x)) (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 2 binary32)))) (/.f32 #s(literal -1 binary32) (fma.f32 #s(literal -1 binary32) (-.f32 #s(literal -1 binary32) (*.f32 (/.f32 #s(literal 1/2 binary32) s) x)) (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 2 binary32))))) |
(+.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal -1 binary32)) |
(+.f32 #s(literal -1 binary32) (*.f32 (/.f32 #s(literal 1/2 binary32) s) x)) |
(/.f32 (+.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) (/.f32 x s)) #s(literal 3 binary32)) (pow.f32 (/.f32 #s(literal -1 binary32) s) #s(literal 3 binary32))) (+.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) (/.f32 x s)) #s(literal 2 binary32)) (-.f32 (pow.f32 s #s(literal -2 binary32)) (*.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) (/.f32 x s)) (/.f32 #s(literal -1 binary32) s))))) |
(/.f32 (neg.f32 (neg.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)))) (neg.f32 (neg.f32 s))) |
(/.f32 (fma.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) s (*.f32 s #s(literal -1 binary32))) (*.f32 s s)) |
(/.f32 (-.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) (/.f32 x s)) #s(literal 2 binary32)) (pow.f32 s #s(literal -2 binary32))) (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) (/.f32 x s)) (/.f32 #s(literal -1 binary32) s))) |
(/.f32 (-.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 2 binary32)) #s(literal 1 binary32)) (*.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal -1 binary32)) s)) |
(/.f32 (+.f32 (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 3 binary32)) #s(literal -1 binary32)) (*.f32 (fma.f32 #s(literal -1 binary32) (-.f32 #s(literal -1 binary32) (*.f32 (/.f32 #s(literal 1/2 binary32) s) x)) (pow.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) x) #s(literal 2 binary32))) s)) |
(/.f32 (neg.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32))) (neg.f32 s)) |
(/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) (neg.f32 s)) (/.f32 (neg.f32 x) s) (/.f32 #s(literal -1 binary32) s)) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) (fabs.f32 s)) (/.f32 x (fabs.f32 s)) (/.f32 #s(literal -1 binary32) s)) |
(fma.f32 (/.f32 #s(literal 1/2 binary32) s) (/.f32 x s) (/.f32 #s(literal -1 binary32) s)) |
(fma.f32 (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) x (/.f32 #s(literal -1 binary32) s)) |
(fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (/.f32 #s(literal -1 binary32) s)) |
(fma.f32 x (/.f32 (/.f32 #s(literal 1/2 binary32) s) s) (/.f32 #s(literal -1 binary32) s)) |
(+.f32 (/.f32 #s(literal -1 binary32) s) (*.f32 (/.f32 #s(literal 1/2 binary32) s) (/.f32 x s))) |
(+.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) s) (/.f32 x s)) (/.f32 #s(literal -1 binary32) s)) |
(neg.f32 (/.f32 (neg.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32))) s)) |
(neg.f32 (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) (neg.f32 s))) |
#s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) |
(*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (neg.f32 s)) (/.f32 (neg.f32 x) s)) |
(*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (fabs.f32 s)) (/.f32 x (fabs.f32 s))) |
(*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) s) (/.f32 x s)) |
(*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) |
(*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (/.f32 x (*.f32 s s))) |
(*.f32 x (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s))) |
(/.f32 (/.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) x) (neg.f32 s)) (neg.f32 s)) |
(/.f32 (/.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) x) (fabs.f32 s)) (fabs.f32 s)) |
(/.f32 (/.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) x) s) s) |
(/.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) s) x) s) |
(/.f32 (*.f32 (neg.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s)))) x) (*.f32 (neg.f32 s) s)) |
(/.f32 (*.f32 x (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) s)) s) |
(/.f32 (*.f32 x (neg.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))))) (*.f32 (neg.f32 s) s)) |
(/.f32 (neg.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) x)) (*.f32 (neg.f32 s) s)) |
(/.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) x) (*.f32 s s)) |
Compiled 11 078 to 1 536 computations (86.1% saved)
36 alts after pruning (23 fresh and 13 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 302 | 12 | 314 |
| Fresh | 4 | 11 | 15 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 8 | 8 |
| Total | 306 | 36 | 342 |
| Status | Accuracy | Program |
|---|---|---|
| 65.1% | (/.f32 #s(literal 1 binary32) (/.f32 (expm1.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))) (expm1.f32 (/.f32 (neg.f32 x) s)))) | |
| ✓ | 99.7% | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))))) |
| 60.8% | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (fma.f32 (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)) x #s(literal 1 binary32)))))) | |
| 64.5% | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32)))))) | |
| 63.1% | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) | |
| ✓ | 99.7% | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 57.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (fma.f32 (/.f32 (-.f32 (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/6 binary32) (*.f32 #s(literal 1/2 binary32) x)) s) #s(literal 1 binary32)) s) x #s(literal 2 binary32)))) | |
| 51.6% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) | |
| 57.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) x) s) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) | |
| 54.7% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) x) (*.f32 s s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) | |
| 55.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) | |
| ✓ | 56.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
| ✓ | 53.9% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
| 54.2% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (/.f32 #s(literal -1 binary32) s))) x #s(literal 2 binary32)))) | |
| ✓ | 55.6% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
| 53.8% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) (*.f32 #s(literal 1/2 binary32) (/.f32 x s))) s)) x #s(literal 2 binary32)))) | |
| 39.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) | |
| ✓ | 39.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
| ✓ | 39.5% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
| 16.2% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) | |
| 28.8% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (fma.f32 (/.f32 x s) (/.f32 (*.f32 #s(literal 1/2 binary32) x) s) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s)))))) | |
| 26.9% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) s) s)))) | |
| 12.6% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s s)) (*.f32 (*.f32 s s) (*.f32 s x))) (*.f32 (*.f32 s s) (*.f32 s s)))))) | |
| 30.9% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) | |
| 22.2% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) | |
| 32.3% | (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32))))) | |
| 43.7% | (*.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) | |
| ✓ | 99.8% | (exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
| ✓ | 27.9% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)))) |
| ✓ | 31.0% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
| 30.9% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) | |
| 30.8% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (/.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) x) s) x))) | |
| ✓ | 30.8% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
| 36.9% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) | |
| ✓ | 7.1% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
| ✓ | 37.1% | #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
Compiled 2 174 to 1 000 computations (54% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (/.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) x) s) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (*.f32 (-.f32 (/.f32 #s(literal 2 binary32) x) (/.f32 #s(literal 1 binary32) s)) x)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) (*.f32 #s(literal 1/2 binary32) (/.f32 x s))) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) s) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (/.f32 #s(literal -1 binary32) s))) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (fma.f32 (/.f32 x s) (/.f32 (*.f32 #s(literal 1/2 binary32) x) s) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) x) (*.f32 s s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) x) (*.f32 s s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (fma.f32 (/.f32 (-.f32 (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/6 binary32) (*.f32 #s(literal 1/2 binary32) x)) s) #s(literal 1 binary32)) s) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s s)) (*.f32 (*.f32 s s) (*.f32 s x))) (*.f32 (*.f32 s s) (*.f32 s s)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) x) s) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (fma.f32 (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)) x #s(literal 1 binary32)))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))))) |
(*.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) (/.f32 (expm1.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))) (expm1.f32 (/.f32 (neg.f32 x) s)))) |
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(exp.f32 (*.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal -1 binary32))) |
| Outputs |
|---|
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
7 calls:
| 15.0ms | x |
| 11.0ms | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 11.0ms | s |
| 11.0ms | (neg.f32 x) |
| 10.0ms | (/.f32 (neg.f32 x) s) |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.8% | 1 | (neg.f32 x) |
| 99.8% | 1 | (/.f32 (neg.f32 x) s) |
| 99.8% | 1 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 99.8% | 1 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 99.8% | 1 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 99.8% | 1 | x |
| 99.8% | 1 | s |
Compiled 29 to 31 computations (-6.9% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (/.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) x) s) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (*.f32 (-.f32 (/.f32 #s(literal 2 binary32) x) (/.f32 #s(literal 1 binary32) s)) x)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) (*.f32 #s(literal 1/2 binary32) (/.f32 x s))) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) s) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (/.f32 #s(literal -1 binary32) s))) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (fma.f32 (/.f32 x s) (/.f32 (*.f32 #s(literal 1/2 binary32) x) s) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) x) (*.f32 s s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) x) (*.f32 s s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (fma.f32 (/.f32 (-.f32 (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/6 binary32) (*.f32 #s(literal 1/2 binary32) x)) s) #s(literal 1 binary32)) s) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s s)) (*.f32 (*.f32 s s) (*.f32 s x))) (*.f32 (*.f32 s s) (*.f32 s s)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) x) s) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (fma.f32 (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)) x #s(literal 1 binary32)))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (pow.f32 (/.f32 x s) #s(literal 3 binary32)) #s(literal -1/48 binary32) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s))))) |
(*.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (exp.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))))) (-.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) (/.f32 (expm1.f32 (*.f32 (/.f32 (neg.f32 x) s) #s(literal 2 binary32))) (expm1.f32 (/.f32 (neg.f32 x) s)))) |
| Outputs |
|---|
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
7 calls:
| 18.0ms | s |
| 11.0ms | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 11.0ms | x |
| 10.0ms | (neg.f32 x) |
| 10.0ms | (/.f32 (neg.f32 x) s) |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.7% | 1 | (neg.f32 x) |
| 99.7% | 1 | (/.f32 (neg.f32 x) s) |
| 99.7% | 1 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 99.7% | 1 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 99.7% | 1 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 99.7% | 1 | x |
| 99.7% | 1 | s |
Compiled 29 to 31 computations (-6.9% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (/.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) x) s) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (*.f32 (-.f32 (/.f32 #s(literal 2 binary32) x) (/.f32 #s(literal 1 binary32) s)) x)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) (*.f32 #s(literal 1/2 binary32) (/.f32 x s))) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) s) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (/.f32 #s(literal -1 binary32) s))) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (fma.f32 (/.f32 x s) (/.f32 (*.f32 #s(literal 1/2 binary32) x) s) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) x) (*.f32 s s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) x) (*.f32 s s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (fma.f32 (/.f32 (-.f32 (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/6 binary32) (*.f32 #s(literal 1/2 binary32) x)) s) #s(literal 1 binary32)) s) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s s)) (*.f32 (*.f32 s s) (*.f32 s x))) (*.f32 (*.f32 s s) (*.f32 s s)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) s) x) s) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (fma.f32 (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (*.f32 s s)) x (/.f32 #s(literal 1 binary32) s)) x #s(literal 1 binary32)))))) |
| Outputs |
|---|
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32)))))) |
7 calls:
| 39.0ms | (/.f32 (neg.f32 x) s) |
| 12.0ms | s |
| 10.0ms | (neg.f32 x) |
| 9.0ms | x |
| 9.0ms | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 93.8% | 2 | (neg.f32 x) |
| 94.3% | 2 | (/.f32 (neg.f32 x) s) |
| 94.3% | 2 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 94.3% | 2 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 94.3% | 2 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 93.8% | 2 | x |
| 64.5% | 1 | s |
Compiled 29 to 31 computations (-6.9% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (/.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) x) s) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (*.f32 (-.f32 (/.f32 #s(literal 2 binary32) x) (/.f32 #s(literal 1 binary32) s)) x)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) (*.f32 #s(literal 1/2 binary32) (/.f32 x s))) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) s) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (/.f32 #s(literal -1 binary32) s))) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (fma.f32 (/.f32 x s) (/.f32 (*.f32 #s(literal 1/2 binary32) x) s) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) x) (*.f32 s s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) (/.f32 x (*.f32 s s))) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (/.f32 (*.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 x s) #s(literal 1/2 binary32)) x) (*.f32 s s)) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (fma.f32 (/.f32 (-.f32 (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/6 binary32) (*.f32 #s(literal 1/2 binary32) x)) s) #s(literal 1 binary32)) s) x #s(literal 2 binary32)))) |
| Outputs |
|---|
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32)))))) |
4 calls:
| 22.0ms | (/.f32 (neg.f32 x) s) |
| 7.0ms | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 7.0ms | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 6.0ms | (exp.f32 (/.f32 (neg.f32 x) s)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 94.2% | 2 | (/.f32 (neg.f32 x) s) |
| 94.2% | 2 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 94.2% | 2 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 94.2% | 2 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
Compiled 25 to 24 computations (4% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (/.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) x) s) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (*.f32 (-.f32 (/.f32 #s(literal 2 binary32) x) (/.f32 #s(literal 1 binary32) s)) x)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) (*.f32 #s(literal 1/2 binary32) (/.f32 x s))) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) s) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (/.f32 #s(literal -1 binary32) s))) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (fma.f32 (/.f32 x s) (/.f32 (*.f32 #s(literal 1/2 binary32) x) s) (/.f32 (*.f32 (neg.f32 s) x) (*.f32 s s)))))) |
| Outputs |
|---|
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32)))))) |
6 calls:
| 30.0ms | (/.f32 (neg.f32 x) s) |
| 7.0ms | x |
| 7.0ms | (neg.f32 x) |
| 6.0ms | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 6.0ms | (exp.f32 (/.f32 (neg.f32 x) s)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 92.8% | 2 | (neg.f32 x) |
| 92.8% | 2 | x |
| 93.8% | 2 | (/.f32 (neg.f32 x) s) |
| 93.8% | 2 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 93.8% | 2 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 93.8% | 2 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
Compiled 28 to 29 computations (-3.6% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (/.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) x) s) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (*.f32 (-.f32 (/.f32 #s(literal 2 binary32) x) (/.f32 #s(literal 1 binary32) s)) x)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) (*.f32 #s(literal 1/2 binary32) (/.f32 x s))) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) s) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (/.f32 #s(literal -1 binary32) s))) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
| Outputs |
|---|
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
6 calls:
| 10.0ms | (/.f32 (neg.f32 x) s) |
| 7.0ms | x |
| 7.0ms | (neg.f32 x) |
| 5.0ms | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 5.0ms | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 91.8% | 2 | (neg.f32 x) |
| 91.8% | 2 | x |
| 92.6% | 2 | (/.f32 (neg.f32 x) s) |
| 92.6% | 2 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 92.6% | 2 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 92.6% | 2 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
Compiled 28 to 29 computations (-3.6% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (/.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) x) s) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (*.f32 (-.f32 (/.f32 #s(literal 2 binary32) x) (/.f32 #s(literal 1 binary32) s)) x)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) (*.f32 #s(literal 1/2 binary32) (/.f32 x s))) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) s) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (/.f32 #s(literal -1 binary32) s))) x #s(literal 2 binary32)))) |
| Outputs |
|---|
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (/.f32 #s(literal -1 binary32) s))) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
6 calls:
| 47.0ms | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 7.0ms | (neg.f32 x) |
| 7.0ms | x |
| 6.0ms | (/.f32 (neg.f32 x) s) |
| 5.0ms | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 90.1% | 2 | (neg.f32 x) |
| 90.1% | 2 | x |
| 89.9% | 2 | (/.f32 (neg.f32 x) s) |
| 89.9% | 2 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 89.9% | 2 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 89.9% | 2 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
Compiled 28 to 29 computations (-3.6% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (/.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) x) s) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (*.f32 (-.f32 (/.f32 #s(literal 2 binary32) x) (/.f32 #s(literal 1 binary32) s)) x)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) (*.f32 #s(literal 1/2 binary32) (/.f32 x s))) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) s) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 x (/.f32 x s)) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (/ 1 (exp (/ x s)))) (-.f32 #s(literal 2 binary32) (/.f32 (fma.f32 (*.f32 x (/.f32 x s)) #s(literal -1/2 binary32) x) s)))) |
| Outputs |
|---|
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
6 calls:
| 7.0ms | x |
| 7.0ms | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 6.0ms | (neg.f32 x) |
| 6.0ms | (/.f32 (neg.f32 x) s) |
| 5.0ms | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 88.2% | 2 | (/.f32 (neg.f32 x) s) |
| 88.2% | 2 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 88.2% | 2 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 88.2% | 2 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 88.1% | 2 | (neg.f32 x) |
| 88.1% | 2 | x |
Compiled 28 to 29 computations (-3.6% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (/.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) x) s) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (*.f32 (-.f32 (/.f32 #s(literal 2 binary32) x) (/.f32 #s(literal 1 binary32) s)) x)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (*.f32 (*.f32 x (/.f32 (/.f32 x s) s)) #s(literal 1/2 binary32))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) (*.f32 #s(literal 1/2 binary32) (/.f32 x s))) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (-.f32 (*.f32 (*.f32 x x) #s(literal 1/2 binary32)) (*.f32 s x)) (*.f32 s s))))) |
| Outputs |
|---|
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s))))) |
6 calls:
| 6.0ms | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 5.0ms | (neg.f32 x) |
| 5.0ms | x |
| 5.0ms | (/.f32 (neg.f32 x) s) |
| 4.0ms | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 87.0% | 2 | x |
| 87.0% | 2 | (neg.f32 x) |
| 87.7% | 2 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 87.8% | 2 | (/.f32 (neg.f32 x) s) |
| 87.7% | 2 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 87.7% | 2 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
Compiled 28 to 29 computations (-3.6% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (/.f32 (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) s) (*.f32 #s(literal -1/4 binary32) x)) x) s) x))) |
| Outputs |
|---|
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) |
6 calls:
| 7.0ms | x |
| 4.0ms | (neg.f32 x) |
| 4.0ms | (/.f32 (neg.f32 x) s) |
| 3.0ms | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 3.0ms | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 78.1% | 2 | (neg.f32 x) |
| 78.1% | 2 | x |
| 79.7% | 2 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 79.7% | 2 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 79.7% | 2 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 79.7% | 2 | (/.f32 (neg.f32 x) s) |
Compiled 28 to 29 computations (-3.6% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) |
| Outputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s))))) |
7 calls:
| 8.0ms | x |
| 4.0ms | s |
| 4.0ms | (neg.f32 x) |
| 3.0ms | (/.f32 (neg.f32 x) s) |
| 3.0ms | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 44.3% | 2 | s |
| 52.5% | 2 | x |
| 52.5% | 2 | (neg.f32 x) |
| 53.7% | 2 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 53.7% | 2 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 53.7% | 2 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 53.7% | 2 | (/.f32 (neg.f32 x) s) |
Compiled 29 to 31 computations (-6.9% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(approx (+ (* (/ 1/2 s) x) -1) #s(literal -1 binary32)) s)) x #s(literal 2 binary32)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) x) (/.f32 #s(literal -1/4 binary32) s)) x))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) s) x) s)))) |
| Outputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32)))) |
6 calls:
| 5.0ms | x |
| 3.0ms | (neg.f32 x) |
| 3.0ms | (/.f32 (neg.f32 x) s) |
| 3.0ms | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 3.0ms | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 47.6% | 2 | x |
| 47.6% | 2 | (neg.f32 x) |
| 48.1% | 2 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 48.1% | 2 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 48.1% | 2 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 48.1% | 2 | (/.f32 (neg.f32 x) s) |
Compiled 28 to 29 computations (-3.6% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
| Outputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s)))) |
4 calls:
| 2.0ms | (/.f32 (neg.f32 x) s) |
| 2.0ms | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 2.0ms | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 2.0ms | (exp.f32 (/.f32 (neg.f32 x) s)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 48.1% | 2 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 48.1% | 2 | (/.f32 (neg.f32 x) s) |
| 48.1% | 2 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 48.1% | 2 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
Compiled 25 to 24 computations (4% saved)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
| Outputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
(/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s)))) |
6 calls:
| 2.0ms | (neg.f32 x) |
| 2.0ms | x |
| 2.0ms | (/.f32 (neg.f32 x) s) |
| 2.0ms | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 2.0ms | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 46.7% | 2 | x |
| 46.7% | 2 | (neg.f32 x) |
| 46.9% | 2 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 46.9% | 2 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 46.9% | 2 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 46.9% | 2 | (/.f32 (neg.f32 x) s) |
Compiled 28 to 29 computations (-3.6% saved)
Total -9.6b remaining (-47.6%)
Threshold costs -9.6b (-47.6%)
| Inputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(literal 1/4 binary32) (/.f32 x s)))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (*.f32 #s(approx (- (/ 1/2 x) (/ -1/4 s)) (/.f32 #s(literal 1/2 binary32) x)) x))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 x s) #s(literal 1/4 binary32) #s(literal 1/2 binary32))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(approx (+ (* (/ x s) 1/4) 1/2) (/.f32 (fma.f32 #s(literal 1/2 binary32) s (*.f32 #s(literal 1/4 binary32) x)) s))) |
| Outputs |
|---|
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
7 calls:
| 10.0ms | (neg.f32 x) |
| 2.0ms | x |
| 2.0ms | s |
| 2.0ms | (/.f32 (neg.f32 x) s) |
| 2.0ms | (exp.f32 (/.f32 (neg.f32 x) s)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 37.1% | 1 | s |
| 37.1% | 1 | x |
| 37.1% | 1 | (neg.f32 x) |
| 37.1% | 1 | (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
| 37.1% | 1 | (exp.f32 (/.f32 (neg.f32 x) s)) |
| 37.1% | 1 | (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) |
| 37.1% | 1 | (/.f32 (neg.f32 x) s) |
Compiled 29 to 31 computations (-6.9% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.40346163511276245 | 0.40555334091186523 |
Compiled 12 to 13 computations (-8.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.4142388506533265e-26 | 6.3569787016604096e-6 |
Compiled 12 to 13 computations (-8.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.4142388506533265e-26 | 6.3569787016604096e-6 |
Compiled 12 to 13 computations (-8.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.498278945684433 | 0.4999849796295166 |
Compiled 12 to 13 computations (-8.3% saved)
| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -1.2057252002579566e-32 | -4.506023229691044e-33 |
Compiled 12 to 13 computations (-8.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.1710119247436523 | 1.9941638708114624 |
Compiled 12 to 14 computations (-16.7% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1339.021240234375 | 22653.533203125 |
Compiled 12 to 13 computations (-8.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1339.021240234375 | 22653.533203125 |
Compiled 12 to 13 computations (-8.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1339.021240234375 | 22653.533203125 |
Compiled 12 to 13 computations (-8.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -1.7660222053527832 | -0.005853248760104179 |
Compiled 12 to 13 computations (-8.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -1.7660222053527832 | -0.005853248760104179 |
Compiled 12 to 13 computations (-8.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.5542907118797302 | 4.161069869995117 |
Compiled 12 to 13 computations (-8.3% saved)
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 140 | 692 |
| 1 | 192 | 688 |
| 2 | 317 | 688 |
| 3 | 645 | 688 |
| 4 | 1723 | 688 |
| 1× | node limit |
| Inputs |
|---|
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(if (<=.f32 (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) #s(literal 13589545/33554432 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32))))))) |
(if (<=.f32 (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) #s(literal 6490371/162259276829213363391578010288128 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32))))))) |
(if (<=.f32 (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) #s(literal 6490371/162259276829213363391578010288128 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32))))))) |
(if (<=.f32 (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) #s(literal 8371831/16777216 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32))))))) |
(if (<=.f32 x #s(literal -13611295/1361129467683753853853498429727072845824 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (/.f32 #s(literal -1 binary32) s))) x #s(literal 2 binary32)))) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32))))))) |
(if (<=.f32 (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal 3/2 binary32)) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))))) |
(if (<=.f32 (/.f32 (neg.f32 x) s) #s(literal 2000 binary32)) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s)))))) |
(if (<=.f32 (/.f32 (neg.f32 x) s) #s(literal 2000 binary32)) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s)))))) |
(if (<=.f32 (/.f32 (neg.f32 x) s) #s(literal 2000 binary32)) #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s)))))) |
(if (<=.f32 (/.f32 (neg.f32 x) s) #s(literal -1 binary32)) #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32))))) |
(if (<=.f32 (/.f32 (neg.f32 x) s) #s(literal -1 binary32)) #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))))) |
(if (<=.f32 (/.f32 (neg.f32 x) s) #s(literal 1 binary32)) #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s))))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
| Outputs |
|---|
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s))))) |
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) |
(if (<=.f32 (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) #s(literal 13589545/33554432 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 #s(literal -1/6 binary32) x) s)) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32))))))) |
(if (<=.f32 (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) #s(literal 6490371/162259276829213363391578010288128 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(approx (+ 1/2 (/ (* -1/6 x) s)) (*.f32 #s(literal -1/6 binary32) (/.f32 x s))) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32))))))) |
(if (<=.f32 (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) #s(literal 6490371/162259276829213363391578010288128 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x s) #s(literal 1 binary32)) s) x #s(literal 1 binary32))))))) |
(if (<=.f32 (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))) #s(literal 8371831/16777216 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 (-.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 s s)) x) (/.f32 #s(literal 1 binary32) s)) x #s(literal 2 binary32)))) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32))))))) |
(if (<=.f32 x #s(literal -13611295/1361129467683753853853498429727072845824 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (fma.f32 #s(literal 1/2 binary32) (/.f32 x (*.f32 s s)) (/.f32 #s(literal -1 binary32) s))) x #s(literal 2 binary32)))) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32))))))) |
(if (<=.f32 (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))) #s(literal 3/2 binary32)) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 (fma.f32 (/.f32 #s(literal 1/2 binary32) s) x #s(literal -1 binary32)) s)) x #s(literal 2 binary32))))) |
(if (<=.f32 (/.f32 (neg.f32 x) s) #s(literal 2000 binary32)) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) x) s)) (*.f32 s s)))))) |
(if (<=.f32 (/.f32 (neg.f32 x) s) #s(literal 2000 binary32)) (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) #s(approx (exp (/ x s)) (+.f32 (/.f32 x s) #s(literal 1 binary32)))))) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s)))))) |
(if (<=.f32 (/.f32 (neg.f32 x) s) #s(literal 2000 binary32)) #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (+ (* (- (* (/ 1/2 (* s s)) x) (/ 1 s)) x) 2) (/.f32 #s(approx (- (* (* x x) 1/2) (* s x)) (*.f32 (neg.f32 s) x)) (*.f32 s s)))))) |
(if (<=.f32 (/.f32 (neg.f32 x) s) #s(literal -1 binary32)) #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (fma.f32 #s(approx (- (* (/ 1/2 (* s s)) x) (/ 1 s)) (/.f32 #s(literal -1 binary32) s)) x #s(literal 2 binary32))))) |
(if (<=.f32 (/.f32 (neg.f32 x) s) #s(literal -1 binary32)) #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))))) |
(if (<=.f32 (/.f32 (neg.f32 x) s) #s(literal 1 binary32)) #s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) (/.f32 #s(literal 1 binary32) #s(approx (+ 1 (exp (/ (neg x) s))) #s(approx (- 2 (/ x s)) (/.f32 (neg.f32 x) s))))) |
#s(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 56 | 404 |
| 0 | 82 | 401 |
| 1 | 291 | 401 |
| 0 | 1983 | 391 |
| 0 | 323 | 1167 |
| 1 | 1057 | 1024 |
| 2 | 4794 | 998 |
| 0 | 8676 | 940 |
| 0 | 408 | 1700 |
| 1 | 1372 | 1346 |
| 2 | 6860 | 1320 |
| 0 | 8381 | 1249 |
| 0 | 140 | 377 |
| 1 | 435 | 345 |
| 2 | 1799 | 341 |
| 0 | 9323 | 313 |
| 0 | 37 | 207 |
| 0 | 60 | 207 |
| 1 | 198 | 203 |
| 0 | 1398 | 203 |
| 0 | 55 | 350 |
| 0 | 86 | 350 |
| 1 | 297 | 339 |
| 0 | 2212 | 331 |
| 0 | 389 | 1592 |
| 1 | 1340 | 1371 |
| 2 | 5811 | 1365 |
| 0 | 8381 | 1290 |
| 0 | 8 | 27 |
| 0 | 13 | 27 |
| 1 | 43 | 27 |
| 0 | 254 | 27 |
| 1× | fuel |
| 1× | iter limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | unsound |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
Compiled 692 to 144 computations (79.2% saved)
Compiled 1 402 to 304 computations (78.3% saved)
Loading profile data...