
Time bar (total: 4.4s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 1 |
| 50% | 50% | 50% | 0.1% | 0% | 0% | 0% | 2 |
| 50% | 50% | 50% | 0.1% | 0% | 0% | 0% | 3 |
| 75% | 74.9% | 25% | 0.1% | 0% | 0% | 0% | 4 |
| 75% | 74.9% | 25% | 0.1% | 0% | 0% | 0% | 5 |
| 87.5% | 87.4% | 12.5% | 0.1% | 0% | 0% | 0% | 6 |
| 87.5% | 87.4% | 12.5% | 0.1% | 0% | 0% | 0% | 7 |
| 93.8% | 93.7% | 6.2% | 0.1% | 0% | 0% | 0% | 8 |
| 93.8% | 93.7% | 6.2% | 0.1% | 0% | 0% | 0% | 9 |
| 96.9% | 96.8% | 3.1% | 0.1% | 0% | 0% | 0% | 10 |
| 96.9% | 96.8% | 3.1% | 0.1% | 0% | 0% | 0% | 11 |
| 98.4% | 98.3% | 1.6% | 0.1% | 0% | 0% | 0% | 12 |
Compiled 9 to 8 computations (11.1% saved)
| 840.0ms | 8 256× | 0 | valid |
ival-sin: 231.0ms (44.9% of total)ival-mult!: 110.0ms (21.4% of total)ival-div!: 87.0ms (16.9% of total)ival-sinh: 84.0ms (16.3% of total)adjust: 2.0ms (0.4% of total)Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 44 |
| 1 | 70 | 44 |
| 2 | 285 | 44 |
| 3 | 1248 | 44 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 89.4% | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
(abs x)
(negabs y)
Compiled 12 to 12 computations (0% saved)
| Inputs |
|---|
(/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
(*.f64 (sin.f64 x) (sinh.f64 y)) |
(sin.f64 x) |
x |
(sinh.f64 y) |
y |
| Outputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* 1/2 (- (exp y) (/ 1 (exp y)))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y))))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y)))))))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* x (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y)))))))))))) |
#s(approx (sin x) #s(hole binary64 x)) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* -1/6 (pow x 2)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6)))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* 1/2 (/ (* (sin x) (- (exp y) (/ 1 (exp y)))) x)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* (sin x) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (sin x) #s(hole binary64 (sin x))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (/ (* y (sin x)) x))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* y (+ (* 1/6 (/ (* (pow y 2) (sin x)) x)) (/ (sin x) x))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (* (pow y 2) (sin x)) x)) (* 1/6 (/ (sin x) x)))) (/ (sin x) x))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/6 (/ (sin x) x)) (* (pow y 2) (+ (* 1/5040 (/ (* (pow y 2) (sin x)) x)) (* 1/120 (/ (sin x) x)))))) (/ (sin x) x))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (sin x)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* 1/6 (* (pow y 2) (sin x))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/120 (* (pow y 2) (sin x))) (* 1/6 (sin x)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/6 (sin x)) (* (pow y 2) (+ (* 1/5040 (* (pow y 2) (sin x))) (* 1/120 (sin x)))))))))) |
#s(approx (sinh y) #s(hole binary64 y)) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* 1/6 (pow y 2)))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* 1/120 (pow y 2)))))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* (pow y 2) (+ 1/120 (* 1/5040 (pow y 2)))))))))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | y | @ | -inf | ((/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) x (sinh y) y) |
| 2.0ms | x | @ | -inf | ((/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) x (sinh y) y) |
| 2.0ms | y | @ | inf | ((/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) x (sinh y) y) |
| 2.0ms | x | @ | inf | ((/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) x (sinh y) y) |
| 1.0ms | x | @ | 0 | ((/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) x (sinh y) y) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 147 | 699 |
| 0 | 151 | 677 |
| 1 | 939 | 551 |
| 0 | 8859 | 515 |
| 1 | 30163 | 515 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
(/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
(*.f64 (sin.f64 x) (sinh.f64 y)) |
(sin.f64 x) |
x |
(sinh.f64 y) |
y |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* 1/2 (- (exp y) (/ 1 (exp y)))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y))))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y)))))))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* x (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y)))))))))))) |
#s(approx (sin x) #s(hole binary64 x)) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* -1/6 (pow x 2)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6)))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* 1/2 (/ (* (sin x) (- (exp y) (/ 1 (exp y)))) x)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* (sin x) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (sin x) #s(hole binary64 (sin x))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (/ (* y (sin x)) x))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* y (+ (* 1/6 (/ (* (pow y 2) (sin x)) x)) (/ (sin x) x))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (* (pow y 2) (sin x)) x)) (* 1/6 (/ (sin x) x)))) (/ (sin x) x))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/6 (/ (sin x) x)) (* (pow y 2) (+ (* 1/5040 (/ (* (pow y 2) (sin x)) x)) (* 1/120 (/ (sin x) x)))))) (/ (sin x) x))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (sin x)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* 1/6 (* (pow y 2) (sin x))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/120 (* (pow y 2) (sin x))) (* 1/6 (sin x)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/6 (sin x)) (* (pow y 2) (+ (* 1/5040 (* (pow y 2) (sin x))) (* 1/120 (sin x)))))))))) |
#s(approx (sinh y) #s(hole binary64 y)) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* 1/6 (pow y 2)))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* 1/120 (pow y 2)))))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* (pow y 2) (+ 1/120 (* 1/5040 (pow y 2)))))))))) |
| Outputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 x)) (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) x)) |
(*.f64 (*.f64 (neg.f64 (sinh.f64 y)) (sin.f64 x)) (/.f64 #s(literal 1 binary64) (neg.f64 x))) |
(*.f64 (*.f64 (sin.f64 x) (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) x)) #s(literal 1/2 binary64)) |
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (sin.f64 x)) (*.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1/2 binary64))) |
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (sin.f64 x)) (/.f64 #s(literal 1/2 binary64) x)) |
(*.f64 (sinh.f64 y) (/.f64 (sin.f64 x) x)) |
(*.f64 #s(literal 1 binary64) (*.f64 (sinh.f64 y) (/.f64 (sin.f64 x) x))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 x) (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) x))) |
(*.f64 (*.f64 (sinh.f64 y) (sin.f64 x)) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) x)) |
(*.f64 (sin.f64 x) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) x) #s(literal 1/2 binary64))) |
(/.f64 (*.f64 (*.f64 (sinh.f64 y) (sin.f64 x)) #s(literal 1 binary64)) x) |
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (sin.f64 x)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) (neg.f64 x)) |
(/.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 x)) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) #s(literal 1/2 binary64)) (neg.f64 x)) |
(/.f64 (neg.f64 (*.f64 (neg.f64 (sinh.f64 y)) (sin.f64 x))) (neg.f64 (neg.f64 x))) |
(/.f64 (*.f64 (neg.f64 (sinh.f64 y)) (sin.f64 x)) (neg.f64 x)) |
(/.f64 (*.f64 (sinh.f64 y) (sin.f64 x)) x) |
(neg.f64 (/.f64 (*.f64 (sinh.f64 y) (sin.f64 x)) (neg.f64 x))) |
(neg.f64 (/.f64 (*.f64 (neg.f64 (sinh.f64 y)) (sin.f64 x)) x)) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 x)) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) |
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (sin.f64 x)) #s(literal 1/2 binary64)) |
(*.f64 (sinh.f64 y) (sin.f64 x)) |
(*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 (sin.f64 x) #s(literal 1/2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (sin.f64 x))) |
(*.f64 (sin.f64 x) (sinh.f64 y)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (sin.f64 x)) #s(literal 2 binary64)) |
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y))))) |
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 x)) (exp.f64 y) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 (exp.f64 (neg.f64 y))))) |
(fma.f64 (exp.f64 y) (*.f64 #s(literal 1/2 binary64) (sin.f64 x)) (*.f64 (neg.f64 (exp.f64 (neg.f64 y))) (*.f64 #s(literal 1/2 binary64) (sin.f64 x)))) |
(+.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 x)) (exp.f64 y)) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 (exp.f64 (neg.f64 y))))) |
(+.f64 (*.f64 (exp.f64 y) (*.f64 #s(literal 1/2 binary64) (sin.f64 x))) (*.f64 (neg.f64 (exp.f64 (neg.f64 y))) (*.f64 #s(literal 1/2 binary64) (sin.f64 x)))) |
(sin.f64 x) |
x |
(*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) |
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y))) #s(literal -2 binary64)) |
(/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 2 binary64)) |
(sinh.f64 y) |
(neg.f64 (/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y))) #s(literal 2 binary64))) |
(neg.f64 (neg.f64 (sinh.f64 y))) |
(fma.f64 (exp.f64 y) #s(literal 1/2 binary64) (*.f64 (neg.f64 (exp.f64 (neg.f64 y))) #s(literal 1/2 binary64))) |
(fma.f64 #s(literal 1/2 binary64) (exp.f64 y) (*.f64 #s(literal 1/2 binary64) (neg.f64 (exp.f64 (neg.f64 y))))) |
(-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 y)) #s(literal 2 binary64))) |
(+.f64 (*.f64 #s(literal 1/2 binary64) (exp.f64 y)) (*.f64 #s(literal 1/2 binary64) (neg.f64 (exp.f64 (neg.f64 y))))) |
(+.f64 (*.f64 (exp.f64 y) #s(literal 1/2 binary64)) (*.f64 (neg.f64 (exp.f64 (neg.f64 y))) #s(literal 1/2 binary64))) |
(+.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 (neg.f64 (exp.f64 (neg.f64 y))) #s(literal 2 binary64))) |
y |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (fma.f64 (*.f64 x x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal -1/12 binary64))) (sinh.f64 y))) |
#s(approx (/ (* (sin x) (sinh y)) x) (fma.f64 (*.f64 (fma.f64 (*.f64 x x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 x x) #s(literal 1/240 binary64))) (*.f64 #s(literal -1/12 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) x) x (sinh.f64 y))) |
#s(approx (* (sin x) (sinh y)) (*.f64 (sinh.f64 y) x)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64))) x)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (*.f64 x x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal 1/240 binary64) (*.f64 x x) #s(literal -1/12 binary64))) (sinh.f64 y)) x)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 x x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 x x) #s(literal 1/240 binary64))) (*.f64 #s(literal -1/12 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) x) x (sinh.f64 y)) x)) |
#s(approx (sin x) x) |
#s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) |
#s(approx (sin x) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 x x) #s(literal -1/6 binary64)) (*.f64 x x) #s(literal 1 binary64)) x)) |
#s(approx (sin x) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 x x) #s(literal 1/120 binary64)) (*.f64 x x) #s(literal -1/6 binary64)) x) x #s(literal 1 binary64)) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (sinh.f64 y) (/.f64 (sin.f64 x) x))) |
#s(approx (* (sin x) (sinh y)) (*.f64 (sinh.f64 y) (sin.f64 x))) |
#s(approx (sin x) (sin.f64 x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (/.f64 (sin.f64 x) x) y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (/.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) (sin.f64 x)) x) y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (fma.f64 (/.f64 (*.f64 (sin.f64 x) (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal 1/6 binary64))) x) (*.f64 y y) (/.f64 (sin.f64 x) x)) y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (fma.f64 (fma.f64 (*.f64 (/.f64 (*.f64 (sin.f64 x) (fma.f64 #s(literal 1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) x) y) y (*.f64 (/.f64 (sin.f64 x) x) #s(literal 1/6 binary64))) (*.f64 y y) (/.f64 (sin.f64 x) x)) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (sin.f64 x) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) (sin.f64 x)) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (*.f64 (*.f64 (sin.f64 x) (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal 1/6 binary64))) y) y (sin.f64 x)) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 y (fma.f64 (fma.f64 (*.f64 (sin.f64 x) (fma.f64 #s(literal 1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (*.f64 y y) (*.f64 (sin.f64 x) #s(literal 1/6 binary64))) (*.f64 y y) (sin.f64 x)))) |
#s(approx (sinh y) y) |
#s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y)) |
#s(approx (sinh y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal 1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) |
#s(approx (sinh y) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal 1/6 binary64)) y) y #s(literal 1 binary64)) y)) |
Compiled 584 to 254 computations (56.5% saved)
10 alts after pruning (9 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 60 | 9 | 69 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 60 | 10 | 70 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 89.4% | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| 73.3% | (/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) x) | |
| ▶ | 40.0% | (/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) x) |
| 49.5% | (/.f64 (*.f64 #s(approx (sin x) x) (sinh.f64 y)) x) | |
| 80.3% | (/.f64 #s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (*.f64 (*.f64 (sin.f64 x) (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal 1/6 binary64))) y) y (sin.f64 x)) y)) x) | |
| ▶ | 89.4% | (*.f64 (*.f64 (sinh.f64 y) (sin.f64 x)) (/.f64 #s(literal 1 binary64) x)) |
| ▶ | 99.8% | (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) x)) |
| 50.5% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (/.f64 (sin.f64 x) x) y)) | |
| ▶ | 60.8% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
| ▶ | 60.1% | #s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
Compiled 186 to 184 computations (1.1% saved)
| Inputs |
|---|
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) x)) |
(sin.f64 x) |
x |
(/.f64 (sinh.f64 y) x) |
(sinh.f64 y) |
y |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
(*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64))) |
(*.f64 #s(literal 2 binary64) (sinh.f64 y)) |
#s(literal 2 binary64) |
(fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)) |
#s(literal -1/12 binary64) |
(*.f64 x x) |
#s(literal 1/2 binary64) |
(/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) x) |
(*.f64 (sin.f64 x) #s(approx (sinh y) y)) |
#s(approx (sinh y) y) |
(*.f64 (*.f64 (sinh.f64 y) (sin.f64 x)) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 (sinh.f64 y) (sin.f64 x)) |
(/.f64 #s(literal 1 binary64) x) |
#s(literal 1 binary64) |
| Outputs |
|---|
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* 1/2 (- (exp y) (/ 1 (exp y)))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y)))))))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (sin x) #s(hole binary64 x)) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* -1/6 (pow x 2)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6)))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* 1/2 (/ (- (exp y) (/ 1 (exp y))) x)))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 1/2)) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 (+ 1/2 (* -1/12 (pow x 2))))) |
#s(approx (* x x) #s(hole binary64 (pow x 2))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* x (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y)))))))))))) |
#s(approx (/ 1 x) #s(hole binary64 (/ 1 x))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* 1/2 (/ (* (sin x) (- (exp y) (/ 1 (exp y)))) x)))) |
#s(approx (sin x) #s(hole binary64 (sin x))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/2 (/ (- (exp y) (/ 1 (exp y))) (pow x 2))))))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 (* -1/12 (pow x 2)))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/12)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* (sin x) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (/ (* y (sin x)) x))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* y (+ (* 1/6 (/ (* (pow y 2) (sin x)) x)) (/ (sin x) x))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (* (pow y 2) (sin x)) x)) (* 1/6 (/ (sin x) x)))) (/ (sin x) x))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/6 (/ (sin x) x)) (* (pow y 2) (+ (* 1/5040 (/ (* (pow y 2) (sin x)) x)) (* 1/120 (/ (sin x) x)))))) (/ (sin x) x))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (/ y x))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* y (+ (* 1/6 (/ (pow y 2) x)) (/ 1 x))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (pow y 2) x)) (* 1/6 (/ 1 x)))) (/ 1 x))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* (pow y 2) (+ (* 1/5040 (/ (pow y 2) x)) (* 1/120 (/ 1 x)))) (* 1/6 (/ 1 x)))) (/ 1 x))))) |
#s(approx (sinh y) #s(hole binary64 y)) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* 1/6 (pow y 2)))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* 1/120 (pow y 2)))))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* (pow y 2) (+ 1/120 (* 1/5040 (pow y 2)))))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* 2 (* y (+ 1/2 (* -1/12 (pow x 2))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* y (+ (* 1/3 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 2 (+ 1/2 (* -1/12 (pow x 2)))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* y (+ (* 2 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/60 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 1/3 (+ 1/2 (* -1/12 (pow x 2)))))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* y (+ (* 2 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/3 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/2520 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 1/60 (+ 1/2 (* -1/12 (pow x 2)))))))))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* 2 y))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* 1/3 (pow y 2)))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* (pow y 2) (+ 1/3 (* 1/60 (pow y 2)))))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* (pow y 2) (+ 1/3 (* (pow y 2) (+ 1/60 (* 1/2520 (pow y 2)))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (sin x)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* 1/6 (* (pow y 2) (sin x))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/120 (* (pow y 2) (sin x))) (* 1/6 (sin x)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/6 (sin x)) (* (pow y 2) (+ (* 1/5040 (* (pow y 2) (sin x))) (* 1/120 (sin x)))))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* (+ 1/2 (* -1/12 (pow x 2))) (- (exp y) (/ 1 (exp y)))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (- (exp y) (/ 1 (exp y))))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 31.0ms | x | @ | inf | ((* (sin x) (/ (sinh y) x)) (sin x) x (/ (sinh y) x) (sinh y) y (/ (* (sin x) (sinh y)) x) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (* 2 (sinh y)) 2 (+ (* -1/12 (* x x)) 1/2) -1/12 (* x x) 1/2 (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sinh y) (* (* (sinh y) (sin x)) (/ 1 x)) (* (sinh y) (sin x)) (/ 1 x) 1) |
| 5.0ms | y | @ | -inf | ((* (sin x) (/ (sinh y) x)) (sin x) x (/ (sinh y) x) (sinh y) y (/ (* (sin x) (sinh y)) x) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (* 2 (sinh y)) 2 (+ (* -1/12 (* x x)) 1/2) -1/12 (* x x) 1/2 (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sinh y) (* (* (sinh y) (sin x)) (/ 1 x)) (* (sinh y) (sin x)) (/ 1 x) 1) |
| 3.0ms | y | @ | inf | ((* (sin x) (/ (sinh y) x)) (sin x) x (/ (sinh y) x) (sinh y) y (/ (* (sin x) (sinh y)) x) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (* 2 (sinh y)) 2 (+ (* -1/12 (* x x)) 1/2) -1/12 (* x x) 1/2 (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sinh y) (* (* (sinh y) (sin x)) (/ 1 x)) (* (sinh y) (sin x)) (/ 1 x) 1) |
| 3.0ms | x | @ | -inf | ((* (sin x) (/ (sinh y) x)) (sin x) x (/ (sinh y) x) (sinh y) y (/ (* (sin x) (sinh y)) x) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (* 2 (sinh y)) 2 (+ (* -1/12 (* x x)) 1/2) -1/12 (* x x) 1/2 (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sinh y) (* (* (sinh y) (sin x)) (/ 1 x)) (* (sinh y) (sin x)) (/ 1 x) 1) |
| 2.0ms | x | @ | 0 | ((* (sin x) (/ (sinh y) x)) (sin x) x (/ (sinh y) x) (sinh y) y (/ (* (sin x) (sinh y)) x) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (* 2 (sinh y)) 2 (+ (* -1/12 (* x x)) 1/2) -1/12 (* x x) 1/2 (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sinh y) (* (* (sinh y) (sin x)) (/ 1 x)) (* (sinh y) (sin x)) (/ 1 x) 1) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 262 | 1315 |
| 0 | 287 | 1197 |
| 1 | 1712 | 1185 |
| 0 | 8297 | 1131 |
| 1 | 26374 | 1131 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) x)) |
(sin.f64 x) |
x |
(/.f64 (sinh.f64 y) x) |
(sinh.f64 y) |
y |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
(*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64))) |
(*.f64 #s(literal 2 binary64) (sinh.f64 y)) |
#s(literal 2 binary64) |
(fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)) |
#s(literal -1/12 binary64) |
(*.f64 x x) |
#s(literal 1/2 binary64) |
(/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) x) |
(*.f64 (sin.f64 x) #s(approx (sinh y) y)) |
#s(approx (sinh y) y) |
(*.f64 (*.f64 (sinh.f64 y) (sin.f64 x)) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 (sinh.f64 y) (sin.f64 x)) |
(/.f64 #s(literal 1 binary64) x) |
#s(literal 1 binary64) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* 1/2 (- (exp y) (/ 1 (exp y)))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y)))))))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (sin x) #s(hole binary64 x)) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* -1/6 (pow x 2)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6)))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* 1/2 (/ (- (exp y) (/ 1 (exp y))) x)))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 1/2)) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 (+ 1/2 (* -1/12 (pow x 2))))) |
#s(approx (* x x) #s(hole binary64 (pow x 2))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* x (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y)))))))))))) |
#s(approx (/ 1 x) #s(hole binary64 (/ 1 x))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* 1/2 (/ (* (sin x) (- (exp y) (/ 1 (exp y)))) x)))) |
#s(approx (sin x) #s(hole binary64 (sin x))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/2 (/ (- (exp y) (/ 1 (exp y))) (pow x 2))))))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 (* -1/12 (pow x 2)))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/12)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* (sin x) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (/ (* y (sin x)) x))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* y (+ (* 1/6 (/ (* (pow y 2) (sin x)) x)) (/ (sin x) x))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (* (pow y 2) (sin x)) x)) (* 1/6 (/ (sin x) x)))) (/ (sin x) x))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/6 (/ (sin x) x)) (* (pow y 2) (+ (* 1/5040 (/ (* (pow y 2) (sin x)) x)) (* 1/120 (/ (sin x) x)))))) (/ (sin x) x))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (/ y x))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* y (+ (* 1/6 (/ (pow y 2) x)) (/ 1 x))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (pow y 2) x)) (* 1/6 (/ 1 x)))) (/ 1 x))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* (pow y 2) (+ (* 1/5040 (/ (pow y 2) x)) (* 1/120 (/ 1 x)))) (* 1/6 (/ 1 x)))) (/ 1 x))))) |
#s(approx (sinh y) #s(hole binary64 y)) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* 1/6 (pow y 2)))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* 1/120 (pow y 2)))))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* (pow y 2) (+ 1/120 (* 1/5040 (pow y 2)))))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* 2 (* y (+ 1/2 (* -1/12 (pow x 2))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* y (+ (* 1/3 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 2 (+ 1/2 (* -1/12 (pow x 2)))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* y (+ (* 2 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/60 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 1/3 (+ 1/2 (* -1/12 (pow x 2)))))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* y (+ (* 2 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/3 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/2520 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 1/60 (+ 1/2 (* -1/12 (pow x 2)))))))))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* 2 y))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* 1/3 (pow y 2)))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* (pow y 2) (+ 1/3 (* 1/60 (pow y 2)))))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* (pow y 2) (+ 1/3 (* (pow y 2) (+ 1/60 (* 1/2520 (pow y 2)))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (sin x)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* 1/6 (* (pow y 2) (sin x))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/120 (* (pow y 2) (sin x))) (* 1/6 (sin x)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/6 (sin x)) (* (pow y 2) (+ (* 1/5040 (* (pow y 2) (sin x))) (* 1/120 (sin x)))))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* (+ 1/2 (* -1/12 (pow x 2))) (- (exp y) (/ 1 (exp y)))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (- (exp y) (/ 1 (exp y))))) |
| Outputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) x) (*.f64 (sin.f64 x) (sinh.f64 y))) |
(*.f64 (/.f64 (sinh.f64 y) x) (sin.f64 x)) |
(*.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) x)) |
(*.f64 (sinh.f64 y) (/.f64 (sin.f64 x) x)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (neg.f64 (sin.f64 x))) (*.f64 #s(literal 2 binary64) (neg.f64 x))) |
(/.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) #s(literal 1 binary64))) (neg.f64 x)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 (sin.f64 x) (sinh.f64 y)))) (neg.f64 (neg.f64 x))) |
(/.f64 (*.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) #s(literal 1 binary64)) x) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (sinh.f64 y))) (neg.f64 x)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (sin.f64 x)) (*.f64 #s(literal 2 binary64) x)) |
(/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
(sin.f64 x) |
x |
(*.f64 (sinh.f64 y) (/.f64 #s(literal 1 binary64) x)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal -1 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 x))) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) x)) |
(/.f64 (neg.f64 (sinh.f64 (neg.f64 y))) (neg.f64 (neg.f64 x))) |
(/.f64 (sinh.f64 (neg.f64 y)) (neg.f64 x)) |
(/.f64 (sinh.f64 y) x) |
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y))) #s(literal -2 binary64)) |
(/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 2 binary64)) |
(sinh.f64 y) |
(-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 y)) #s(literal 2 binary64))) |
(+.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 (neg.f64 (exp.f64 (neg.f64 y))) #s(literal 2 binary64))) |
(+.f64 (/.f64 (sinh.f64 y) #s(literal 2 binary64)) (/.f64 (sinh.f64 y) #s(literal 2 binary64))) |
y |
#s(approx (* (sin x) (/ (sinh y) x)) (sinh.f64 y)) |
#s(approx (* (sin x) (/ (sinh y) x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) |
(*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) |
(*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) |
(*.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 y) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))) |
(fma.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64))) |
(fma.f64 (*.f64 (*.f64 x x) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) #s(literal -1/12 binary64) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64))) |
(fma.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64))) |
(fma.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64) (*.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) |
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) |
(fma.f64 #s(literal -1/12 binary64) (*.f64 (*.f64 x x) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64))) |
(-.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) (*.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) |
(-.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) (neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64)))) |
(+.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64))) |
(+.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64))) |
(+.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) |
(*.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (/.f64 (+.f64 y y) #s(literal 2 binary64))) (cosh.f64 (/.f64 (-.f64 y y) #s(literal 2 binary64))))) |
(*.f64 #s(literal 2 binary64) (sinh.f64 y)) |
(*.f64 (sinh.f64 y) #s(literal 2 binary64)) |
(/.f64 (fma.f64 #s(literal 2 binary64) (sinh.f64 y) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) #s(literal 2 binary64)) |
(/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) #s(literal 4 binary64)) |
(neg.f64 (-.f64 (exp.f64 (neg.f64 y)) (exp.f64 y))) |
(-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) |
(+.f64 (exp.f64 y) (neg.f64 (exp.f64 (neg.f64 y)))) |
(+.f64 (sinh.f64 y) (sinh.f64 y)) |
#s(literal 2 binary64) |
(fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) |
(fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) |
(fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)) |
(-.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) #s(literal -1/2 binary64)) |
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/12 binary64) (*.f64 x x))) |
(-.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)))) |
(+.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) #s(literal 1/2 binary64)) |
(+.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))) |
#s(literal -1/12 binary64) |
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x))) |
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x))) |
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x))) |
(*.f64 (fabs.f64 x) (fabs.f64 x)) |
(*.f64 (neg.f64 x) (neg.f64 x)) |
(*.f64 x x) |
(pow.f64 (fabs.f64 (fabs.f64 x)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 x)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 x)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 x) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 x) #s(literal 2 binary64)) |
(pow.f64 x #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 x x) (*.f64 x x))) |
(fabs.f64 (neg.f64 (*.f64 x x))) |
(fabs.f64 (*.f64 x x)) |
#s(literal 1/2 binary64) |
(*.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 (sin.f64 x) (/.f64 #s(approx (sinh y) y) x)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)))) (neg.f64 (neg.f64 x))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y))) (neg.f64 x)) |
(/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sinh y) y) (sin.f64 x)) |
(*.f64 (sin.f64 x) #s(approx (sinh y) y)) |
#s(approx (sinh y) y) |
(*.f64 (/.f64 #s(literal 1 binary64) x) (*.f64 (sin.f64 x) (sinh.f64 y))) |
(*.f64 (/.f64 (sinh.f64 y) x) (sin.f64 x)) |
(*.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) x)) |
(*.f64 (sinh.f64 y) (/.f64 (sin.f64 x) x)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (neg.f64 (sin.f64 x))) (*.f64 #s(literal 2 binary64) (neg.f64 x))) |
(/.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) #s(literal 1 binary64))) (neg.f64 x)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 (sin.f64 x) (sinh.f64 y)))) (neg.f64 (neg.f64 x))) |
(/.f64 (*.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) #s(literal 1 binary64)) x) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (sinh.f64 y))) (neg.f64 x)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (sin.f64 x)) (*.f64 #s(literal 2 binary64) x)) |
(/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
(*.f64 (sin.f64 x) (sinh.f64 y)) |
(*.f64 (sinh.f64 y) (sin.f64 x)) |
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x)) |
(pow.f64 x #s(literal -1 binary64)) |
(/.f64 #s(literal -1 binary64) (neg.f64 x)) |
(/.f64 #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 x))) |
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 x))) |
(/.f64 #s(literal 1 binary64) x) |
(/.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) x)) |
#s(literal 1 binary64) |
#s(approx (* (sin x) (/ (sinh y) x)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64))) |
#s(approx (* (sin x) (/ (sinh y) x)) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) |
#s(approx (* (sin x) (/ (sinh y) x)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 x x)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal -1/12 binary64))) (*.f64 x x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64)))) |
#s(approx (* (sin x) (/ (sinh y) x)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/10080 binary64) (*.f64 x x)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 #s(literal 1/240 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) (*.f64 x x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal -1/12 binary64))) (*.f64 x x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64)))) |
#s(approx (sin x) x) |
#s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) |
#s(approx (sin x) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 x x) #s(literal -1/6 binary64)) (*.f64 x x) #s(literal 1 binary64)) x)) |
#s(approx (sin x) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 x x) #s(literal 1/120 binary64)) (*.f64 x x) #s(literal -1/6 binary64)) (*.f64 x x) #s(literal 1 binary64)) x)) |
#s(approx (/ (sinh y) x) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) x) #s(literal 1/2 binary64))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(literal 1/2 binary64)) |
#s(approx (+ (* -1/12 (* x x)) 1/2) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) |
#s(approx (* x x) (*.f64 x x)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) x) #s(literal 1/2 binary64))) |
#s(approx (* (sin x) (sinh y)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) x)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 x x)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal -1/12 binary64))) (*.f64 x x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64))) x)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/10080 binary64) (*.f64 x x)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 #s(literal 1/240 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) (*.f64 x x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal -1/12 binary64))) (*.f64 x x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal 1/2 binary64))) x)) |
#s(approx (/ 1 x) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (* (sin x) (/ (sinh y) x)) (*.f64 (*.f64 (sin.f64 x) (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) x)) #s(literal 1/2 binary64))) |
#s(approx (sin x) (sin.f64 x)) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 x x)) #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal -1/12 binary64))) (*.f64 x x))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/12 binary64)) (*.f64 x x))) |
#s(approx (* (sin x) (sinh y)) (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (sin.f64 x)) #s(literal 1/2 binary64))) |
#s(approx (* (sin x) (/ (sinh y) x)) (*.f64 y (/.f64 (sin.f64 x) x))) |
#s(approx (* (sin x) (/ (sinh y) x)) (*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)) (sin.f64 x) (sin.f64 x)) x) y)) |
#s(approx (* (sin x) (/ (sinh y) x)) (*.f64 (fma.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/120 binary64) (*.f64 (sin.f64 x) #s(literal 1/6 binary64))) x) (*.f64 y y) (/.f64 (sin.f64 x) x)) y)) |
#s(approx (* (sin x) (/ (sinh y) x)) (*.f64 (fma.f64 (fma.f64 (/.f64 (sin.f64 x) x) #s(literal 1/6 binary64) (*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/5040 binary64) (*.f64 (sin.f64 x) #s(literal 1/120 binary64))) x) (*.f64 y y))) (*.f64 y y) (/.f64 (sin.f64 x) x)) y)) |
#s(approx (/ (sinh y) x) (/.f64 y x)) |
#s(approx (/ (sinh y) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y)) |
#s(approx (/ (sinh y) x) (fma.f64 y (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal 1/6 binary64)) x) (*.f64 y y)) (/.f64 y x))) |
#s(approx (/ (sinh y) x) (*.f64 (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) x) (*.f64 y y) (/.f64 #s(literal 1/6 binary64) x)) (*.f64 y y) (/.f64 #s(literal 1 binary64) x)) y)) |
#s(approx (sinh y) y) |
#s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y)) |
#s(approx (sinh y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal 1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) |
#s(approx (sinh y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal 1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (+.f64 y y) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (fma.f64 (*.f64 #s(literal 1/3 binary64) (*.f64 y y)) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64))) y)) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/60 binary64) (*.f64 y y)) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 #s(literal 1/3 binary64) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))) (*.f64 y y) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64))) y)) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/2520 binary64) (*.f64 y y)) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 #s(literal 1/60 binary64) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))) (*.f64 y y) (*.f64 #s(literal 1/3 binary64) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))) (*.f64 y y) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64))) y)) |
#s(approx (* 2 (sinh y)) (+.f64 y y)) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/60 binary64) (*.f64 y y) #s(literal 1/3 binary64)) (*.f64 y y) #s(literal 2 binary64)) y)) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/2520 binary64) (*.f64 y y) #s(literal 1/60 binary64)) (*.f64 y y) #s(literal 1/3 binary64)) (*.f64 y y) #s(literal 2 binary64)) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (sin.f64 x) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)) (sin.f64 x) (sin.f64 x)) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/120 binary64) (*.f64 (sin.f64 x) #s(literal 1/6 binary64))) (*.f64 y y) (sin.f64 x)) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 x) (*.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/5040 binary64) (*.f64 (sin.f64 x) #s(literal 1/120 binary64))) (*.f64 y y))) (*.f64 y y) (sin.f64 x)) y)) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) |
#s(approx (* 2 (sinh y)) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) |
Compiled 1 351 to 561 computations (58.5% saved)
18 alts after pruning (15 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 146 | 13 | 159 |
| Fresh | 2 | 2 | 4 |
| Picked | 3 | 2 | 5 |
| Done | 0 | 1 | 1 |
| Total | 151 | 18 | 169 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 89.4% | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| 73.3% | (/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) x) | |
| ✓ | 40.0% | (/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) x) |
| ▶ | 27.2% | (/.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) #s(approx (sinh y) y)) x) |
| ▶ | 23.5% | (/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
| 49.5% | (*.f64 (*.f64 (sinh.f64 y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) | |
| 40.0% | (*.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) (/.f64 #s(literal 1 binary64) x)) | |
| 60.2% | (*.f64 (sin.f64 x) (/.f64 #s(approx (sinh y) y) x)) | |
| ▶ | 83.4% | (*.f64 (sin.f64 x) #s(approx (/ (sinh y) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
| 72.7% | (*.f64 #s(approx (sin x) x) (/.f64 (sinh.f64 y) x)) | |
| ▶ | 51.8% | #s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 y)) #s(literal 2 binary64)))) |
| 50.5% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (/.f64 (sin.f64 x) x) y)) | |
| 60.8% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) | |
| 17.9% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) | |
| 36.3% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) | |
| ▶ | 52.8% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
| ✓ | 60.1% | #s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
| 49.2% | #s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
Compiled 399 to 393 computations (1.5% saved)
| Inputs |
|---|
(*.f64 (sin.f64 x) #s(approx (/ (sinh y) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
(sin.f64 x) |
x |
#s(approx (/ (sinh y) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y)) |
(*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y) |
(/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) |
(fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) |
(*.f64 y y) |
y |
#s(literal 1/6 binary64) |
#s(literal 1 binary64) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) |
#s(approx (sin x) x) |
#s(approx (sinh y) y) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) #s(approx (sinh y) y)) |
#s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) |
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x) |
(fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) |
#s(literal -1/6 binary64) |
(*.f64 x x) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64))) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) |
(*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y) |
(fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) |
#s(literal 1/3 binary64) |
#s(literal 2 binary64) |
(fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)) |
#s(literal -1/12 binary64) |
#s(literal 1/2 binary64) |
#s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 y)) #s(literal 2 binary64)))) |
(-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 y)) #s(literal 2 binary64))) |
(/.f64 (exp.f64 y) #s(literal 2 binary64)) |
(exp.f64 y) |
(/.f64 (exp.f64 (neg.f64 y)) #s(literal 2 binary64)) |
(exp.f64 (neg.f64 y)) |
(neg.f64 y) |
| Outputs |
|---|
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* 1/2 (- (exp y) (/ 1 (exp y)))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y)))))))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (sin x) #s(hole binary64 x)) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* -1/6 (pow x 2)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6)))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* 1/2 (/ (- (exp y) (/ 1 (exp y))) x)))) |
#s(approx (* (/ (+ (* (* y y) 1/6) 1) x) y) #s(hole binary64 (/ (* y (+ 1 (* 1/6 (pow y 2)))) x))) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) #s(hole binary64 (/ (+ 1 (* 1/6 (pow y 2))) x))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* x (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y)))))))))))) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 1)) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 (+ 1 (* -1/6 (pow x 2))))) |
#s(approx (* x x) #s(hole binary64 (pow x 2))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 1/2)) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 (+ 1/2 (* -1/12 (pow x 2))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* 1/2 (/ (* (sin x) (- (exp y) (/ 1 (exp y)))) x)))) |
#s(approx (sin x) #s(hole binary64 (sin x))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* (sin x) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) #s(hole binary64 (* -1/6 (pow x 3)))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) #s(hole binary64 (* (pow x 3) (- (/ 1 (pow x 2)) 1/6)))) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 (* -1/6 (pow x 2)))) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 (* (pow x 2) (- (/ 1 (pow x 2)) 1/6)))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/2 (/ (- (exp y) (/ 1 (exp y))) (pow x 2))))))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 (* -1/12 (pow x 2)))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/12)))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) #s(hole binary64 (* -1 (* (pow x 3) (- 1/6 (/ 1 (pow x 2))))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (/ (* y (sin x)) x))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* y (+ (* 1/6 (/ (* (pow y 2) (sin x)) x)) (/ (sin x) x))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (* (pow y 2) (sin x)) x)) (* 1/6 (/ (sin x) x)))) (/ (sin x) x))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/6 (/ (sin x) x)) (* (pow y 2) (+ (* 1/5040 (/ (* (pow y 2) (sin x)) x)) (* 1/120 (/ (sin x) x)))))) (/ (sin x) x))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (/ y x))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* y (+ (* 1/6 (/ (pow y 2) x)) (/ 1 x))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (pow y 2) x)) (* 1/6 (/ 1 x)))) (/ 1 x))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* (pow y 2) (+ (* 1/5040 (/ (pow y 2) x)) (* 1/120 (/ 1 x)))) (* 1/6 (/ 1 x)))) (/ 1 x))))) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) #s(hole binary64 (/ 1 x))) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) #s(hole binary64 (+ (* 1/6 (/ (pow y 2) x)) (/ 1 x)))) |
#s(approx (+ (* (* y y) 1/6) 1) #s(hole binary64 (+ 1 (* 1/6 (pow y 2))))) |
#s(approx (* y y) #s(hole binary64 (pow y 2))) |
#s(approx y #s(hole binary64 y)) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (sin x)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* 1/6 (* (pow y 2) (sin x))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/120 (* (pow y 2) (sin x))) (* 1/6 (sin x)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/6 (sin x)) (* (pow y 2) (+ (* 1/5040 (* (pow y 2) (sin x))) (* 1/120 (sin x)))))))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* 1/6 (pow y 2)))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* 1/120 (pow y 2)))))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* (pow y 2) (+ 1/120 (* 1/5040 (pow y 2)))))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* 2 (* y (+ 1/2 (* -1/12 (pow x 2))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* y (+ (* 1/3 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 2 (+ 1/2 (* -1/12 (pow x 2)))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* y (+ (* 2 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/60 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 1/3 (+ 1/2 (* -1/12 (pow x 2)))))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* y (+ (* 2 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/3 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/2520 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 1/60 (+ 1/2 (* -1/12 (pow x 2)))))))))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* 2 y))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* 1/3 (pow y 2)))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* (pow y 2) (+ 1/3 (* 1/60 (pow y 2)))))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* (pow y 2) (+ 1/3 (* (pow y 2) (+ 1/60 (* 1/2520 (pow y 2)))))))))) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 2)) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 (+ 2 (* 1/3 (pow y 2))))) |
#s(approx (/ (exp y) 2) #s(hole binary64 (+ 1/2 (* 1/2 y)))) |
#s(approx (/ (exp y) 2) #s(hole binary64 (+ 1/2 (* y (+ 1/2 (* 1/4 y)))))) |
#s(approx (/ (exp y) 2) #s(hole binary64 (+ 1/2 (* y (+ 1/2 (* y (+ 1/4 (* 1/12 y)))))))) |
#s(approx (exp y) #s(hole binary64 (+ 1 y))) |
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* 1/2 y)))))) |
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* y (+ 1/2 (* 1/6 y)))))))) |
#s(approx (/ (exp (neg y)) 2) #s(hole binary64 (+ 1/2 (* -1/2 y)))) |
#s(approx (/ (exp (neg y)) 2) #s(hole binary64 (+ 1/2 (* y (- (* 1/4 y) 1/2))))) |
#s(approx (/ (exp (neg y)) 2) #s(hole binary64 (+ 1/2 (* y (- (* y (+ 1/4 (* -1/12 y))) 1/2))))) |
#s(approx (exp (neg y)) #s(hole binary64 (+ 1 (* -1 y)))) |
#s(approx (exp (neg y)) #s(hole binary64 (+ 1 (* y (- (* 1/2 y) 1))))) |
#s(approx (exp (neg y)) #s(hole binary64 (+ 1 (* y (- (* y (+ 1/2 (* -1/6 y))) 1))))) |
#s(approx (neg y) #s(hole binary64 (* -1 y))) |
#s(approx (* (/ (+ (* (* y y) 1/6) 1) x) y) #s(hole binary64 (* 1/6 (/ (pow y 3) x)))) |
#s(approx (* (/ (+ (* (* y y) 1/6) 1) x) y) #s(hole binary64 (* (pow y 3) (+ (* 1/6 (/ 1 x)) (/ 1 (* x (pow y 2))))))) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) #s(hole binary64 (* 1/6 (/ (pow y 2) x)))) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) #s(hole binary64 (* (pow y 2) (+ (* 1/6 (/ 1 x)) (/ 1 (* x (pow y 2))))))) |
#s(approx (+ (* (* y y) 1/6) 1) #s(hole binary64 (* 1/6 (pow y 2)))) |
#s(approx (+ (* (* y y) 1/6) 1) #s(hole binary64 (* (pow y 2) (+ 1/6 (/ 1 (pow y 2)))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* (+ 1/2 (* -1/12 (pow x 2))) (- (exp y) (/ 1 (exp y)))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (- (exp y) (/ 1 (exp y))))) |
#s(approx (* (+ (* 1/3 (* y y)) 2) y) #s(hole binary64 (* 1/3 (pow y 3)))) |
#s(approx (* (+ (* 1/3 (* y y)) 2) y) #s(hole binary64 (* (pow y 3) (+ 1/3 (* 2 (/ 1 (pow y 2))))))) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 (* 1/3 (pow y 2)))) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 (* (pow y 2) (+ 1/3 (* 2 (/ 1 (pow y 2))))))) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) #s(hole binary64 (- (* 1/2 (exp y)) (* 1/2 (exp (neg y)))))) |
#s(approx (/ (exp y) 2) #s(hole binary64 (* 1/2 (exp y)))) |
#s(approx (exp y) #s(hole binary64 (exp y))) |
#s(approx (/ (exp (neg y)) 2) #s(hole binary64 (* 1/2 (exp (neg y))))) |
#s(approx (exp (neg y)) #s(hole binary64 (exp (neg y)))) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) #s(hole binary64 (- (* 1/2 (exp y)) (* 1/2 (exp (* -1 y)))))) |
#s(approx (/ (exp (neg y)) 2) #s(hole binary64 (* 1/2 (exp (* -1 y))))) |
#s(approx (exp (neg y)) #s(hole binary64 (exp (* -1 y)))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 6.0ms | x | @ | 0 | ((* (sin x) (/ (sinh y) x)) (sin x) x (/ (sinh y) x) (* (/ (+ (* (* y y) 1/6) 1) x) y) (/ (+ (* (* y y) 1/6) 1) x) (+ (* (* y y) 1/6) 1) (* y y) y 1/6 1 (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (sinh y) (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (* (+ (* -1/6 (* x x)) 1) x) (+ (* -1/6 (* x x)) 1) -1/6 (* x x) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (* 2 (sinh y)) (* (+ (* 1/3 (* y y)) 2) y) (+ (* 1/3 (* y y)) 2) 1/3 2 (+ (* -1/12 (* x x)) 1/2) -1/12 1/2 (/ (* (sin x) (sinh y)) x) (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (/ (exp y) 2) (exp y) (/ (exp (neg y)) 2) (exp (neg y)) (neg y)) |
| 5.0ms | y | @ | -inf | ((* (sin x) (/ (sinh y) x)) (sin x) x (/ (sinh y) x) (* (/ (+ (* (* y y) 1/6) 1) x) y) (/ (+ (* (* y y) 1/6) 1) x) (+ (* (* y y) 1/6) 1) (* y y) y 1/6 1 (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (sinh y) (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (* (+ (* -1/6 (* x x)) 1) x) (+ (* -1/6 (* x x)) 1) -1/6 (* x x) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (* 2 (sinh y)) (* (+ (* 1/3 (* y y)) 2) y) (+ (* 1/3 (* y y)) 2) 1/3 2 (+ (* -1/12 (* x x)) 1/2) -1/12 1/2 (/ (* (sin x) (sinh y)) x) (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (/ (exp y) 2) (exp y) (/ (exp (neg y)) 2) (exp (neg y)) (neg y)) |
| 4.0ms | y | @ | inf | ((* (sin x) (/ (sinh y) x)) (sin x) x (/ (sinh y) x) (* (/ (+ (* (* y y) 1/6) 1) x) y) (/ (+ (* (* y y) 1/6) 1) x) (+ (* (* y y) 1/6) 1) (* y y) y 1/6 1 (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (sinh y) (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (* (+ (* -1/6 (* x x)) 1) x) (+ (* -1/6 (* x x)) 1) -1/6 (* x x) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (* 2 (sinh y)) (* (+ (* 1/3 (* y y)) 2) y) (+ (* 1/3 (* y y)) 2) 1/3 2 (+ (* -1/12 (* x x)) 1/2) -1/12 1/2 (/ (* (sin x) (sinh y)) x) (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (/ (exp y) 2) (exp y) (/ (exp (neg y)) 2) (exp (neg y)) (neg y)) |
| 4.0ms | x | @ | -inf | ((* (sin x) (/ (sinh y) x)) (sin x) x (/ (sinh y) x) (* (/ (+ (* (* y y) 1/6) 1) x) y) (/ (+ (* (* y y) 1/6) 1) x) (+ (* (* y y) 1/6) 1) (* y y) y 1/6 1 (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (sinh y) (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (* (+ (* -1/6 (* x x)) 1) x) (+ (* -1/6 (* x x)) 1) -1/6 (* x x) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (* 2 (sinh y)) (* (+ (* 1/3 (* y y)) 2) y) (+ (* 1/3 (* y y)) 2) 1/3 2 (+ (* -1/12 (* x x)) 1/2) -1/12 1/2 (/ (* (sin x) (sinh y)) x) (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (/ (exp y) 2) (exp y) (/ (exp (neg y)) 2) (exp (neg y)) (neg y)) |
| 3.0ms | x | @ | inf | ((* (sin x) (/ (sinh y) x)) (sin x) x (/ (sinh y) x) (* (/ (+ (* (* y y) 1/6) 1) x) y) (/ (+ (* (* y y) 1/6) 1) x) (+ (* (* y y) 1/6) 1) (* y y) y 1/6 1 (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (sinh y) (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (* (+ (* -1/6 (* x x)) 1) x) (+ (* -1/6 (* x x)) 1) -1/6 (* x x) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (* 2 (sinh y)) (* (+ (* 1/3 (* y y)) 2) y) (+ (* 1/3 (* y y)) 2) 1/3 2 (+ (* -1/12 (* x x)) 1/2) -1/12 1/2 (/ (* (sin x) (sinh y)) x) (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (/ (exp y) 2) (exp y) (/ (exp (neg y)) 2) (exp (neg y)) (neg y)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 417 | 2152 |
| 0 | 453 | 1921 |
| 1 | 2646 | 1911 |
| 0 | 10519 | 1835 |
| 1 | 34446 | 1835 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
(*.f64 (sin.f64 x) #s(approx (/ (sinh y) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
(sin.f64 x) |
x |
#s(approx (/ (sinh y) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y)) |
(*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y) |
(/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) |
(fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) |
(*.f64 y y) |
y |
#s(literal 1/6 binary64) |
#s(literal 1 binary64) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) |
#s(approx (sin x) x) |
#s(approx (sinh y) y) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) #s(approx (sinh y) y)) |
#s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) |
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x) |
(fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) |
#s(literal -1/6 binary64) |
(*.f64 x x) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64))) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) |
(*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y) |
(fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) |
#s(literal 1/3 binary64) |
#s(literal 2 binary64) |
(fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)) |
#s(literal -1/12 binary64) |
#s(literal 1/2 binary64) |
#s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 y)) #s(literal 2 binary64)))) |
(-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 y)) #s(literal 2 binary64))) |
(/.f64 (exp.f64 y) #s(literal 2 binary64)) |
(exp.f64 y) |
(/.f64 (exp.f64 (neg.f64 y)) #s(literal 2 binary64)) |
(exp.f64 (neg.f64 y)) |
(neg.f64 y) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* 1/2 (- (exp y) (/ 1 (exp y)))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y)))))))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (sin x) #s(hole binary64 x)) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* -1/6 (pow x 2)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6)))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* 1/2 (/ (- (exp y) (/ 1 (exp y))) x)))) |
#s(approx (* (/ (+ (* (* y y) 1/6) 1) x) y) #s(hole binary64 (/ (* y (+ 1 (* 1/6 (pow y 2)))) x))) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) #s(hole binary64 (/ (+ 1 (* 1/6 (pow y 2))) x))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* x (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y)))))))))))) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 1)) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 (+ 1 (* -1/6 (pow x 2))))) |
#s(approx (* x x) #s(hole binary64 (pow x 2))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 1/2)) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 (+ 1/2 (* -1/12 (pow x 2))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* 1/2 (/ (* (sin x) (- (exp y) (/ 1 (exp y)))) x)))) |
#s(approx (sin x) #s(hole binary64 (sin x))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* (sin x) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) #s(hole binary64 (* -1/6 (pow x 3)))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) #s(hole binary64 (* (pow x 3) (- (/ 1 (pow x 2)) 1/6)))) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 (* -1/6 (pow x 2)))) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 (* (pow x 2) (- (/ 1 (pow x 2)) 1/6)))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/2 (/ (- (exp y) (/ 1 (exp y))) (pow x 2))))))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 (* -1/12 (pow x 2)))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(hole binary64 (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/12)))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) #s(hole binary64 (* -1 (* (pow x 3) (- 1/6 (/ 1 (pow x 2))))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (/ (* y (sin x)) x))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* y (+ (* 1/6 (/ (* (pow y 2) (sin x)) x)) (/ (sin x) x))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (* (pow y 2) (sin x)) x)) (* 1/6 (/ (sin x) x)))) (/ (sin x) x))))) |
#s(approx (* (sin x) (/ (sinh y) x)) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/6 (/ (sin x) x)) (* (pow y 2) (+ (* 1/5040 (/ (* (pow y 2) (sin x)) x)) (* 1/120 (/ (sin x) x)))))) (/ (sin x) x))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (/ y x))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* y (+ (* 1/6 (/ (pow y 2) x)) (/ 1 x))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (pow y 2) x)) (* 1/6 (/ 1 x)))) (/ 1 x))))) |
#s(approx (/ (sinh y) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* (pow y 2) (+ (* 1/5040 (/ (pow y 2) x)) (* 1/120 (/ 1 x)))) (* 1/6 (/ 1 x)))) (/ 1 x))))) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) #s(hole binary64 (/ 1 x))) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) #s(hole binary64 (+ (* 1/6 (/ (pow y 2) x)) (/ 1 x)))) |
#s(approx (+ (* (* y y) 1/6) 1) #s(hole binary64 (+ 1 (* 1/6 (pow y 2))))) |
#s(approx (* y y) #s(hole binary64 (pow y 2))) |
#s(approx y #s(hole binary64 y)) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (sin x)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* 1/6 (* (pow y 2) (sin x))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/120 (* (pow y 2) (sin x))) (* 1/6 (sin x)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/6 (sin x)) (* (pow y 2) (+ (* 1/5040 (* (pow y 2) (sin x))) (* 1/120 (sin x)))))))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* 1/6 (pow y 2)))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* 1/120 (pow y 2)))))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* (pow y 2) (+ 1/120 (* 1/5040 (pow y 2)))))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* 2 (* y (+ 1/2 (* -1/12 (pow x 2))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* y (+ (* 1/3 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 2 (+ 1/2 (* -1/12 (pow x 2)))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* y (+ (* 2 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/60 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 1/3 (+ 1/2 (* -1/12 (pow x 2)))))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* y (+ (* 2 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/3 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/2520 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 1/60 (+ 1/2 (* -1/12 (pow x 2)))))))))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* 2 y))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* 1/3 (pow y 2)))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* (pow y 2) (+ 1/3 (* 1/60 (pow y 2)))))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* (pow y 2) (+ 1/3 (* (pow y 2) (+ 1/60 (* 1/2520 (pow y 2)))))))))) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 2)) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 (+ 2 (* 1/3 (pow y 2))))) |
#s(approx (/ (exp y) 2) #s(hole binary64 (+ 1/2 (* 1/2 y)))) |
#s(approx (/ (exp y) 2) #s(hole binary64 (+ 1/2 (* y (+ 1/2 (* 1/4 y)))))) |
#s(approx (/ (exp y) 2) #s(hole binary64 (+ 1/2 (* y (+ 1/2 (* y (+ 1/4 (* 1/12 y)))))))) |
#s(approx (exp y) #s(hole binary64 (+ 1 y))) |
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* 1/2 y)))))) |
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* y (+ 1/2 (* 1/6 y)))))))) |
#s(approx (/ (exp (neg y)) 2) #s(hole binary64 (+ 1/2 (* -1/2 y)))) |
#s(approx (/ (exp (neg y)) 2) #s(hole binary64 (+ 1/2 (* y (- (* 1/4 y) 1/2))))) |
#s(approx (/ (exp (neg y)) 2) #s(hole binary64 (+ 1/2 (* y (- (* y (+ 1/4 (* -1/12 y))) 1/2))))) |
#s(approx (exp (neg y)) #s(hole binary64 (+ 1 (* -1 y)))) |
#s(approx (exp (neg y)) #s(hole binary64 (+ 1 (* y (- (* 1/2 y) 1))))) |
#s(approx (exp (neg y)) #s(hole binary64 (+ 1 (* y (- (* y (+ 1/2 (* -1/6 y))) 1))))) |
#s(approx (neg y) #s(hole binary64 (* -1 y))) |
#s(approx (* (/ (+ (* (* y y) 1/6) 1) x) y) #s(hole binary64 (* 1/6 (/ (pow y 3) x)))) |
#s(approx (* (/ (+ (* (* y y) 1/6) 1) x) y) #s(hole binary64 (* (pow y 3) (+ (* 1/6 (/ 1 x)) (/ 1 (* x (pow y 2))))))) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) #s(hole binary64 (* 1/6 (/ (pow y 2) x)))) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) #s(hole binary64 (* (pow y 2) (+ (* 1/6 (/ 1 x)) (/ 1 (* x (pow y 2))))))) |
#s(approx (+ (* (* y y) 1/6) 1) #s(hole binary64 (* 1/6 (pow y 2)))) |
#s(approx (+ (* (* y y) 1/6) 1) #s(hole binary64 (* (pow y 2) (+ 1/6 (/ 1 (pow y 2)))))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) #s(hole binary64 (* (+ 1/2 (* -1/12 (pow x 2))) (- (exp y) (/ 1 (exp y)))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (- (exp y) (/ 1 (exp y))))) |
#s(approx (* (+ (* 1/3 (* y y)) 2) y) #s(hole binary64 (* 1/3 (pow y 3)))) |
#s(approx (* (+ (* 1/3 (* y y)) 2) y) #s(hole binary64 (* (pow y 3) (+ 1/3 (* 2 (/ 1 (pow y 2))))))) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 (* 1/3 (pow y 2)))) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 (* (pow y 2) (+ 1/3 (* 2 (/ 1 (pow y 2))))))) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) #s(hole binary64 (- (* 1/2 (exp y)) (* 1/2 (exp (neg y)))))) |
#s(approx (/ (exp y) 2) #s(hole binary64 (* 1/2 (exp y)))) |
#s(approx (exp y) #s(hole binary64 (exp y))) |
#s(approx (/ (exp (neg y)) 2) #s(hole binary64 (* 1/2 (exp (neg y))))) |
#s(approx (exp (neg y)) #s(hole binary64 (exp (neg y)))) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) #s(hole binary64 (- (* 1/2 (exp y)) (* 1/2 (exp (* -1 y)))))) |
#s(approx (/ (exp (neg y)) 2) #s(hole binary64 (* 1/2 (exp (* -1 y))))) |
#s(approx (exp (neg y)) #s(hole binary64 (exp (* -1 y)))) |
| Outputs |
|---|
(*.f64 (sin.f64 x) #s(approx (/ (sinh y) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
(*.f64 #s(approx (/ (sinh y) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y)) (sin.f64 x)) |
(sin.f64 x) |
x |
#s(approx (/ (sinh y) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y)) |
(*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y) |
(*.f64 y (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) (neg.f64 (neg.f64 x))) |
(/.f64 (neg.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y)) (neg.f64 x)) |
(/.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y) x) |
(fma.f64 (*.f64 (/.f64 (*.f64 y y) x) #s(literal 1/6 binary64)) y (*.f64 (/.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 y (*.f64 (/.f64 (*.f64 y y) x) #s(literal 1/6 binary64)) (/.f64 y x)) |
(+.f64 (/.f64 (*.f64 y #s(literal 1 binary64)) x) (/.f64 (*.f64 y (*.f64 (*.f64 y y) #s(literal 1/6 binary64))) x)) |
(+.f64 (/.f64 (*.f64 #s(literal 1 binary64) y) x) (/.f64 (*.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)) y) x)) |
(+.f64 (*.f64 y (*.f64 (/.f64 (*.f64 y y) x) #s(literal 1/6 binary64))) (/.f64 y x)) |
(+.f64 (*.f64 (*.f64 (/.f64 (*.f64 y y) x) #s(literal 1/6 binary64)) y) (*.f64 (/.f64 #s(literal 1 binary64) x) y)) |
(*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) x)) |
(/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 (neg.f64 x) (*.f64 (*.f64 y y) #s(literal 1/6 binary64)))) (*.f64 (neg.f64 x) x)) |
(/.f64 (fma.f64 #s(literal 1 binary64) x (*.f64 x (*.f64 (*.f64 y y) #s(literal 1/6 binary64)))) (*.f64 x x)) |
(/.f64 (fma.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)) (neg.f64 x) (*.f64 x #s(literal -1 binary64))) (*.f64 x (neg.f64 x))) |
(/.f64 (fma.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)) x (*.f64 x #s(literal 1 binary64))) (*.f64 x x)) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)))) (neg.f64 (neg.f64 x))) |
(/.f64 (neg.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64))) (neg.f64 x)) |
(/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) |
(fma.f64 (/.f64 (*.f64 y y) x) #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) x)) |
(fma.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x) (*.f64 (/.f64 (*.f64 y y) x) #s(literal 1/6 binary64))) |
(fma.f64 #s(literal 1/6 binary64) (/.f64 (*.f64 y y) x) (/.f64 #s(literal 1 binary64) x)) |
(-.f64 (/.f64 #s(literal 1 binary64) x) (/.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x)) |
(-.f64 (/.f64 #s(literal 1 binary64) x) (/.f64 (neg.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64))) x)) |
(-.f64 (*.f64 (/.f64 (*.f64 y y) x) #s(literal 1/6 binary64)) (/.f64 #s(literal -1 binary64) x)) |
(-.f64 (*.f64 (/.f64 (*.f64 y y) x) #s(literal 1/6 binary64)) (neg.f64 (/.f64 #s(literal 1 binary64) x))) |
(+.f64 (/.f64 #s(literal 1 binary64) x) (*.f64 (/.f64 (*.f64 y y) x) #s(literal 1/6 binary64))) |
(+.f64 (*.f64 (/.f64 (*.f64 y y) x) #s(literal 1/6 binary64)) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/6 binary64)) (*.f64 y y)) |
(*.f64 (*.f64 y y) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/6 binary64))) |
(fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) |
(fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal 1 binary64)) |
(fma.f64 y (*.f64 #s(literal 1/6 binary64) y) #s(literal 1 binary64)) |
(-.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)) #s(literal -1 binary64)) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))) |
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)))) |
(+.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)) #s(literal 1 binary64)) |
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) #s(literal 1/6 binary64))) |
(*.f64 (fabs.f64 (fabs.f64 y)) (fabs.f64 (fabs.f64 y))) |
(*.f64 (neg.f64 (fabs.f64 y)) (neg.f64 (fabs.f64 y))) |
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 y))) |
(*.f64 (fabs.f64 y) (fabs.f64 y)) |
(*.f64 (neg.f64 y) (neg.f64 y)) |
(*.f64 y y) |
(pow.f64 (fabs.f64 (fabs.f64 y)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 y)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 y)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 y) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 y) #s(literal 2 binary64)) |
(pow.f64 y #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 y y) (*.f64 y y))) |
(fabs.f64 (neg.f64 (*.f64 y y))) |
(fabs.f64 (*.f64 y y)) |
y |
#s(literal 1/6 binary64) |
#s(literal 1 binary64) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)))) (neg.f64 (neg.f64 x))) |
(/.f64 (neg.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x))) (neg.f64 x)) |
(/.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) x) |
(*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) |
(*.f64 #s(approx (sin x) x) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y)) |
#s(approx (sin x) x) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) |
(*.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y)) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 #s(approx (sin x) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y)))) (neg.f64 (neg.f64 x))) |
(/.f64 (neg.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y))) (neg.f64 x)) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y)) x) |
(*.f64 #s(approx (sin x) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y)) |
(*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/6 binary64) #s(literal 1 binary64)) x))) |
#s(approx (sin x) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)) |
(*.f64 (fma.f64 (*.f64 x x) #s(literal -1/6 binary64) #s(literal 1 binary64)) x) |
(*.f64 x (fma.f64 (*.f64 x x) #s(literal -1/6 binary64) #s(literal 1 binary64))) |
(fma.f64 #s(literal 1 binary64) x (*.f64 (*.f64 (*.f64 x x) #s(literal -1/6 binary64)) x)) |
(fma.f64 x #s(literal 1 binary64) (*.f64 x (*.f64 (*.f64 x x) #s(literal -1/6 binary64)))) |
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x (*.f64 (*.f64 x x) #s(literal -1/6 binary64)))) |
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 (*.f64 (*.f64 x x) #s(literal -1/6 binary64)) x)) |
(fma.f64 (*.f64 #s(literal -1/6 binary64) x) x #s(literal 1 binary64)) |
(fma.f64 (*.f64 x x) #s(literal -1/6 binary64) #s(literal 1 binary64)) |
(fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) |
(-.f64 (*.f64 (*.f64 x x) #s(literal -1/6 binary64)) #s(literal -1 binary64)) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 x x))) |
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 x x) #s(literal -1/6 binary64)))) |
(+.f64 (*.f64 (*.f64 x x) #s(literal -1/6 binary64)) #s(literal 1 binary64)) |
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) |
#s(literal -1/6 binary64) |
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x))) |
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x))) |
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x))) |
(*.f64 (fabs.f64 x) (fabs.f64 x)) |
(*.f64 (neg.f64 x) (neg.f64 x)) |
(*.f64 x x) |
(pow.f64 (fabs.f64 (fabs.f64 x)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 x)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 x)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 x) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 x) #s(literal 2 binary64)) |
(pow.f64 x #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 x x) (*.f64 x x))) |
(fabs.f64 (neg.f64 (*.f64 x x))) |
(fabs.f64 (*.f64 x x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)))) |
(*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y))) |
(*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) |
(fma.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) (*.f64 #s(literal 1/2 binary64) #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)))) |
(fma.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) #s(literal 1/2 binary64))) |
(+.f64 (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) #s(literal 1/2 binary64))) |
(+.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y))) (*.f64 #s(literal 1/2 binary64) #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)))) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) |
(*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y) |
(*.f64 y (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64))) |
(fma.f64 #s(literal 2 binary64) y (*.f64 y (*.f64 (*.f64 y y) #s(literal 1/3 binary64)))) |
(fma.f64 #s(literal 2 binary64) y (*.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) y)) |
(fma.f64 y #s(literal 2 binary64) (*.f64 y (*.f64 (*.f64 y y) #s(literal 1/3 binary64)))) |
(fma.f64 y #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) y)) |
(+.f64 (+.f64 y y) (*.f64 y (*.f64 (*.f64 y y) #s(literal 1/3 binary64)))) |
(+.f64 (+.f64 y y) (*.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) y)) |
(fma.f64 (*.f64 #s(literal 1/3 binary64) y) y #s(literal 2 binary64)) |
(fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) |
(fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) |
(-.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) #s(literal -2 binary64)) |
(-.f64 #s(literal 2 binary64) (*.f64 #s(literal -1/3 binary64) (*.f64 y y))) |
(-.f64 #s(literal 2 binary64) (neg.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)))) |
(+.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) #s(literal 2 binary64)) |
(+.f64 #s(literal 2 binary64) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) |
#s(literal 1/3 binary64) |
#s(literal 2 binary64) |
(fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) |
(fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) |
(fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)) |
(-.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) #s(literal -1/2 binary64)) |
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/12 binary64) (*.f64 x x))) |
(-.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)))) |
(+.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) #s(literal 1/2 binary64)) |
(+.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))) |
#s(literal -1/12 binary64) |
#s(literal 1/2 binary64) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
(*.f64 (/.f64 (sinh.f64 y) #s(literal 2 binary64)) #s(literal 2 binary64)) |
(*.f64 (*.f64 (sinh.f64 y) #s(literal 2 binary64)) #s(literal 1/2 binary64)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sinh.f64 y) #s(literal 2 binary64))) |
(*.f64 #s(literal 1 binary64) (/.f64 (sinh.f64 y) #s(literal 1 binary64))) |
(/.f64 (-.f64 (neg.f64 (exp.f64 y)) (neg.f64 (exp.f64 (neg.f64 y)))) #s(literal -2 binary64)) |
(/.f64 (-.f64 (*.f64 (neg.f64 (exp.f64 y)) #s(literal -2 binary64)) (*.f64 #s(literal -2 binary64) (neg.f64 (exp.f64 (neg.f64 y))))) #s(literal 4 binary64)) |
(/.f64 (-.f64 (*.f64 (neg.f64 (exp.f64 y)) #s(literal 2 binary64)) (*.f64 #s(literal -2 binary64) (exp.f64 (neg.f64 y)))) #s(literal -4 binary64)) |
(/.f64 (-.f64 (*.f64 (exp.f64 y) #s(literal -2 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 (exp.f64 (neg.f64 y))))) #s(literal -4 binary64)) |
(/.f64 (neg.f64 (-.f64 (*.f64 (exp.f64 y) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (exp.f64 (neg.f64 y))))) #s(literal -4 binary64)) |
(/.f64 (-.f64 (*.f64 (exp.f64 y) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (exp.f64 (neg.f64 y)))) #s(literal 4 binary64)) |
(/.f64 (neg.f64 (*.f64 (sinh.f64 y) #s(literal 2 binary64))) #s(literal -2 binary64)) |
(/.f64 (*.f64 (sinh.f64 y) #s(literal 2 binary64)) #s(literal 2 binary64)) |
(sinh.f64 y) |
(neg.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 y)) (exp.f64 y)) #s(literal 2 binary64))) |
(fma.f64 (exp.f64 y) #s(literal 1/2 binary64) (/.f64 (neg.f64 (exp.f64 (neg.f64 y))) #s(literal 2 binary64))) |
(fma.f64 (exp.f64 y) #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (exp.f64 (neg.f64 y)))) |
(fma.f64 (exp.f64 y) #s(literal 1/2 binary64) (neg.f64 (*.f64 (exp.f64 (neg.f64 y)) #s(literal 1/2 binary64)))) |
(fma.f64 #s(literal 1/2 binary64) (exp.f64 y) (/.f64 (neg.f64 (exp.f64 (neg.f64 y))) #s(literal 2 binary64))) |
(fma.f64 #s(literal 1/2 binary64) (exp.f64 y) (*.f64 #s(literal -1/2 binary64) (exp.f64 (neg.f64 y)))) |
(fma.f64 #s(literal 1/2 binary64) (exp.f64 y) (neg.f64 (*.f64 (exp.f64 (neg.f64 y)) #s(literal 1/2 binary64)))) |
(-.f64 (/.f64 (*.f64 (exp.f64 y) #s(literal 2 binary64)) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) (exp.f64 (neg.f64 y))) #s(literal 4 binary64))) |
(-.f64 (*.f64 (exp.f64 y) #s(literal 1/2 binary64)) (*.f64 (exp.f64 (neg.f64 y)) #s(literal 1/2 binary64))) |
(+.f64 (/.f64 (sinh.f64 y) #s(literal 2 binary64)) (/.f64 (sinh.f64 y) #s(literal 2 binary64))) |
(+.f64 (*.f64 (exp.f64 y) #s(literal 1/2 binary64)) (/.f64 (neg.f64 (exp.f64 (neg.f64 y))) #s(literal 2 binary64))) |
(+.f64 (*.f64 (exp.f64 y) #s(literal 1/2 binary64)) (*.f64 #s(literal -1/2 binary64) (exp.f64 (neg.f64 y)))) |
(+.f64 (*.f64 (exp.f64 y) #s(literal 1/2 binary64)) (neg.f64 (*.f64 (exp.f64 (neg.f64 y)) #s(literal 1/2 binary64)))) |
(*.f64 (exp.f64 y) #s(literal 1/2 binary64)) |
(*.f64 #s(literal 1/2 binary64) (exp.f64 y)) |
(/.f64 (neg.f64 (neg.f64 (exp.f64 y))) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (exp.f64 y)) #s(literal -2 binary64)) |
(/.f64 (exp.f64 y) #s(literal 2 binary64)) |
(+.f64 (/.f64 (cosh.f64 y) #s(literal 2 binary64)) (/.f64 (sinh.f64 y) #s(literal 2 binary64))) |
(sqrt.f64 (exp.f64 (+.f64 y y))) |
(fabs.f64 (neg.f64 (exp.f64 y))) |
(fabs.f64 (exp.f64 y)) |
(exp.f64 y) |
(+.f64 (cosh.f64 y) (sinh.f64 y)) |
(*.f64 (exp.f64 (neg.f64 y)) #s(literal 1/2 binary64)) |
(*.f64 #s(literal 1/2 binary64) (/.f64 (exp.f64 (neg.f64 y)) #s(literal 1 binary64))) |
(*.f64 #s(literal 1/2 binary64) (exp.f64 (neg.f64 y))) |
(/.f64 (neg.f64 (neg.f64 (exp.f64 (neg.f64 y)))) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (exp.f64 (neg.f64 y))) #s(literal -2 binary64)) |
(/.f64 (exp.f64 (neg.f64 y)) #s(literal 2 binary64)) |
(/.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (exp.f64 y)) #s(literal 2 binary64))) |
(/.f64 #s(literal -1 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 (exp.f64 y)))) |
(/.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (exp.f64 y))) |
(/.f64 #s(literal 1 binary64) (*.f64 (exp.f64 y) #s(literal 2 binary64))) |
(-.f64 (/.f64 (cosh.f64 y) #s(literal 2 binary64)) (/.f64 (sinh.f64 y) #s(literal 2 binary64))) |
(+.f64 (/.f64 (cosh.f64 y) #s(literal 2 binary64)) (/.f64 (sinh.f64 (neg.f64 y)) #s(literal 2 binary64))) |
(*.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 y))) |
(pow.f64 (exp.f64 #s(literal -1 binary64)) y) |
(pow.f64 (exp.f64 y) #s(literal -1 binary64)) |
(/.f64 #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 (exp.f64 y)))) |
(/.f64 #s(literal -1 binary64) (neg.f64 (exp.f64 y))) |
(/.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (exp.f64 y))) |
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 (exp.f64 y)))) |
(/.f64 #s(literal 1 binary64) (exp.f64 y)) |
(sqrt.f64 (exp.f64 (*.f64 (neg.f64 y) #s(literal 2 binary64)))) |
(-.f64 (cosh.f64 y) (sinh.f64 y)) |
(fabs.f64 (-.f64 (sinh.f64 y) (cosh.f64 y))) |
(fabs.f64 (neg.f64 (exp.f64 (neg.f64 y)))) |
(fabs.f64 (exp.f64 (neg.f64 y))) |
(exp.f64 (+.f64 #s(literal 0 binary64) (neg.f64 y))) |
(exp.f64 (-.f64 #s(literal 0 binary64) y)) |
(exp.f64 (neg.f64 y)) |
(+.f64 (cosh.f64 y) (sinh.f64 (neg.f64 y))) |
(*.f64 #s(literal -1 binary64) y) |
(*.f64 y #s(literal -1 binary64)) |
(neg.f64 y) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (sinh.f64 y) #s(literal 2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (fma.f64 (fma.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 x x)) (*.f64 (sinh.f64 y) #s(literal 2 binary64)) (*.f64 (*.f64 (sinh.f64 y) #s(literal 2 binary64)) #s(literal -1/12 binary64))) (*.f64 x x) (sinh.f64 y))) |
#s(approx (/ (* (sin x) (sinh y)) x) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/10080 binary64) (*.f64 x x)) (*.f64 (sinh.f64 y) #s(literal 2 binary64)) (*.f64 #s(literal 1/240 binary64) (*.f64 (sinh.f64 y) #s(literal 2 binary64)))) (*.f64 x x) (*.f64 (*.f64 (sinh.f64 y) #s(literal 2 binary64)) #s(literal -1/12 binary64))) (*.f64 x x) (sinh.f64 y))) |
#s(approx (sin x) x) |
#s(approx (sin x) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)) |
#s(approx (sin x) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 x x) #s(literal -1/6 binary64)) (*.f64 x x) #s(literal 1 binary64)) x)) |
#s(approx (sin x) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 x x) #s(literal 1/120 binary64)) (*.f64 x x) #s(literal -1/6 binary64)) (*.f64 x x) #s(literal 1 binary64)) x)) |
#s(approx (/ (sinh y) x) (/.f64 (sinh.f64 y) x)) |
#s(approx (* (/ (+ (* (* y y) 1/6) 1) x) y) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y)) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (*.f64 (*.f64 (sinh.f64 y) #s(literal 2 binary64)) x) #s(literal 1/2 binary64))) |
#s(approx (* (sin x) (sinh y)) (*.f64 (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (sinh.f64 y) #s(literal 2 binary64))) x)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 x x)) (*.f64 (sinh.f64 y) #s(literal 2 binary64)) (*.f64 (*.f64 (sinh.f64 y) #s(literal 2 binary64)) #s(literal -1/12 binary64))) (*.f64 x x) (sinh.f64 y)) x)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/10080 binary64) (*.f64 x x)) (*.f64 (sinh.f64 y) #s(literal 2 binary64)) (*.f64 #s(literal 1/240 binary64) (*.f64 (sinh.f64 y) #s(literal 2 binary64)))) (*.f64 x x) (*.f64 (*.f64 (sinh.f64 y) #s(literal 2 binary64)) #s(literal -1/12 binary64))) (*.f64 x x) (sinh.f64 y)) x)) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(literal 1 binary64)) |
#s(approx (+ (* -1/6 (* x x)) 1) (fma.f64 (*.f64 x x) #s(literal -1/6 binary64) #s(literal 1 binary64))) |
#s(approx (* x x) (*.f64 x x)) |
#s(approx (+ (* -1/12 (* x x)) 1/2) #s(literal 1/2 binary64)) |
#s(approx (+ (* -1/12 (* x x)) 1/2) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 (sin.f64 x) (/.f64 (*.f64 (sinh.f64 y) #s(literal 2 binary64)) x)) #s(literal 1/2 binary64))) |
#s(approx (sin x) (sin.f64 x)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (*.f64 (*.f64 (sinh.f64 y) #s(literal 2 binary64)) (sin.f64 x)) #s(literal 1/2 binary64))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) (*.f64 (*.f64 (*.f64 x x) x) #s(literal -1/6 binary64))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1/6 binary64)) (*.f64 (*.f64 x x) x))) |
#s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) |
#s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1/6 binary64)) (*.f64 x x))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (*.f64 (*.f64 x x) #s(literal -1/12 binary64)) (*.f64 (sinh.f64 y) #s(literal 2 binary64)))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (fma.f64 (*.f64 (sinh.f64 y) #s(literal 2 binary64)) #s(literal -1/12 binary64) (/.f64 (sinh.f64 y) (*.f64 x x))) (*.f64 x x))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))) |
#s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/12 binary64)) (*.f64 x x))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) (neg.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) (*.f64 (*.f64 x x) x)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 y (/.f64 (sin.f64 x) x))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/6 binary64) (sin.f64 x)) x) y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (fma.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/120 binary64) (*.f64 (sin.f64 x) #s(literal 1/6 binary64))) x) (*.f64 y y) (/.f64 (sin.f64 x) x)) y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (fma.f64 (fma.f64 (/.f64 (sin.f64 x) x) #s(literal 1/6 binary64) (*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/5040 binary64) (*.f64 (sin.f64 x) #s(literal 1/120 binary64))) x) (*.f64 y y))) (*.f64 y y) (/.f64 (sin.f64 x) x)) y)) |
#s(approx (/ (sinh y) x) (/.f64 y x)) |
#s(approx (/ (sinh y) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y)) |
#s(approx (/ (sinh y) x) (fma.f64 y (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal 1/6 binary64)) x) (*.f64 y y)) (/.f64 y x))) |
#s(approx (/ (sinh y) x) (*.f64 (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) x) (*.f64 y y) (/.f64 #s(literal 1/6 binary64) x)) (*.f64 y y) (/.f64 #s(literal 1 binary64) x)) y)) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x)) |
#s(approx (+ (* (* y y) 1/6) 1) (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64))) |
#s(approx (* y y) (*.f64 y y)) |
#s(approx y y) |
#s(approx (* (sin x) (sinh y)) (*.f64 (sin.f64 x) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/6 binary64) (sin.f64 x)) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/120 binary64) (*.f64 (sin.f64 x) #s(literal 1/6 binary64))) (*.f64 y y) (sin.f64 x)) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (fma.f64 (sin.f64 x) #s(literal 1/6 binary64) (*.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/5040 binary64) (*.f64 (sin.f64 x) #s(literal 1/120 binary64))) (*.f64 y y))) (*.f64 y y) (sin.f64 x)) y)) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y)) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal 1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal 1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (+.f64 y y) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (fma.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64))) y)) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/60 binary64) (*.f64 y y)) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) #s(literal 1/3 binary64))) (*.f64 y y) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64))) y)) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/2520 binary64) (*.f64 y y)) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 #s(literal 1/60 binary64) (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)))) (*.f64 y y) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) #s(literal 1/3 binary64))) (*.f64 y y) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64))) y)) |
#s(approx (* 2 (sinh y)) (+.f64 y y)) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/60 binary64) (*.f64 y y) #s(literal 1/3 binary64)) (*.f64 y y) #s(literal 2 binary64)) y)) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/2520 binary64) (*.f64 y y) #s(literal 1/60 binary64)) (*.f64 y y) #s(literal 1/3 binary64)) (*.f64 y y) #s(literal 2 binary64)) y)) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(literal 2 binary64)) |
#s(approx (+ (* 1/3 (* y y)) 2) (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64))) |
#s(approx (/ (exp y) 2) (fma.f64 #s(literal 1/2 binary64) y #s(literal 1/2 binary64))) |
#s(approx (/ (exp y) 2) (fma.f64 (fma.f64 #s(literal 1/4 binary64) y #s(literal 1/2 binary64)) y #s(literal 1/2 binary64))) |
#s(approx (/ (exp y) 2) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/12 binary64) y #s(literal 1/4 binary64)) y #s(literal 1/2 binary64)) y #s(literal 1/2 binary64))) |
#s(approx (exp y) (+.f64 #s(literal 1 binary64) y)) |
#s(approx (exp y) (fma.f64 (fma.f64 #s(literal 1/2 binary64) y #s(literal 1 binary64)) y #s(literal 1 binary64))) |
#s(approx (exp y) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) y #s(literal 1/2 binary64)) y #s(literal 1 binary64)) y #s(literal 1 binary64))) |
#s(approx (/ (exp (neg y)) 2) (fma.f64 #s(literal -1/2 binary64) y #s(literal 1/2 binary64))) |
#s(approx (/ (exp (neg y)) 2) (fma.f64 (fma.f64 #s(literal 1/4 binary64) y #s(literal -1/2 binary64)) y #s(literal 1/2 binary64))) |
#s(approx (/ (exp (neg y)) 2) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/12 binary64) y #s(literal 1/4 binary64)) y #s(literal -1/2 binary64)) y #s(literal 1/2 binary64))) |
#s(approx (exp (neg y)) (+.f64 (neg.f64 y) #s(literal 1 binary64))) |
#s(approx (exp (neg y)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) y #s(literal -1 binary64)) y #s(literal 1 binary64))) |
#s(approx (exp (neg y)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) y #s(literal 1/2 binary64)) y #s(literal -1 binary64)) y #s(literal 1 binary64))) |
#s(approx (neg y) (neg.f64 y)) |
#s(approx (* (/ (+ (* (* y y) 1/6) 1) x) y) (*.f64 (/.f64 (*.f64 (*.f64 y y) y) x) #s(literal 1/6 binary64))) |
#s(approx (* (/ (+ (* (* y y) 1/6) 1) x) y) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) x)) (/.f64 #s(literal 1/6 binary64) x)) (*.f64 (*.f64 y y) y))) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) (*.f64 (/.f64 (*.f64 y y) x) #s(literal 1/6 binary64))) |
#s(approx (/ (+ (* (* y y) 1/6) 1) x) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) x)) (/.f64 #s(literal 1/6 binary64) x)) (*.f64 y y))) |
#s(approx (+ (* (* y y) 1/6) 1) (*.f64 (*.f64 y y) #s(literal 1/6 binary64))) |
#s(approx (+ (* (* y y) 1/6) 1) (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64))) |
#s(approx (* (* 2 (sinh y)) (+ (* -1/12 (* x x)) 1/2)) (*.f64 (fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (sinh.f64 y) #s(literal 2 binary64)))) |
#s(approx (* 2 (sinh y)) (*.f64 (sinh.f64 y) #s(literal 2 binary64))) |
#s(approx (* (+ (* 1/3 (* y y)) 2) y) (*.f64 (*.f64 (*.f64 y y) y) #s(literal 1/3 binary64))) |
#s(approx (* (+ (* 1/3 (* y y)) 2) y) (*.f64 (+.f64 (/.f64 #s(literal 2 binary64) (*.f64 y y)) #s(literal 1/3 binary64)) (*.f64 (*.f64 y y) y))) |
#s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) |
#s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (+.f64 (/.f64 #s(literal 2 binary64) (*.f64 y y)) #s(literal 1/3 binary64)) (*.f64 y y))) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (sinh.f64 y)) |
#s(approx (/ (exp y) 2) (*.f64 (exp.f64 y) #s(literal 1/2 binary64))) |
#s(approx (exp y) (exp.f64 y)) |
#s(approx (/ (exp (neg y)) 2) (*.f64 (exp.f64 (neg.f64 y)) #s(literal 1/2 binary64))) |
#s(approx (exp (neg y)) (exp.f64 (neg.f64 y))) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (sinh.f64 y)) |
#s(approx (/ (exp (neg y)) 2) (*.f64 (exp.f64 (neg.f64 y)) #s(literal 1/2 binary64))) |
#s(approx (exp (neg y)) (exp.f64 (neg.f64 y))) |
Compiled 2 761 to 1 421 computations (48.5% saved)
21 alts after pruning (17 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 299 | 10 | 309 |
| Fresh | 3 | 7 | 10 |
| Picked | 4 | 1 | 5 |
| Done | 0 | 3 | 3 |
| Total | 306 | 21 | 327 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 89.4% | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| ▶ | 73.3% | (/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) x) |
| ✓ | 40.0% | (/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) x) |
| ▶ | 14.8% | (/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (sinh y) y)) x) |
| ✓ | 23.5% | (/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
| 40.0% | (*.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) (/.f64 #s(literal 1 binary64) x)) | |
| 23.4% | (*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) | |
| 60.2% | (*.f64 (sin.f64 x) (/.f64 #s(approx (sinh y) y) x)) | |
| 52.2% | (*.f64 (sin.f64 x) #s(approx (/ (sinh y) x) #s(approx (* (/ (+ (* (* y y) 1/6) 1) x) y) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) x)) (/.f64 #s(literal 1/6 binary64) x)) (*.f64 (*.f64 y y) y))))) | |
| ▶ | 49.1% | (*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
| 51.8% | #s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 (exp.f64 y) #s(literal 2 binary64))))) | |
| 51.4% | #s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) #s(approx (/ (exp (neg y)) 2) (fma.f64 #s(literal -1/2 binary64) y #s(literal 1/2 binary64))))) | |
| ▶ | 50.5% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (/.f64 (sin.f64 x) x) y)) |
| 17.9% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) | |
| 52.8% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (fma.f64 y #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) y))) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) | |
| 36.3% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) | |
| ▶ | 52.8% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
| 16.9% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) | |
| 35.6% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) | |
| ✓ | 60.1% | #s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
| 49.2% | #s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
Compiled 609 to 593 computations (2.6% saved)
| Inputs |
|---|
(/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) x) |
(*.f64 (sin.f64 x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
(sin.f64 x) |
x |
#s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y)) |
(*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y) |
(fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) |
(*.f64 y y) |
y |
#s(literal 1/6 binary64) |
#s(literal 1 binary64) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
#s(approx (sin x) x) |
(/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (sinh y) y)) |
#s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) |
(*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x) |
#s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) |
(*.f64 (*.f64 x x) #s(literal -1/6 binary64)) |
(*.f64 x x) |
#s(literal -1/6 binary64) |
#s(approx (sinh y) y) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64))) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) |
(*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y) |
(fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) |
#s(literal 1/3 binary64) |
#s(literal 2 binary64) |
(fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) |
(*.f64 #s(literal -1/12 binary64) x) |
#s(literal -1/12 binary64) |
#s(literal 1/2 binary64) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (/.f64 (sin.f64 x) x) y)) |
(*.f64 (/.f64 (sin.f64 x) x) y) |
(/.f64 (sin.f64 x) x) |
| Outputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* 1/2 (- (exp y) (/ 1 (exp y)))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y))))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y)))))))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* x (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y)))))))))))) |
#s(approx (sin x) #s(hole binary64 x)) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* -1/6 (pow x 2)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6)))))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) #s(hole binary64 (- (* 1/2 (exp y)) (* 1/2 (exp (neg y)))))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) #s(hole binary64 (- (+ (* -1/6 (* (pow x 2) (- (* 1/2 (exp y)) (* 1/2 (exp (neg y)))))) (* 1/2 (exp y))) (* 1/2 (exp (neg y)))))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) #s(hole binary64 (- (+ (* 1/2 (exp y)) (* (pow x 2) (+ (* -1/6 (- (* 1/2 (exp y)) (* 1/2 (exp (neg y))))) (* 1/120 (* (pow x 2) (- (* 1/2 (exp y)) (* 1/2 (exp (neg y))))))))) (* 1/2 (exp (neg y)))))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) #s(hole binary64 (- (+ (* 1/2 (exp y)) (* (pow x 2) (+ (* -1/6 (- (* 1/2 (exp y)) (* 1/2 (exp (neg y))))) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (- (* 1/2 (exp y)) (* 1/2 (exp (neg y)))))) (* 1/120 (- (* 1/2 (exp y)) (* 1/2 (exp (neg y)))))))))) (* 1/2 (exp (neg y)))))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) #s(hole binary64 (/ (- (* 1/2 (exp y)) (* 1/2 (exp (neg y)))) x))) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 1)) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 (+ 1 (* -1/6 (pow x 2))))) |
#s(approx (* (* x x) -1/6) #s(hole binary64 (* -1/6 (pow x 2)))) |
#s(approx (* x x) #s(hole binary64 (pow x 2))) |
#s(approx (+ (* (* -1/12 x) x) 1/2) #s(hole binary64 1/2)) |
#s(approx (+ (* (* -1/12 x) x) 1/2) #s(hole binary64 (+ 1/2 (* -1/12 (pow x 2))))) |
#s(approx (* -1/12 x) #s(hole binary64 (* -1/12 x))) |
#s(approx (* (/ (sin x) x) y) #s(hole binary64 y)) |
#s(approx (* (/ (sin x) x) y) #s(hole binary64 (+ y (* -1/6 (* (pow x 2) y))))) |
#s(approx (* (/ (sin x) x) y) #s(hole binary64 (+ y (* (pow x 2) (+ (* -1/6 y) (* 1/120 (* (pow x 2) y))))))) |
#s(approx (* (/ (sin x) x) y) #s(hole binary64 (+ y (* (pow x 2) (+ (* -1/6 y) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) y)) (* 1/120 y)))))))) |
#s(approx (/ (sin x) x) #s(hole binary64 (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6))))) |
#s(approx (/ (sin x) x) #s(hole binary64 (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* 1/2 (/ (* (sin x) (- (exp y) (/ 1 (exp y)))) x)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* (sin x) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (sin x) #s(hole binary64 (sin x))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) #s(hole binary64 (/ (* (sin x) (- (* 1/2 (exp y)) (* 1/2 (exp (neg y))))) x))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) #s(hole binary64 (* -1/6 (pow x 3)))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) #s(hole binary64 (* (pow x 3) (- (/ 1 (pow x 2)) 1/6)))) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 (* (pow x 2) (- (/ 1 (pow x 2)) 1/6)))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/2 (/ (- (exp y) (/ 1 (exp y))) (pow x 2))))))) |
#s(approx (+ (* (* -1/12 x) x) 1/2) #s(hole binary64 (* -1/12 (pow x 2)))) |
#s(approx (+ (* (* -1/12 x) x) 1/2) #s(hole binary64 (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/12)))) |
#s(approx (* (/ (sin x) x) y) #s(hole binary64 (/ (* y (sin x)) x))) |
#s(approx (/ (sin x) x) #s(hole binary64 (/ (sin x) x))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) #s(hole binary64 (* -1 (* (pow x 3) (- 1/6 (/ 1 (pow x 2))))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* y (+ (* 1/6 (/ (* (pow y 2) (sin x)) x)) (/ (sin x) x))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (* (pow y 2) (sin x)) x)) (* 1/6 (/ (sin x) x)))) (/ (sin x) x))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/6 (/ (sin x) x)) (* (pow y 2) (+ (* 1/5040 (/ (* (pow y 2) (sin x)) x)) (* 1/120 (/ (sin x) x)))))) (/ (sin x) x))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (sin x)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* 1/6 (* (pow y 2) (sin x))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/120 (* (pow y 2) (sin x))) (* 1/6 (sin x)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/6 (sin x)) (* (pow y 2) (+ (* 1/5040 (* (pow y 2) (sin x))) (* 1/120 (sin x)))))))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* 1/6 (pow y 2)))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* 1/120 (pow y 2)))))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* (pow y 2) (+ 1/120 (* 1/5040 (pow y 2)))))))))) |
#s(approx (+ (* (* y y) 1/6) 1) #s(hole binary64 (+ 1 (* 1/6 (pow y 2))))) |
#s(approx (* y y) #s(hole binary64 (pow y 2))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) #s(hole binary64 (/ y x))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) #s(hole binary64 (* y (+ (* 1/6 (/ (pow y 2) x)) (/ 1 x))))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (pow y 2) x)) (* 1/6 (/ 1 x)))) (/ 1 x))))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* (pow y 2) (+ (* 1/5040 (/ (pow y 2) x)) (* 1/120 (/ 1 x)))) (* 1/6 (/ 1 x)))) (/ 1 x))))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* 2 (* y (+ 1/2 (* -1/12 (pow x 2))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* y (+ (* 1/3 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 2 (+ 1/2 (* -1/12 (pow x 2)))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* y (+ (* 2 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/60 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 1/3 (+ 1/2 (* -1/12 (pow x 2)))))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* y (+ (* 2 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/3 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/2520 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 1/60 (+ 1/2 (* -1/12 (pow x 2)))))))))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* 2 y))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* 1/3 (pow y 2)))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* (pow y 2) (+ 1/3 (* 1/60 (pow y 2)))))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* (pow y 2) (+ 1/3 (* (pow y 2) (+ 1/60 (* 1/2520 (pow y 2)))))))))) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 2)) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 (+ 2 (* 1/3 (pow y 2))))) |
#s(approx (* (+ (* (* y y) 1/6) 1) y) #s(hole binary64 (* 1/6 (pow y 3)))) |
#s(approx (* (+ (* (* y y) 1/6) 1) y) #s(hole binary64 (* (pow y 3) (+ 1/6 (/ 1 (pow y 2)))))) |
#s(approx (+ (* (* y y) 1/6) 1) #s(hole binary64 (* 1/6 (pow y 2)))) |
#s(approx (+ (* (* y y) 1/6) 1) #s(hole binary64 (* (pow y 2) (+ 1/6 (/ 1 (pow y 2)))))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* (+ 1/2 (* -1/12 (pow x 2))) (- (exp y) (/ 1 (exp y)))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (- (exp y) (/ 1 (exp y))))) |
#s(approx (* (+ (* 1/3 (* y y)) 2) y) #s(hole binary64 (* 1/3 (pow y 3)))) |
#s(approx (* (+ (* 1/3 (* y y)) 2) y) #s(hole binary64 (* (pow y 3) (+ 1/3 (* 2 (/ 1 (pow y 2))))))) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 (* 1/3 (pow y 2)))) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 (* (pow y 2) (+ 1/3 (* 2 (/ 1 (pow y 2))))))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) #s(hole binary64 (/ (* (sin x) (- (* 1/2 (exp y)) (* 1/2 (exp (* -1 y))))) x))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) #s(hole binary64 (/ (- (* 1/2 (exp y)) (* 1/2 (exp (* -1 y)))) x))) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) #s(hole binary64 (- (* 1/2 (exp y)) (* 1/2 (exp (* -1 y)))))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 433.0ms | x | @ | -inf | ((/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) x (sinh y) (* (+ (* (* y y) 1/6) 1) y) (+ (* (* y y) 1/6) 1) (* y y) y 1/6 1 (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (* (+ (* -1/6 (* x x)) 1) x) (+ (* -1/6 (* x x)) 1) (* (* x x) -1/6) (* x x) -1/6 (sinh y) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) (* 2 (sinh y)) (* (+ (* 1/3 (* y y)) 2) y) (+ (* 1/3 (* y y)) 2) 1/3 2 (+ (* (* -1/12 x) x) 1/2) (* -1/12 x) -1/12 1/2 (/ (* (sin x) (sinh y)) x) (* (/ (sin x) x) y) (/ (sin x) x)) |
| 5.0ms | x | @ | inf | ((/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) x (sinh y) (* (+ (* (* y y) 1/6) 1) y) (+ (* (* y y) 1/6) 1) (* y y) y 1/6 1 (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (* (+ (* -1/6 (* x x)) 1) x) (+ (* -1/6 (* x x)) 1) (* (* x x) -1/6) (* x x) -1/6 (sinh y) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) (* 2 (sinh y)) (* (+ (* 1/3 (* y y)) 2) y) (+ (* 1/3 (* y y)) 2) 1/3 2 (+ (* (* -1/12 x) x) 1/2) (* -1/12 x) -1/12 1/2 (/ (* (sin x) (sinh y)) x) (* (/ (sin x) x) y) (/ (sin x) x)) |
| 5.0ms | y | @ | -inf | ((/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) x (sinh y) (* (+ (* (* y y) 1/6) 1) y) (+ (* (* y y) 1/6) 1) (* y y) y 1/6 1 (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (* (+ (* -1/6 (* x x)) 1) x) (+ (* -1/6 (* x x)) 1) (* (* x x) -1/6) (* x x) -1/6 (sinh y) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) (* 2 (sinh y)) (* (+ (* 1/3 (* y y)) 2) y) (+ (* 1/3 (* y y)) 2) 1/3 2 (+ (* (* -1/12 x) x) 1/2) (* -1/12 x) -1/12 1/2 (/ (* (sin x) (sinh y)) x) (* (/ (sin x) x) y) (/ (sin x) x)) |
| 5.0ms | y | @ | inf | ((/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) x (sinh y) (* (+ (* (* y y) 1/6) 1) y) (+ (* (* y y) 1/6) 1) (* y y) y 1/6 1 (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (* (+ (* -1/6 (* x x)) 1) x) (+ (* -1/6 (* x x)) 1) (* (* x x) -1/6) (* x x) -1/6 (sinh y) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) (* 2 (sinh y)) (* (+ (* 1/3 (* y y)) 2) y) (+ (* 1/3 (* y y)) 2) 1/3 2 (+ (* (* -1/12 x) x) 1/2) (* -1/12 x) -1/12 1/2 (/ (* (sin x) (sinh y)) x) (* (/ (sin x) x) y) (/ (sin x) x)) |
| 4.0ms | x | @ | 0 | ((/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) x (sinh y) (* (+ (* (* y y) 1/6) 1) y) (+ (* (* y y) 1/6) 1) (* y y) y 1/6 1 (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (/ (* (sin x) (sinh y)) x) (* (sin x) (sinh y)) (sin x) (* (+ (* -1/6 (* x x)) 1) x) (+ (* -1/6 (* x x)) 1) (* (* x x) -1/6) (* x x) -1/6 (sinh y) (/ (* (sin x) (sinh y)) x) (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) (* 2 (sinh y)) (* (+ (* 1/3 (* y y)) 2) y) (+ (* 1/3 (* y y)) 2) 1/3 2 (+ (* (* -1/12 x) x) 1/2) (* -1/12 x) -1/12 1/2 (/ (* (sin x) (sinh y)) x) (* (/ (sin x) x) y) (/ (sin x) x)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 391 | 2308 |
| 0 | 419 | 1914 |
| 1 | 2501 | 1901 |
| 0 | 9838 | 1818 |
| 1 | 32776 | 1818 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
(/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) x) |
(*.f64 (sin.f64 x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
(sin.f64 x) |
x |
#s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y)) |
(*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y) |
(fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) |
(*.f64 y y) |
y |
#s(literal 1/6 binary64) |
#s(literal 1 binary64) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
#s(approx (sin x) x) |
(/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (sinh y) y)) |
#s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) |
(*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x) |
#s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) |
(*.f64 (*.f64 x x) #s(literal -1/6 binary64)) |
(*.f64 x x) |
#s(literal -1/6 binary64) |
#s(approx (sinh y) y) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64))) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) |
(*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y) |
(fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) |
#s(literal 1/3 binary64) |
#s(literal 2 binary64) |
(fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) |
(*.f64 #s(literal -1/12 binary64) x) |
#s(literal -1/12 binary64) |
#s(literal 1/2 binary64) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (/.f64 (sin.f64 x) x) y)) |
(*.f64 (/.f64 (sin.f64 x) x) y) |
(/.f64 (sin.f64 x) x) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* 1/2 (- (exp y) (/ 1 (exp y)))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y))))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y)))))))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* x (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/2 (- (exp y) (/ 1 (exp y)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/240 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* x (+ (* 1/2 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* (pow x 2) (+ (* -1/10080 (* (pow x 2) (- (exp y) (/ 1 (exp y))))) (* 1/240 (- (exp y) (/ 1 (exp y)))))))))))) |
#s(approx (sin x) #s(hole binary64 x)) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* -1/6 (pow x 2)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6)))))) |
#s(approx (sin x) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6)))))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) #s(hole binary64 (- (* 1/2 (exp y)) (* 1/2 (exp (neg y)))))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) #s(hole binary64 (- (+ (* -1/6 (* (pow x 2) (- (* 1/2 (exp y)) (* 1/2 (exp (neg y)))))) (* 1/2 (exp y))) (* 1/2 (exp (neg y)))))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) #s(hole binary64 (- (+ (* 1/2 (exp y)) (* (pow x 2) (+ (* -1/6 (- (* 1/2 (exp y)) (* 1/2 (exp (neg y))))) (* 1/120 (* (pow x 2) (- (* 1/2 (exp y)) (* 1/2 (exp (neg y))))))))) (* 1/2 (exp (neg y)))))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) #s(hole binary64 (- (+ (* 1/2 (exp y)) (* (pow x 2) (+ (* -1/6 (- (* 1/2 (exp y)) (* 1/2 (exp (neg y))))) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (- (* 1/2 (exp y)) (* 1/2 (exp (neg y)))))) (* 1/120 (- (* 1/2 (exp y)) (* 1/2 (exp (neg y)))))))))) (* 1/2 (exp (neg y)))))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) #s(hole binary64 (/ (- (* 1/2 (exp y)) (* 1/2 (exp (neg y)))) x))) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 1)) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 (+ 1 (* -1/6 (pow x 2))))) |
#s(approx (* (* x x) -1/6) #s(hole binary64 (* -1/6 (pow x 2)))) |
#s(approx (* x x) #s(hole binary64 (pow x 2))) |
#s(approx (+ (* (* -1/12 x) x) 1/2) #s(hole binary64 1/2)) |
#s(approx (+ (* (* -1/12 x) x) 1/2) #s(hole binary64 (+ 1/2 (* -1/12 (pow x 2))))) |
#s(approx (* -1/12 x) #s(hole binary64 (* -1/12 x))) |
#s(approx (* (/ (sin x) x) y) #s(hole binary64 y)) |
#s(approx (* (/ (sin x) x) y) #s(hole binary64 (+ y (* -1/6 (* (pow x 2) y))))) |
#s(approx (* (/ (sin x) x) y) #s(hole binary64 (+ y (* (pow x 2) (+ (* -1/6 y) (* 1/120 (* (pow x 2) y))))))) |
#s(approx (* (/ (sin x) x) y) #s(hole binary64 (+ y (* (pow x 2) (+ (* -1/6 y) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) y)) (* 1/120 y)))))))) |
#s(approx (/ (sin x) x) #s(hole binary64 (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6))))) |
#s(approx (/ (sin x) x) #s(hole binary64 (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* 1/2 (/ (* (sin x) (- (exp y) (/ 1 (exp y)))) x)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* 1/2 (* (sin x) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (sin x) #s(hole binary64 (sin x))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) #s(hole binary64 (/ (* (sin x) (- (* 1/2 (exp y)) (* 1/2 (exp (neg y))))) x))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) #s(hole binary64 (* -1/6 (pow x 3)))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) #s(hole binary64 (* (pow x 3) (- (/ 1 (pow x 2)) 1/6)))) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(hole binary64 (* (pow x 2) (- (/ 1 (pow x 2)) 1/6)))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* -1/12 (* (pow x 2) (- (exp y) (/ 1 (exp y))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* (pow x 2) (+ (* -1/12 (- (exp y) (/ 1 (exp y)))) (* 1/2 (/ (- (exp y) (/ 1 (exp y))) (pow x 2))))))) |
#s(approx (+ (* (* -1/12 x) x) 1/2) #s(hole binary64 (* -1/12 (pow x 2)))) |
#s(approx (+ (* (* -1/12 x) x) 1/2) #s(hole binary64 (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/12)))) |
#s(approx (* (/ (sin x) x) y) #s(hole binary64 (/ (* y (sin x)) x))) |
#s(approx (/ (sin x) x) #s(hole binary64 (/ (sin x) x))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) #s(hole binary64 (* -1 (* (pow x 3) (- 1/6 (/ 1 (pow x 2))))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* y (+ (* 1/6 (/ (* (pow y 2) (sin x)) x)) (/ (sin x) x))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (* (pow y 2) (sin x)) x)) (* 1/6 (/ (sin x) x)))) (/ (sin x) x))))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/6 (/ (sin x) x)) (* (pow y 2) (+ (* 1/5040 (/ (* (pow y 2) (sin x)) x)) (* 1/120 (/ (sin x) x)))))) (/ (sin x) x))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (sin x)))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* 1/6 (* (pow y 2) (sin x))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/120 (* (pow y 2) (sin x))) (* 1/6 (sin x)))))))) |
#s(approx (* (sin x) (sinh y)) #s(hole binary64 (* y (+ (sin x) (* (pow y 2) (+ (* 1/6 (sin x)) (* (pow y 2) (+ (* 1/5040 (* (pow y 2) (sin x))) (* 1/120 (sin x)))))))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* 1/6 (pow y 2)))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* 1/120 (pow y 2)))))))) |
#s(approx (sinh y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (+ 1/6 (* (pow y 2) (+ 1/120 (* 1/5040 (pow y 2)))))))))) |
#s(approx (+ (* (* y y) 1/6) 1) #s(hole binary64 (+ 1 (* 1/6 (pow y 2))))) |
#s(approx (* y y) #s(hole binary64 (pow y 2))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) #s(hole binary64 (/ y x))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) #s(hole binary64 (* y (+ (* 1/6 (/ (pow y 2) x)) (/ 1 x))))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* 1/120 (/ (pow y 2) x)) (* 1/6 (/ 1 x)))) (/ 1 x))))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* (pow y 2) (+ (* 1/5040 (/ (pow y 2) x)) (* 1/120 (/ 1 x)))) (* 1/6 (/ 1 x)))) (/ 1 x))))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* 2 (* y (+ 1/2 (* -1/12 (pow x 2))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* y (+ (* 1/3 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 2 (+ 1/2 (* -1/12 (pow x 2)))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* y (+ (* 2 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/60 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 1/3 (+ 1/2 (* -1/12 (pow x 2)))))))))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* y (+ (* 2 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/3 (+ 1/2 (* -1/12 (pow x 2)))) (* (pow y 2) (+ (* 1/2520 (* (pow y 2) (+ 1/2 (* -1/12 (pow x 2))))) (* 1/60 (+ 1/2 (* -1/12 (pow x 2)))))))))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* 2 y))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* 1/3 (pow y 2)))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* (pow y 2) (+ 1/3 (* 1/60 (pow y 2)))))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (* y (+ 2 (* (pow y 2) (+ 1/3 (* (pow y 2) (+ 1/60 (* 1/2520 (pow y 2)))))))))) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 2)) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 (+ 2 (* 1/3 (pow y 2))))) |
#s(approx (* (+ (* (* y y) 1/6) 1) y) #s(hole binary64 (* 1/6 (pow y 3)))) |
#s(approx (* (+ (* (* y y) 1/6) 1) y) #s(hole binary64 (* (pow y 3) (+ 1/6 (/ 1 (pow y 2)))))) |
#s(approx (+ (* (* y y) 1/6) 1) #s(hole binary64 (* 1/6 (pow y 2)))) |
#s(approx (+ (* (* y y) 1/6) 1) #s(hole binary64 (* (pow y 2) (+ 1/6 (/ 1 (pow y 2)))))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) #s(hole binary64 (* (+ 1/2 (* -1/12 (pow x 2))) (- (exp y) (/ 1 (exp y)))))) |
#s(approx (* 2 (sinh y)) #s(hole binary64 (- (exp y) (/ 1 (exp y))))) |
#s(approx (* (+ (* 1/3 (* y y)) 2) y) #s(hole binary64 (* 1/3 (pow y 3)))) |
#s(approx (* (+ (* 1/3 (* y y)) 2) y) #s(hole binary64 (* (pow y 3) (+ 1/3 (* 2 (/ 1 (pow y 2))))))) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 (* 1/3 (pow y 2)))) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(hole binary64 (* (pow y 2) (+ 1/3 (* 2 (/ 1 (pow y 2))))))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) #s(hole binary64 (/ (* (sin x) (- (* 1/2 (exp y)) (* 1/2 (exp (* -1 y))))) x))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) #s(hole binary64 (/ (- (* 1/2 (exp y)) (* 1/2 (exp (* -1 y)))) x))) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) #s(hole binary64 (- (* 1/2 (exp y)) (* 1/2 (exp (* -1 y)))))) |
| Outputs |
|---|
(*.f64 (sin.f64 x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y)) x)) |
(*.f64 (*.f64 (sin.f64 x) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) (/.f64 #s(literal 1 binary64) x)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 (sin.f64 x) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))))) (neg.f64 (neg.f64 x))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y)))) (neg.f64 x)) |
(/.f64 (*.f64 (sin.f64 x) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) x) |
(*.f64 (sin.f64 x) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
(*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y)) (sin.f64 x)) |
(sin.f64 x) |
x |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y)) |
(*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y) |
(*.f64 y (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64))) |
(fma.f64 #s(literal 1 binary64) y (*.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)) y)) |
(fma.f64 y #s(literal 1 binary64) (*.f64 y (*.f64 (*.f64 y y) #s(literal 1/6 binary64)))) |
(+.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 y (*.f64 (*.f64 y y) #s(literal 1/6 binary64)))) |
(+.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)) y)) |
(*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/6 binary64)) (*.f64 y y)) |
(*.f64 (*.f64 y y) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/6 binary64))) |
(fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) |
(fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal 1 binary64)) |
(fma.f64 y (*.f64 y #s(literal 1/6 binary64)) #s(literal 1 binary64)) |
(-.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)) #s(literal -1 binary64)) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))) |
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)))) |
(+.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)) #s(literal 1 binary64)) |
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) #s(literal 1/6 binary64))) |
(*.f64 (fabs.f64 (fabs.f64 y)) (fabs.f64 (fabs.f64 y))) |
(*.f64 (neg.f64 (fabs.f64 y)) (neg.f64 (fabs.f64 y))) |
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 y))) |
(*.f64 (fabs.f64 y) (fabs.f64 y)) |
(*.f64 (neg.f64 y) (neg.f64 y)) |
(*.f64 y y) |
(pow.f64 (fabs.f64 (fabs.f64 y)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 y)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 y)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 y) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 y) #s(literal 2 binary64)) |
(pow.f64 y #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 y y) (*.f64 y y))) |
(fabs.f64 (neg.f64 (*.f64 y y))) |
(fabs.f64 (*.f64 y y)) |
y |
#s(literal 1/6 binary64) |
#s(literal 1 binary64) |
(*.f64 (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x) #s(approx (sin x) x)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (neg.f64 (*.f64 #s(approx (sin x) x) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y))) (neg.f64 x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y)) x) |
#s(approx (sin x) x) |
(*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x)) |
(/.f64 (neg.f64 (neg.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y))) (neg.f64 (neg.f64 x))) |
(/.f64 (neg.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y)) (neg.f64 x)) |
(/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) |
(*.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y)) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y)))) (neg.f64 (neg.f64 x))) |
(/.f64 (neg.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y))) (neg.f64 x)) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y)) x) |
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y)) |
(*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x))) |
#s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) |
(*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x) |
(*.f64 x #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64)))) |
#s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) |
(*.f64 (*.f64 #s(literal -1/6 binary64) x) x) |
(*.f64 (*.f64 x x) #s(literal -1/6 binary64)) |
(*.f64 #s(literal -1/6 binary64) (*.f64 x x)) |
(*.f64 x (*.f64 x #s(literal -1/6 binary64))) |
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x))) |
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x))) |
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x))) |
(*.f64 (fabs.f64 x) (fabs.f64 x)) |
(*.f64 (neg.f64 x) (neg.f64 x)) |
(*.f64 x x) |
(pow.f64 (fabs.f64 (fabs.f64 x)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 x)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 x)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 x) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 x) #s(literal 2 binary64)) |
(pow.f64 x #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 x x) (*.f64 x x))) |
(fabs.f64 (neg.f64 (*.f64 x x))) |
(fabs.f64 (*.f64 x x)) |
#s(literal -1/6 binary64) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (*.f64 (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)))) |
(*.f64 (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y))) |
(*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64))) |
(fma.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) x) x) #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) (*.f64 #s(literal 1/2 binary64) #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)))) |
(fma.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) (*.f64 (*.f64 #s(literal -1/12 binary64) x) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) #s(literal 1/2 binary64))) |
(+.f64 (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) (*.f64 (*.f64 #s(literal -1/12 binary64) x) x)) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) #s(literal 1/2 binary64))) |
(+.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) x) x) #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y))) (*.f64 #s(literal 1/2 binary64) #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)))) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) |
(*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y) |
(*.f64 y (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64))) |
(fma.f64 #s(literal 2 binary64) y (*.f64 y (*.f64 (*.f64 y y) #s(literal 1/3 binary64)))) |
(fma.f64 #s(literal 2 binary64) y (*.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) y)) |
(fma.f64 y #s(literal 2 binary64) (*.f64 y (*.f64 (*.f64 y y) #s(literal 1/3 binary64)))) |
(fma.f64 y #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) y)) |
(+.f64 (+.f64 y y) (*.f64 y (*.f64 (*.f64 y y) #s(literal 1/3 binary64)))) |
(+.f64 (+.f64 y y) (*.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) y)) |
(fma.f64 (*.f64 #s(literal 1/3 binary64) y) y #s(literal 2 binary64)) |
(fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) |
(fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) |
(-.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) #s(literal -2 binary64)) |
(-.f64 #s(literal 2 binary64) (*.f64 #s(literal -1/3 binary64) (*.f64 y y))) |
(-.f64 #s(literal 2 binary64) (neg.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)))) |
(+.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) #s(literal 2 binary64)) |
(+.f64 #s(literal 2 binary64) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) |
#s(literal 1/3 binary64) |
#s(literal 2 binary64) |
(fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) |
(fma.f64 (*.f64 x x) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) |
(fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)) |
(fma.f64 x (*.f64 #s(literal -1/12 binary64) x) #s(literal 1/2 binary64)) |
(-.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) x) x) #s(literal -1/2 binary64)) |
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/12 binary64) (*.f64 x x))) |
(-.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) x) x))) |
(+.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) x) x) #s(literal 1/2 binary64)) |
(+.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal -1/12 binary64) x) x)) |
(*.f64 #s(literal -1/12 binary64) x) |
(*.f64 x #s(literal -1/12 binary64)) |
#s(literal -1/12 binary64) |
#s(literal 1/2 binary64) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (*.f64 (/.f64 (sin.f64 x) x) y)) |
(*.f64 (*.f64 (sin.f64 x) y) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 (/.f64 (sin.f64 x) x) y) |
(*.f64 y (/.f64 (sin.f64 x) x)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 (sin.f64 x) y))) (neg.f64 (neg.f64 x))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) y)) (neg.f64 x)) |
(/.f64 (*.f64 (sin.f64 x) y) x) |
(*.f64 (sin.f64 x) (/.f64 #s(literal 1 binary64) x)) |
(/.f64 (neg.f64 (neg.f64 (sin.f64 x))) (neg.f64 (neg.f64 x))) |
(/.f64 (neg.f64 (sin.f64 x)) (neg.f64 x)) |
(/.f64 (sin.f64 x) x) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (sinh.f64 y)) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (*.f64 (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 x x)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal -1/12 binary64))) (*.f64 x x) (sinh.f64 y))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/10080 binary64) (*.f64 x x)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 #s(literal 1/240 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) (*.f64 x x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal -1/12 binary64))) (*.f64 x x) (sinh.f64 y))) |
#s(approx (* (sin x) (sinh y)) (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) x) #s(literal 1/2 binary64))) |
#s(approx (* (sin x) (sinh y)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) x)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/240 binary64) (*.f64 x x)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal -1/12 binary64))) (*.f64 x x) (sinh.f64 y)) x)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/10080 binary64) (*.f64 x x)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (*.f64 #s(literal 1/240 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) (*.f64 x x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal -1/12 binary64))) (*.f64 x x) (sinh.f64 y)) x)) |
#s(approx (sin x) x) |
#s(approx (sin x) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) x) x #s(literal 1 binary64)) x)) |
#s(approx (sin x) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 x x) #s(literal -1/6 binary64)) (*.f64 x x) #s(literal 1 binary64)) x)) |
#s(approx (sin x) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 x x) #s(literal 1/120 binary64)) (*.f64 x x) #s(literal -1/6 binary64)) (*.f64 x x) #s(literal 1 binary64)) x)) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (sinh.f64 y)) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (fma.f64 (*.f64 (*.f64 x x) (sinh.f64 y)) #s(literal -1/6 binary64) (sinh.f64 y))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (-.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 x x) (sinh.f64 y)) #s(literal 1/120 binary64) (*.f64 #s(literal -1/6 binary64) (sinh.f64 y))) (*.f64 x x) (*.f64 #s(literal 1/2 binary64) (exp.f64 y))) (*.f64 #s(literal 1/2 binary64) (exp.f64 (neg.f64 y))))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (-.f64 (fma.f64 (fma.f64 (sinh.f64 y) #s(literal -1/6 binary64) (*.f64 (fma.f64 (*.f64 (*.f64 x x) (sinh.f64 y)) #s(literal -1/5040 binary64) (*.f64 #s(literal 1/120 binary64) (sinh.f64 y))) (*.f64 x x))) (*.f64 x x) (*.f64 #s(literal 1/2 binary64) (exp.f64 y))) (*.f64 #s(literal 1/2 binary64) (exp.f64 (neg.f64 y))))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (/.f64 (sinh.f64 y) x)) |
#s(approx (+ (* -1/6 (* x x)) 1) #s(literal 1 binary64)) |
#s(approx (+ (* -1/6 (* x x)) 1) (fma.f64 (*.f64 #s(literal -1/6 binary64) x) x #s(literal 1 binary64))) |
#s(approx (* (* x x) -1/6) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) |
#s(approx (* x x) (*.f64 x x)) |
#s(approx (+ (* (* -1/12 x) x) 1/2) #s(literal 1/2 binary64)) |
#s(approx (+ (* (* -1/12 x) x) 1/2) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64))) |
#s(approx (* -1/12 x) (*.f64 #s(literal -1/12 binary64) x)) |
#s(approx (* (/ (sin x) x) y) y) |
#s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y)) |
#s(approx (* (/ (sin x) x) y) (fma.f64 (fma.f64 (*.f64 (*.f64 x x) y) #s(literal 1/120 binary64) (*.f64 #s(literal -1/6 binary64) y)) (*.f64 x x) y)) |
#s(approx (* (/ (sin x) x) y) (fma.f64 (fma.f64 (*.f64 x x) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/5040 binary64) (*.f64 #s(literal 1/120 binary64) y)) (*.f64 #s(literal -1/6 binary64) y)) (*.f64 x x) y)) |
#s(approx (/ (sin x) x) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 x x) #s(literal -1/6 binary64)) (*.f64 x x) #s(literal 1 binary64))) |
#s(approx (/ (sin x) x) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 x x) #s(literal 1/120 binary64)) (*.f64 x x) #s(literal -1/6 binary64)) (*.f64 x x) #s(literal 1 binary64))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (*.f64 (*.f64 (sin.f64 x) (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) x)) #s(literal 1/2 binary64))) |
#s(approx (* (sin x) (sinh y)) (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (sin.f64 x)) #s(literal 1/2 binary64))) |
#s(approx (sin x) (sin.f64 x)) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (*.f64 (/.f64 (sinh.f64 y) x) (sin.f64 x))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) (*.f64 (*.f64 (*.f64 x x) x) #s(literal -1/6 binary64))) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1/6 binary64)) (*.f64 (*.f64 x x) x))) |
#s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x x)) #s(literal 1/6 binary64)) (*.f64 x x))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) (*.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) x) x) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) (*.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(literal -1/12 binary64) (/.f64 (sinh.f64 y) (*.f64 x x))) (*.f64 x x))) |
#s(approx (+ (* (* -1/12 x) x) 1/2) (*.f64 (*.f64 #s(literal -1/12 binary64) x) x)) |
#s(approx (+ (* (* -1/12 x) x) 1/2) (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) #s(literal 1/12 binary64)) (*.f64 x x))) |
#s(approx (* (/ (sin x) x) y) (*.f64 (/.f64 (sin.f64 x) x) y)) |
#s(approx (/ (sin x) x) (/.f64 (sin.f64 x) x)) |
#s(approx (* (+ (* -1/6 (* x x)) 1) x) (neg.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 x x))) (*.f64 (*.f64 x x) x)))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)) (sin.f64 x) (sin.f64 x)) x) y)) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (*.f64 (fma.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/120 binary64) (*.f64 (sin.f64 x) #s(literal 1/6 binary64))) x) (*.f64 y y) (/.f64 (sin.f64 x) x)) y)) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (*.f64 (fma.f64 (fma.f64 (/.f64 (sin.f64 x) x) #s(literal 1/6 binary64) (*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/5040 binary64) (*.f64 (sin.f64 x) #s(literal 1/120 binary64))) x) (*.f64 y y))) (*.f64 y y) (/.f64 (sin.f64 x) x)) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (sin.f64 x) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (*.f64 (*.f64 y y) #s(literal 1/6 binary64)) (sin.f64 x) (sin.f64 x)) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/120 binary64) (*.f64 (sin.f64 x) #s(literal 1/6 binary64))) (*.f64 y y) (sin.f64 x)) y)) |
#s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (fma.f64 (sin.f64 x) #s(literal 1/6 binary64) (*.f64 (fma.f64 (*.f64 (*.f64 y y) (sin.f64 x)) #s(literal 1/5040 binary64) (*.f64 (sin.f64 x) #s(literal 1/120 binary64))) (*.f64 y y))) (*.f64 y y) (sin.f64 x)) y)) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y)) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal 1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal 1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) |
#s(approx (+ (* (* y y) 1/6) 1) (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64))) |
#s(approx (* y y) (*.f64 y y)) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (/.f64 y x)) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y)) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (fma.f64 y (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal 1/6 binary64)) x) (*.f64 y y)) (/.f64 y x))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (*.f64 (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) x) (*.f64 y y) (/.f64 #s(literal 1/6 binary64) x)) (*.f64 y y) (/.f64 #s(literal 1 binary64) x)) y)) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) (*.f64 (+.f64 y y) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) (*.f64 (fma.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) #s(literal 2 binary64))) y)) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/60 binary64) (*.f64 y y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) #s(literal 1/3 binary64))) (*.f64 y y) (*.f64 (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) #s(literal 2 binary64))) y)) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/2520 binary64) (*.f64 y y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) (*.f64 #s(literal 1/60 binary64) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) (*.f64 y y) (*.f64 (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) #s(literal 1/3 binary64))) (*.f64 y y) (*.f64 (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) #s(literal 2 binary64))) y)) |
#s(approx (* 2 (sinh y)) (+.f64 y y)) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64)) y)) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/60 binary64) (*.f64 y y) #s(literal 1/3 binary64)) (*.f64 y y) #s(literal 2 binary64)) y)) |
#s(approx (* 2 (sinh y)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/2520 binary64) (*.f64 y y) #s(literal 1/60 binary64)) (*.f64 y y) #s(literal 1/3 binary64)) (*.f64 y y) #s(literal 2 binary64)) y)) |
#s(approx (+ (* 1/3 (* y y)) 2) #s(literal 2 binary64)) |
#s(approx (+ (* 1/3 (* y y)) 2) (fma.f64 (*.f64 y y) #s(literal 1/3 binary64) #s(literal 2 binary64))) |
#s(approx (* (+ (* (* y y) 1/6) 1) y) (*.f64 (*.f64 (*.f64 y y) y) #s(literal 1/6 binary64))) |
#s(approx (* (+ (* (* y y) 1/6) 1) y) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/6 binary64)) (*.f64 (*.f64 y y) y))) |
#s(approx (+ (* (* y y) 1/6) 1) (*.f64 (*.f64 y y) #s(literal 1/6 binary64))) |
#s(approx (+ (* (* y y) 1/6) 1) (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64))) |
#s(approx (* (* 2 (sinh y)) (+ (* (* -1/12 x) x) 1/2)) (*.f64 (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (sinh.f64 y)))) |
#s(approx (* 2 (sinh y)) (*.f64 #s(literal 2 binary64) (sinh.f64 y))) |
#s(approx (* (+ (* 1/3 (* y y)) 2) y) (*.f64 (*.f64 (*.f64 y y) y) #s(literal 1/3 binary64))) |
#s(approx (* (+ (* 1/3 (* y y)) 2) y) (*.f64 (+.f64 (/.f64 #s(literal 2 binary64) (*.f64 y y)) #s(literal 1/3 binary64)) (*.f64 (*.f64 y y) y))) |
#s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) |
#s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (+.f64 (/.f64 #s(literal 2 binary64) (*.f64 y y)) #s(literal 1/3 binary64)) (*.f64 y y))) |
#s(approx (* (sin x) (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x)) (*.f64 (/.f64 (sinh.f64 y) x) (sin.f64 x))) |
#s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (/.f64 (sinh.f64 y) x)) |
#s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) (sinh.f64 y)) |
Compiled 2 199 to 998 computations (54.6% saved)
26 alts after pruning (19 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 194 | 9 | 203 |
| Fresh | 2 | 10 | 12 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 4 | 4 |
| Total | 198 | 26 | 224 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 89.4% | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| ✓ | 73.3% | (/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) x) |
| ✓ | 40.0% | (/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) x) |
| 14.8% | (/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) x) x)) x)) #s(approx (sinh y) y)) x) | |
| ✓ | 23.5% | (/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
| 40.0% | (*.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) (/.f64 #s(literal 1 binary64) x)) | |
| 23.4% | (*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) | |
| 60.2% | (*.f64 (sin.f64 x) (/.f64 #s(approx (sinh y) y) x)) | |
| 52.2% | (*.f64 (sin.f64 x) #s(approx (/ (sinh y) x) #s(approx (* (/ (+ (* (* y y) 1/6) 1) x) y) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) x)) (/.f64 #s(literal 1/6 binary64) x)) (*.f64 (*.f64 y y) y))))) | |
| 16.0% | (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) | |
| ✓ | 49.1% | (*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
| 49.0% | (*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) | |
| 65.1% | (*.f64 #s(approx (sin x) x) #s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) | |
| 51.8% | #s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 (exp.f64 y) #s(literal 2 binary64))))) | |
| 51.4% | #s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) #s(approx (/ (exp (neg y)) 2) (fma.f64 #s(literal -1/2 binary64) y #s(literal 1/2 binary64))))) | |
| ✓ | 50.5% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (/.f64 (sin.f64 x) x) y)) |
| 17.9% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) | |
| 36.3% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) | |
| 36.3% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) | |
| 16.9% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) #s(approx (+ (* (* -1/12 x) x) 1/2) (*.f64 (*.f64 #s(literal -1/12 binary64) x) x)))) | |
| 35.7% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) | |
| 35.6% | #s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) | |
| ✓ | 60.1% | #s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
| 36.3% | #s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) | |
| 26.7% | #s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) | |
| 49.2% | #s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
Compiled 739 to 590 computations (20.2% saved)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) x) x)) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) #s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
(/.f64 (*.f64 #s(approx (sin x) x) (sinh.f64 y)) x) |
(*.f64 #s(approx (sin x) x) (/.f64 (sinh.f64 y) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) #s(approx (+ (* (* -1/12 x) x) 1/2) (*.f64 (*.f64 #s(literal -1/12 binary64) x) x)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) #s(approx (/ (exp (neg y)) 2) (fma.f64 #s(literal -1/2 binary64) y #s(literal 1/2 binary64))))) |
(*.f64 (*.f64 (sinh.f64 y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (fma.f64 y #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) y))) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 y)) #s(literal 2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 (exp.f64 y) #s(literal 2 binary64))))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (/.f64 (sin.f64 x) x) y)) |
(*.f64 (sin.f64 x) (/.f64 #s(approx (sinh y) y) x)) |
(/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) x) |
(*.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 (sin.f64 x) #s(approx (/ (sinh y) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
(/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) x) |
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) x)) |
(/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
(*.f64 (*.f64 (sinh.f64 y) (sin.f64 x)) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 (sin.f64 x) #s(approx (/ (sinh y) x) #s(approx (* (/ (+ (* (* y y) 1/6) 1) x) y) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) x)) (/.f64 #s(literal 1/6 binary64) x)) (*.f64 (*.f64 y y) y))))) |
(/.f64 #s(approx (* (sin x) (sinh y)) (*.f64 (fma.f64 (*.f64 (*.f64 (sin.f64 x) (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal 1/6 binary64))) y) y (sin.f64 x)) y)) x) |
| Outputs |
|---|
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) x)) |
4 calls:
| 86.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| 11.0ms | x |
| 11.0ms | y |
| 10.0ms | (sinh.f64 y) |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.8% | 1 | (sinh.f64 y) |
| 99.8% | 1 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| 99.8% | 1 | x |
| 99.8% | 1 | y |
Compiled 10 to 13 computations (-30% saved)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) x) x)) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) #s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
(/.f64 (*.f64 #s(approx (sin x) x) (sinh.f64 y)) x) |
(*.f64 #s(approx (sin x) x) (/.f64 (sinh.f64 y) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) #s(approx (+ (* (* -1/12 x) x) 1/2) (*.f64 (*.f64 #s(literal -1/12 binary64) x) x)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) #s(approx (/ (exp (neg y)) 2) (fma.f64 #s(literal -1/2 binary64) y #s(literal 1/2 binary64))))) |
(*.f64 (*.f64 (sinh.f64 y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (fma.f64 y #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) y))) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 y)) #s(literal 2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 (exp.f64 y) #s(literal 2 binary64))))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (/.f64 (sin.f64 x) x) y)) |
(*.f64 (sin.f64 x) (/.f64 #s(approx (sinh y) y) x)) |
(/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) x) |
(*.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) y)) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 (sin.f64 x) #s(approx (/ (sinh y) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
(/.f64 (*.f64 (sin.f64 x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) x) |
| Outputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (/.f64 (sin.f64 x) x) y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
4 calls:
| 15.0ms | x |
| 11.0ms | (sinh.f64 y) |
| 10.0ms | y |
| 8.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 85.2% | 2 | (sinh.f64 y) |
| 99.7% | 3 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| 90.7% | 2 | x |
| 95.4% | 3 | y |
Compiled 10 to 13 computations (-30% saved)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) x) x)) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) #s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
(/.f64 (*.f64 #s(approx (sin x) x) (sinh.f64 y)) x) |
(*.f64 #s(approx (sin x) x) (/.f64 (sinh.f64 y) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) #s(approx (+ (* (* -1/12 x) x) 1/2) (*.f64 (*.f64 #s(literal -1/12 binary64) x) x)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) #s(approx (/ (exp (neg y)) 2) (fma.f64 #s(literal -1/2 binary64) y #s(literal 1/2 binary64))))) |
(*.f64 (*.f64 (sinh.f64 y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (fma.f64 y #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) y))) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 y)) #s(literal 2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 (exp.f64 y) #s(literal 2 binary64))))) |
| Outputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (sin x) x) (/.f64 (sinh.f64 y) x)) |
3 calls:
| 11.0ms | x |
| 9.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| 8.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 75.4% | 2 | x |
| 75.5% | 2 | y |
| 88.8% | 2 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
Compiled 8 to 10 computations (-25% saved)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) x) x)) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) #s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
(/.f64 (*.f64 #s(approx (sin x) x) (sinh.f64 y)) x) |
(*.f64 #s(approx (sin x) x) (/.f64 (sinh.f64 y) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) #s(approx (+ (* (* -1/12 x) x) 1/2) (*.f64 (*.f64 #s(literal -1/12 binary64) x) x)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) #s(approx (/ (exp (neg y)) 2) (fma.f64 #s(literal -1/2 binary64) y #s(literal 1/2 binary64))))) |
(*.f64 (*.f64 (sinh.f64 y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (fma.f64 y #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 y y) #s(literal 1/3 binary64)) y))) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
| Outputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) |
(*.f64 #s(approx (sin x) x) (/.f64 (sinh.f64 y) x)) |
1 calls:
| 6.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 88.8% | 2 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
Compiled 6 to 6 computations (0% saved)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) x) x)) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) #s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
(/.f64 (*.f64 #s(approx (sin x) x) (sinh.f64 y)) x) |
(*.f64 #s(approx (sin x) x) (/.f64 (sinh.f64 y) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) #s(approx (+ (* -1/12 (* x x)) 1/2) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) #s(approx (+ (* (* -1/12 x) x) 1/2) (*.f64 (*.f64 #s(literal -1/12 binary64) x) x)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (-.f64 (/.f64 (exp.f64 y) #s(literal 2 binary64)) #s(approx (/ (exp (neg y)) 2) (fma.f64 #s(literal -1/2 binary64) y #s(literal 1/2 binary64))))) |
(*.f64 (*.f64 (sinh.f64 y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 y y) #s(literal 2 binary64)) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
| Outputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (sin x) x) (/.f64 (sinh.f64 y) x)) |
1 calls:
| 5.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 87.7% | 2 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
Compiled 6 to 6 computations (0% saved)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) x) x)) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) #s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
(/.f64 (*.f64 #s(approx (sin x) x) (sinh.f64 y)) x) |
(*.f64 #s(approx (sin x) x) (/.f64 (sinh.f64 y) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
| Outputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (*.f64 #s(approx (+ (* 1/3 (* y y)) 2) (*.f64 (*.f64 y y) #s(literal 1/3 binary64))) y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (sin x) x) (/.f64 (sinh.f64 y) x)) |
1 calls:
| 10.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 87.7% | 2 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
Compiled 6 to 6 computations (0% saved)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) x) x)) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) #s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
(/.f64 (*.f64 #s(approx (sin x) x) (sinh.f64 y)) x) |
(*.f64 #s(approx (sin x) x) (/.f64 (sinh.f64 y) x)) |
| Outputs |
|---|
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) x) x)) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (/.f64 (sinh.f64 y) x)) |
1 calls:
| 4.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 85.5% | 2 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
Compiled 6 to 6 computations (0% saved)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) x) x)) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) #s(approx (sinh y) y)) x) |
(/.f64 (*.f64 #s(approx (sin x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 x x) #s(literal 1 binary64)) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) #s(approx (/ (- (/ (exp y) 2) (/ (exp (neg y)) 2)) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) x) y))) |
(/.f64 (*.f64 #s(approx (sin x) x) (sinh.f64 y)) x) |
| Outputs |
|---|
(/.f64 (*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) x) x)) x)) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
2 calls:
| 4.0ms | (sinh.f64 y) |
| 4.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 72.8% | 2 | (sinh.f64 y) |
| 85.5% | 3 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
Compiled 8 to 9 computations (-12.5% saved)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
| Outputs |
|---|
(*.f64 #s(approx (sin x) (*.f64 #s(approx (+ (* -1/6 (* x x)) 1) (*.f64 (*.f64 x x) #s(literal -1/6 binary64))) x)) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
1 calls:
| 6.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 84.5% | 3 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
Compiled 6 to 6 computations (0% saved)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 #s(literal -1/12 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) |
#s(approx (/ (* (sin x) (sinh y)) x) (*.f64 #s(approx (* 2 (sinh y)) (+.f64 y y)) (fma.f64 (*.f64 #s(literal -1/12 binary64) x) x #s(literal 1/2 binary64)))) |
| Outputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) (sinh.f64 y)) |
1 calls:
| 3.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 84.1% | 3 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
Compiled 6 to 6 computations (0% saved)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) |
| Outputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) (fma.f64 (*.f64 (*.f64 x x) y) #s(literal -1/6 binary64) y))) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
4 calls:
| 2.0ms | x |
| 2.0ms | y |
| 2.0ms | (sinh.f64 y) |
| 2.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 61.9% | 2 | (sinh.f64 y) |
| 53.9% | 2 | x |
| 64.4% | 3 | y |
| 73.2% | 3 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
Compiled 10 to 13 computations (-30% saved)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
| Outputs |
|---|
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (sinh y) (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/6 binary64) #s(literal 1 binary64)) y))) |
2 calls:
| 2.0ms | y |
| 2.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 62.4% | 2 | y |
| 61.9% | 2 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
Compiled 7 to 8 computations (-14.3% saved)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
(/.f64 (*.f64 #s(approx (sin x) x) #s(approx (sinh y) y)) x) |
(*.f64 #s(approx (sin x) x) (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) (/.f64 #s(literal 1 binary64) x))) |
(*.f64 (*.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) #s(approx (sin x) x)) (/.f64 #s(literal 1 binary64) x)) |
| Outputs |
|---|
(*.f64 #s(approx (sin x) x) (/.f64 #s(approx (- (/ (exp y) 2) (/ (exp (neg y)) 2)) y) x)) |
4 calls:
| 2.0ms | y |
| 2.0ms | x |
| 2.0ms | (sinh.f64 y) |
| 2.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 49.1% | 1 | x |
| 49.1% | 1 | (sinh.f64 y) |
| 49.1% | 1 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| 49.1% | 1 | y |
Compiled 10 to 13 computations (-30% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
| Outputs |
|---|
#s(approx (/ (* (sin x) (sinh y)) x) #s(approx (* (/ (sin x) x) y) y)) |
4 calls:
| 1.0ms | x |
| 1.0ms | y |
| 1.0ms | (sinh.f64 y) |
| 1.0ms | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 26.7% | 1 | (sinh.f64 y) |
| 26.7% | 1 | x |
| 26.7% | 1 | (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) x) |
| 26.7% | 1 | y |
Compiled 10 to 13 computations (-30% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.4176833103491624e-48 | 1.0537451267975067e-32 |
| 0.0ms | -inf | -5.720168015669425e-129 |
Compiled 9 to 11 computations (-22.2% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -2.6724058259168404e-185 | -9.943734701481253e-205 |
Compiled 9 to 11 computations (-22.2% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -2.6724058259168404e-185 | -9.943734701481253e-205 |
Compiled 9 to 11 computations (-22.2% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -1.3004338040367589e-270 | 0.0 |
Compiled 9 to 11 computations (-22.2% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -1.8369166369041154e-263 | -1.3004338040367589e-270 |
Compiled 9 to 11 computations (-22.2% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -2.6724058259168404e-185 | -9.943734701481253e-205 |
Compiled 9 to 11 computations (-22.2% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.0 | 9.266256509414e-312 |
| 0.0ms | -2.6724058259168404e-185 | -9.943734701481253e-205 |
Compiled 9 to 11 computations (-22.2% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.3296854388014899e-306 | 2.055653390114624e-296 |
| 0.0ms | -2.6724058259168404e-185 | -9.943734701481253e-205 |
Compiled 9 to 11 computations (-22.2% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.3296854388014899e-306 | 2.055653390114624e-296 |
| 0.0ms | -2.6724058259168404e-185 | -9.943734701481253e-205 |
Compiled 9 to 11 computations (-22.2% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.0 | 9.266256509414e-312 |
| 0.0ms | -2.6724058259168404e-185 | -9.943734701481253e-205 |
Compiled 9 to 11 computations (-22.2% saved)
| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 9.0ms | 3.481083550083847e+90 | 1.0428366073767507e+91 |
| 6.0ms | 80× | 0 | valid |
Compiled 150 to 156 computations (-4% saved)
ival-sin: 3.0ms (72.7% of total)adjust: 0.0ms (0% of total)ival-sinh: 0.0ms (0% of total)ival-mult!: 0.0ms (0% of total)ival-div!: 0.0ms (0% of total)| 1× | fuel |
Compiled 191 to 125 computations (34.6% saved)
(negabs y)
(abs x)
Compiled 2 871 to 2 465 computations (14.1% saved)
Loading profile data...