
Time bar (total: 5.5s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 21 to 14 computations (33.3% saved)
| 730.0ms | 8 256× | 0 | valid |
ival-cos: 275.0ms (56% of total)ival-mult!: 158.0ms (32.2% of total)ival-div!: 40.0ms (8.1% of total)ival-add!: 18.0ms (3.7% of total)adjust: 1.0ms (0.2% of total)Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 41 | 133 |
| 1 | 177 | 133 |
| 2 | 793 | 133 |
| 3 | 3291 | 133 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 99.5% | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
(abs a1)
(abs a2)
(abs th)
(sort a1 a2)
Compiled 32 to 24 computations (25% saved)
| Inputs |
|---|
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) |
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
(cos.f64 th) |
th |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
(*.f64 a1 a1) |
a1 |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)) |
(*.f64 a2 a2) |
a2 |
| Outputs |
|---|
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (/ (* (pow a2 2) (cos th)) (sqrt 2)))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (/ (* (pow a1 2) (cos th)) (sqrt 2)) (/ (* (pow a2 2) (cos th)) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (/ (* (pow a1 2) (cos th)) (sqrt 2)))) |
#s(approx (* a1 a1) #s(hole binary64 (pow a1 2))) |
#s(approx a1 #s(hole binary64 a1)) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (* (pow a1 2) (+ (/ (cos th) (sqrt 2)) (/ (* (pow a2 2) (cos th)) (* (pow a1 2) (sqrt 2))))))) |
#s(approx (* a2 a2) #s(hole binary64 (pow a2 2))) |
#s(approx a2 #s(hole binary64 a2)) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (* (pow a2 2) (+ (/ (cos th) (sqrt 2)) (/ (* (pow a1 2) (cos th)) (* (pow a2 2) (sqrt 2))))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (/ (pow a1 2) (sqrt 2)) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (* -1/2 (/ (pow a2 2) (sqrt 2))))) (+ (/ (pow a1 2) (sqrt 2)) (/ (pow a2 2) (sqrt 2)))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* 1/24 (/ (pow a1 2) (sqrt 2))) (* 1/24 (/ (pow a2 2) (sqrt 2)))))))) (+ (/ (pow a1 2) (sqrt 2)) (/ (pow a2 2) (sqrt 2)))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* 1/24 (/ (pow a1 2) (sqrt 2))) (+ (* 1/24 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (pow a1 2) (sqrt 2))) (* -1/720 (/ (pow a2 2) (sqrt 2))))))))))) (+ (/ (pow a1 2) (sqrt 2)) (/ (pow a2 2) (sqrt 2)))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (/ (pow a1 2) (sqrt 2)))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (+ (* -1/2 (/ (* (pow a1 2) (pow th 2)) (sqrt 2))) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (* 1/24 (/ (* (pow a1 2) (pow th 2)) (sqrt 2))))) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (* (pow a1 2) (pow th 2)) (sqrt 2))) (* 1/24 (/ (pow a1 2) (sqrt 2))))))) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (/ 1 (sqrt 2)))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (+ (* -1/2 (/ (pow th 2) (sqrt 2))) (/ 1 (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (- (* 1/24 (/ (pow th 2) (sqrt 2))) (* 1/2 (/ 1 (sqrt 2))))) (/ 1 (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (- (* (pow th 2) (+ (* -1/720 (/ (pow th 2) (sqrt 2))) (* 1/24 (/ 1 (sqrt 2))))) (* 1/2 (/ 1 (sqrt 2))))) (/ 1 (sqrt 2))))) |
#s(approx (cos th) #s(hole binary64 1)) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* -1/2 (pow th 2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* 1/24 (pow th 2)) 1/2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/24 (* -1/720 (pow th 2)))) 1/2))))) |
#s(approx th #s(hole binary64 th)) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (/ (pow a2 2) (sqrt 2)))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (+ (* -1/2 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* 1/24 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (* 1/24 (/ (pow a2 2) (sqrt 2))))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (/ (cos th) (sqrt 2)))) |
#s(approx (cos th) #s(hole binary64 (cos th))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | th | @ | -inf | ((+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (cos th) (sqrt 2)) (cos th) th (sqrt 2) 2 (* a1 a1) a1 (* (/ (cos th) (sqrt 2)) (* a2 a2)) (* a2 a2) a2) |
| 3.0ms | a1 | @ | 0 | ((+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (cos th) (sqrt 2)) (cos th) th (sqrt 2) 2 (* a1 a1) a1 (* (/ (cos th) (sqrt 2)) (* a2 a2)) (* a2 a2) a2) |
| 2.0ms | th | @ | inf | ((+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (cos th) (sqrt 2)) (cos th) th (sqrt 2) 2 (* a1 a1) a1 (* (/ (cos th) (sqrt 2)) (* a2 a2)) (* a2 a2) a2) |
| 2.0ms | a2 | @ | 0 | ((+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (cos th) (sqrt 2)) (cos th) th (sqrt 2) 2 (* a1 a1) a1 (* (/ (cos th) (sqrt 2)) (* a2 a2)) (* a2 a2) a2) |
| 2.0ms | th | @ | 0 | ((+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (cos th) (sqrt 2)) (cos th) th (sqrt 2) 2 (* a1 a1) a1 (* (/ (cos th) (sqrt 2)) (* a2 a2)) (* a2 a2) a2) |
| Inputs |
|---|
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) |
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
(cos.f64 th) |
th |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
(*.f64 a1 a1) |
a1 |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)) |
(*.f64 a2 a2) |
a2 |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (/ (* (pow a2 2) (cos th)) (sqrt 2)))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (/ (* (pow a1 2) (cos th)) (sqrt 2)) (/ (* (pow a2 2) (cos th)) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (/ (* (pow a1 2) (cos th)) (sqrt 2)))) |
#s(approx (* a1 a1) #s(hole binary64 (pow a1 2))) |
#s(approx a1 #s(hole binary64 a1)) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (* (pow a1 2) (+ (/ (cos th) (sqrt 2)) (/ (* (pow a2 2) (cos th)) (* (pow a1 2) (sqrt 2))))))) |
#s(approx (* a2 a2) #s(hole binary64 (pow a2 2))) |
#s(approx a2 #s(hole binary64 a2)) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (* (pow a2 2) (+ (/ (cos th) (sqrt 2)) (/ (* (pow a1 2) (cos th)) (* (pow a2 2) (sqrt 2))))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (/ (pow a1 2) (sqrt 2)) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (* -1/2 (/ (pow a2 2) (sqrt 2))))) (+ (/ (pow a1 2) (sqrt 2)) (/ (pow a2 2) (sqrt 2)))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* 1/24 (/ (pow a1 2) (sqrt 2))) (* 1/24 (/ (pow a2 2) (sqrt 2)))))))) (+ (/ (pow a1 2) (sqrt 2)) (/ (pow a2 2) (sqrt 2)))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* 1/24 (/ (pow a1 2) (sqrt 2))) (+ (* 1/24 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (pow a1 2) (sqrt 2))) (* -1/720 (/ (pow a2 2) (sqrt 2))))))))))) (+ (/ (pow a1 2) (sqrt 2)) (/ (pow a2 2) (sqrt 2)))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (/ (pow a1 2) (sqrt 2)))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (+ (* -1/2 (/ (* (pow a1 2) (pow th 2)) (sqrt 2))) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (* 1/24 (/ (* (pow a1 2) (pow th 2)) (sqrt 2))))) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (* (pow a1 2) (pow th 2)) (sqrt 2))) (* 1/24 (/ (pow a1 2) (sqrt 2))))))) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (/ 1 (sqrt 2)))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (+ (* -1/2 (/ (pow th 2) (sqrt 2))) (/ 1 (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (- (* 1/24 (/ (pow th 2) (sqrt 2))) (* 1/2 (/ 1 (sqrt 2))))) (/ 1 (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (- (* (pow th 2) (+ (* -1/720 (/ (pow th 2) (sqrt 2))) (* 1/24 (/ 1 (sqrt 2))))) (* 1/2 (/ 1 (sqrt 2))))) (/ 1 (sqrt 2))))) |
#s(approx (cos th) #s(hole binary64 1)) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* -1/2 (pow th 2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* 1/24 (pow th 2)) 1/2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/24 (* -1/720 (pow th 2)))) 1/2))))) |
#s(approx th #s(hole binary64 th)) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (/ (pow a2 2) (sqrt 2)))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (+ (* -1/2 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* 1/24 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (* 1/24 (/ (pow a2 2) (sqrt 2))))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (/ (cos th) (sqrt 2)))) |
#s(approx (cos th) #s(hole binary64 (cos th))) |
| Outputs |
|---|
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64))) |
(-.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64)) (*.f64 (neg.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64))) (*.f64 a2 a2))) |
(/.f64 (fma.f64 (*.f64 a1 a1) (cos.f64 th) (*.f64 (*.f64 a2 a2) (cos.f64 th))) #s(literal 2 binary64)) |
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64))) (*.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64)))) (-.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64)))) |
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) (*.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64)))))) |
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (*.f64 #s(literal 2 binary64) #s(literal 2 binary64))) |
(fma.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
(fma.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64))) |
(fma.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (*.f64 a1 a1) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
(fma.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (*.f64 a2 a2) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64))) |
(fma.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a1) a1 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
(fma.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a2) a2 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64))) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) #s(literal 2 binary64))) |
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (*.f64 a1 a1)) |
(*.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a1) a1) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th))) (neg.f64 #s(literal 2 binary64))) |
(/.f64 (cos.f64 th) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (cos.f64 th)) (neg.f64 #s(literal 2 binary64))) |
(cos.f64 th) |
(cos.f64 (neg.f64 th)) |
(sin.f64 (+.f64 th (/.f64 (PI.f64) #s(literal 2 binary64)))) |
th |
#s(literal 2 binary64) |
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
(*.f64 a1 a1) |
(*.f64 (fabs.f64 a1) (fabs.f64 a1)) |
(*.f64 (neg.f64 a1) (neg.f64 a1)) |
(*.f64 (pow.f64 a1 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 a1 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64)))) |
(exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64))) |
(pow.f64 a1 #s(literal 2 binary64)) |
a1 |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) #s(literal 2 binary64))) |
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (*.f64 a2 a2)) |
(*.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a2) a2) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th))) (neg.f64 #s(literal 2 binary64))) |
(*.f64 a2 a2) |
(*.f64 (fabs.f64 a2) (fabs.f64 a2)) |
(*.f64 (neg.f64 a2) (neg.f64 a2)) |
(*.f64 (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64)))) |
(exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64))) |
(pow.f64 a2 #s(literal 2 binary64)) |
a2 |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64))) |
#s(approx (* a1 a1) (*.f64 a1 a1)) |
#s(approx a1 a1) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 (fma.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (*.f64 #s(literal 2 binary64) (*.f64 a1 a1))) (/.f64 (cos.f64 th) #s(literal 2 binary64))) (*.f64 a1 a1))) |
#s(approx (* a2 a2) (*.f64 a2 a2)) |
#s(approx a2 a2) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 (fma.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (*.f64 #s(literal 2 binary64) (*.f64 a2 a2))) (/.f64 (cos.f64 th) #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 1/24 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/24 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal -1/720 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th))) (*.f64 th th))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) |
#s(approx (/ (* (cos th) (* a1 a1)) 2) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) #s(literal 2 binary64)) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)))) |
#s(approx (/ (* (cos th) (* a1 a1)) 2) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)))) |
#s(approx (/ (* (cos th) (* a1 a1)) 2) (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) #s(literal 2 binary64)) #s(literal -1/720 binary64) (/.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a1 a1)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)))) |
#s(approx (/ (cos th) 2) (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))) |
#s(approx (/ (cos th) 2) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 th th) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))) |
#s(approx (/ (cos th) 2) (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 th th)) #s(literal 2 binary64)) (/.f64 #s(literal 1/2 binary64) #s(literal 2 binary64))) (*.f64 th th) (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))) |
#s(approx (/ (cos th) 2) (fma.f64 (-.f64 (*.f64 (fma.f64 (/.f64 (*.f64 th th) #s(literal 2 binary64)) #s(literal -1/720 binary64) (/.f64 #s(literal 1/24 binary64) #s(literal 2 binary64))) (*.f64 th th)) (/.f64 #s(literal 1/2 binary64) #s(literal 2 binary64))) (*.f64 th th) (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))) |
#s(approx (cos th) #s(literal 1 binary64)) |
#s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) |
#s(approx (cos th) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))) |
#s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/720 binary64) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))) |
#s(approx th th) |
#s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))) |
#s(approx (/ (* (cos th) (* a2 a2)) 2) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal 2 binary64)) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (/ (* (cos th) (* a2 a2)) 2) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (/ (* (cos th) (* a2 a2)) 2) (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal 2 binary64)) #s(literal -1/720 binary64) (/.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (/ (cos th) 2) (/.f64 (cos.f64 th) #s(literal 2 binary64))) |
#s(approx (cos th) (cos.f64 th)) |
Compiled 820 to 317 computations (61.3% saved)
10 alts after pruning (9 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 64 | 9 | 73 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 64 | 10 | 74 |
| Status | Accuracy | Program |
|---|---|---|
| 59.3% | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) | |
| ✓ | 99.5% | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| ▶ | 46.4% | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
| 62.1% | (+.f64 (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) | |
| 66.7% | (+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) | |
| ▶ | 97.9% | (+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| 59.3% | (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2))) | |
| ▶ | 12.0% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
| ▶ | 46.4% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
| ▶ | 59.3% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
Compiled 328 to 290 computations (11.6% saved)
| Inputs |
|---|
(+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) |
(/.f64 (*.f64 a1 a1) #s(literal 2 binary64)) |
(*.f64 a1 a1) |
a1 |
#s(literal 2 binary64) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)) |
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
(cos.f64 th) |
th |
(sqrt.f64 #s(literal 2 binary64)) |
(*.f64 a2 a2) |
a2 |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) |
(fma.f64 a1 a1 (*.f64 a2 a2)) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(literal -1/2 binary64) |
(*.f64 th th) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) |
#s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))) |
(/.f64 (*.f64 a2 a2) #s(literal 2 binary64)) |
| Outputs |
|---|
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (/ (* (pow a2 2) (cos th)) (sqrt 2)))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (* (pow a1 2) (cos th))) (/ (* (pow a2 2) (cos th)) (sqrt 2))))) |
#s(approx (/ (* (cos th) (* a1 a1)) 2) #s(hole binary64 (* 1/2 (* (pow a1 2) (cos th))))) |
#s(approx (/ (* a1 a1) 2) #s(hole binary64 (* 1/2 (pow a1 2)))) |
#s(approx (* a1 a1) #s(hole binary64 (pow a1 2))) |
#s(approx a1 #s(hole binary64 a1)) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (pow a2 2) (cos th))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (* (pow a1 2) (cos th))) (* 1/2 (* (pow a2 2) (cos th)))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* 1/2 (pow a2 2)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* 1/2 (pow a2 2))))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (pow a2 2))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (+ (pow a1 2) (pow a2 2)))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a2 2) (pow th 2))) (* 1/2 (pow a2 2))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a2 2) (pow th 2))) (+ (* 1/2 (pow a2 2)) (* (pow a1 2) (+ 1/2 (* -1/4 (pow th 2)))))))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* -1/4 (pow a2 2)))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (pow a1 2)) (* -1/4 (pow a2 2))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (+ (* 1/2 (* (pow a2 2) (cos th))) (/ (* (pow a1 2) (cos th)) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (/ (* (pow a1 2) (cos th)) (sqrt 2)))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (* (pow a1 2) (+ (* 1/2 (cos th)) (/ (* (pow a2 2) (cos th)) (* (pow a1 2) (sqrt 2))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a1 2) (+ (* 1/2 (cos th)) (* 1/2 (/ (* (pow a2 2) (cos th)) (pow a1 2))))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* (pow a1 2) (+ 1/2 (* 1/2 (/ (pow a2 2) (pow a1 2))))))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (* (pow a1 2) (+ 1 (/ (pow a2 2) (pow a1 2)))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (+ 1/2 (* -1/4 (pow th 2)))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (+ 1/2 (+ (* -1/4 (/ (* (pow a2 2) (pow th 2)) (pow a1 2))) (+ (* -1/4 (pow th 2)) (* 1/2 (/ (pow a2 2) (pow a1 2))))))))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* -1/4 (pow a1 2)))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (- (* -1/4 (/ (pow a2 2) (pow a1 2))) 1/4)))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (+ (* 1/2 (/ (* (pow a2 2) (cos th)) (pow a1 2))) (/ (cos th) (sqrt 2)))))) |
#s(approx a2 #s(hole binary64 a2)) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) (pow th 2))) (* 1/2 (pow a1 2))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) (pow th 2))) (+ (* 1/2 (pow a1 2)) (* (pow a2 2) (+ 1/2 (* -1/4 (pow th 2)))))))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (* (pow a2 2) (cos th)))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (* (pow a2 2) (+ (* 1/2 (/ (* (pow a1 2) (cos th)) (pow a2 2))) (/ (cos th) (sqrt 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a2 2) (+ (* 1/2 (cos th)) (* 1/2 (/ (* (pow a1 2) (cos th)) (pow a2 2))))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* (pow a2 2) (+ 1/2 (* 1/2 (/ (pow a1 2) (pow a2 2))))))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (* (pow a2 2) (+ 1 (/ (pow a1 2) (pow a2 2)))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (+ 1/2 (* -1/4 (pow th 2)))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (+ 1/2 (+ (* -1/4 (/ (* (pow a1 2) (pow th 2)) (pow a2 2))) (+ (* -1/4 (pow th 2)) (* 1/2 (/ (pow a1 2) (pow a2 2))))))))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (- (* -1/4 (/ (pow a1 2) (pow a2 2))) 1/4)))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (+ (* 1/2 (cos th)) (/ (* (pow a1 2) (cos th)) (* (pow a2 2) (sqrt 2))))))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* -1/4 (pow a1 2)))) (/ (pow a2 2) (sqrt 2)))))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (+ (* -1/4 (pow a1 2)) (* (pow th 2) (+ (* 1/48 (pow a1 2)) (* 1/24 (/ (pow a2 2) (sqrt 2)))))))) (/ (pow a2 2) (sqrt 2)))))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (+ (* -1/4 (pow a1 2)) (* (pow th 2) (+ (* 1/48 (pow a1 2)) (+ (* 1/24 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (pow a2 2) (sqrt 2))) (* -1/1440 (pow a1 2)))))))))) (/ (pow a2 2) (sqrt 2)))))) |
#s(approx (/ (* (cos th) (* a1 a1)) 2) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* (pow th 2) (+ (* -1/4 (pow a1 2)) (* 1/48 (* (pow a1 2) (pow th 2)))))))) |
#s(approx (/ (* (cos th) (* a1 a1)) 2) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* (pow th 2) (+ (* -1/4 (pow a1 2)) (* (pow th 2) (+ (* -1/1440 (* (pow a1 2) (pow th 2))) (* 1/48 (pow a1 2))))))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (/ (pow a2 2) (sqrt 2)))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (+ (* -1/2 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* 1/24 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (* 1/24 (/ (pow a2 2) (sqrt 2))))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (/ 1 (sqrt 2)))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (+ (* -1/2 (/ (pow th 2) (sqrt 2))) (/ 1 (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (- (* 1/24 (/ (pow th 2) (sqrt 2))) (* 1/2 (/ 1 (sqrt 2))))) (/ 1 (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (- (* (pow th 2) (+ (* -1/720 (/ (pow th 2) (sqrt 2))) (* 1/24 (/ 1 (sqrt 2))))) (* 1/2 (/ 1 (sqrt 2))))) (/ 1 (sqrt 2))))) |
#s(approx (cos th) #s(hole binary64 1)) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* -1/2 (pow th 2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* 1/24 (pow th 2)) 1/2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/24 (* -1/720 (pow th 2)))) 1/2))))) |
#s(approx th #s(hole binary64 th)) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (+ (pow a1 2) (pow a2 2))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* -1/4 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))) (* 1/2 (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* 1/48 (* (pow th 2) (+ (pow a1 2) (pow a2 2))))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/1440 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))) (* 1/48 (+ (pow a1 2) (pow a2 2)))))))))) |
#s(approx (* th th) #s(hole binary64 (pow th 2))) |
#s(approx (/ (* (* a2 a2) (cos th)) 2) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/4 (pow a2 2)) (* 1/48 (* (pow a2 2) (pow th 2)))))))) |
#s(approx (/ (* (* a2 a2) (cos th)) 2) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/4 (pow a2 2)) (* (pow th 2) (+ (* -1/1440 (* (pow a2 2) (pow th 2))) (* 1/48 (pow a2 2))))))))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (+ (* -1/2 (* (pow a2 2) (pow th 2))) (pow a2 2)))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (pow a2 2)) (* 1/24 (* (pow a2 2) (pow th 2))))) (pow a2 2)))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/720 (* (pow a2 2) (pow th 2))) (* 1/24 (pow a2 2)))))) (pow a2 2)))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (* -1/4 (pow a2 2)))) (/ (pow a1 2) (sqrt 2)))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (+ (* -1/4 (pow a2 2)) (* (pow th 2) (+ (* 1/48 (pow a2 2)) (* 1/24 (/ (pow a1 2) (sqrt 2)))))))) (/ (pow a1 2) (sqrt 2)))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (+ (* -1/4 (pow a2 2)) (* (pow th 2) (+ (* 1/48 (pow a2 2)) (+ (* 1/24 (/ (pow a1 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (pow a1 2) (sqrt 2))) (* -1/1440 (pow a2 2)))))))))) (/ (pow a1 2) (sqrt 2)))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (/ (pow a1 2) (sqrt 2)))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (+ (* -1/2 (/ (* (pow a1 2) (pow th 2)) (sqrt 2))) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (* 1/24 (/ (* (pow a1 2) (pow th 2)) (sqrt 2))))) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (* (pow a1 2) (pow th 2)) (sqrt 2))) (* 1/24 (/ (pow a1 2) (sqrt 2))))))) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (/ (cos th) (sqrt 2)))) |
#s(approx (cos th) #s(hole binary64 (cos th))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (cos th) (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* -1/4 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* 1/2 (/ (+ (pow a1 2) (pow a2 2)) (pow th 2))))))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 6.0ms | a2 | @ | inf | ((+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/ (* (cos th) (* a1 a1)) 2) (/ (* a1 a1) 2) (* a1 a1) a1 2 (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/ (cos th) (sqrt 2)) (cos th) th (sqrt 2) (* a2 a2) a2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (+ (* a1 a1) (* a2 a2)) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) -1/2 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* (* a2 a2) (cos th)) 2) (* (* a2 a2) (cos th)) (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2) (/ (* a2 a2) 2)) |
| 4.0ms | a1 | @ | inf | ((+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/ (* (cos th) (* a1 a1)) 2) (/ (* a1 a1) 2) (* a1 a1) a1 2 (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/ (cos th) (sqrt 2)) (cos th) th (sqrt 2) (* a2 a2) a2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (+ (* a1 a1) (* a2 a2)) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) -1/2 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* (* a2 a2) (cos th)) 2) (* (* a2 a2) (cos th)) (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2) (/ (* a2 a2) 2)) |
| 4.0ms | th | @ | inf | ((+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/ (* (cos th) (* a1 a1)) 2) (/ (* a1 a1) 2) (* a1 a1) a1 2 (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/ (cos th) (sqrt 2)) (cos th) th (sqrt 2) (* a2 a2) a2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (+ (* a1 a1) (* a2 a2)) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) -1/2 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* (* a2 a2) (cos th)) 2) (* (* a2 a2) (cos th)) (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2) (/ (* a2 a2) 2)) |
| 3.0ms | a1 | @ | 0 | ((+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/ (* (cos th) (* a1 a1)) 2) (/ (* a1 a1) 2) (* a1 a1) a1 2 (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/ (cos th) (sqrt 2)) (cos th) th (sqrt 2) (* a2 a2) a2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (+ (* a1 a1) (* a2 a2)) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) -1/2 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* (* a2 a2) (cos th)) 2) (* (* a2 a2) (cos th)) (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2) (/ (* a2 a2) 2)) |
| 3.0ms | th | @ | 0 | ((+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/ (* (cos th) (* a1 a1)) 2) (/ (* a1 a1) 2) (* a1 a1) a1 2 (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/ (cos th) (sqrt 2)) (cos th) th (sqrt 2) (* a2 a2) a2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (+ (* a1 a1) (* a2 a2)) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) -1/2 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* (* a2 a2) (cos th)) 2) (* (* a2 a2) (cos th)) (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2) (/ (* a2 a2) 2)) |
| Inputs |
|---|
(+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) |
(/.f64 (*.f64 a1 a1) #s(literal 2 binary64)) |
(*.f64 a1 a1) |
a1 |
#s(literal 2 binary64) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)) |
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
(cos.f64 th) |
th |
(sqrt.f64 #s(literal 2 binary64)) |
(*.f64 a2 a2) |
a2 |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) |
(fma.f64 a1 a1 (*.f64 a2 a2)) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(literal -1/2 binary64) |
(*.f64 th th) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) |
#s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))) |
(/.f64 (*.f64 a2 a2) #s(literal 2 binary64)) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (/ (* (pow a2 2) (cos th)) (sqrt 2)))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (* (pow a1 2) (cos th))) (/ (* (pow a2 2) (cos th)) (sqrt 2))))) |
#s(approx (/ (* (cos th) (* a1 a1)) 2) #s(hole binary64 (* 1/2 (* (pow a1 2) (cos th))))) |
#s(approx (/ (* a1 a1) 2) #s(hole binary64 (* 1/2 (pow a1 2)))) |
#s(approx (* a1 a1) #s(hole binary64 (pow a1 2))) |
#s(approx a1 #s(hole binary64 a1)) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (pow a2 2) (cos th))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (* (pow a1 2) (cos th))) (* 1/2 (* (pow a2 2) (cos th)))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* 1/2 (pow a2 2)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* 1/2 (pow a2 2))))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (pow a2 2))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (+ (pow a1 2) (pow a2 2)))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a2 2) (pow th 2))) (* 1/2 (pow a2 2))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a2 2) (pow th 2))) (+ (* 1/2 (pow a2 2)) (* (pow a1 2) (+ 1/2 (* -1/4 (pow th 2)))))))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* -1/4 (pow a2 2)))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (pow a1 2)) (* -1/4 (pow a2 2))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (+ (* 1/2 (* (pow a2 2) (cos th))) (/ (* (pow a1 2) (cos th)) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (/ (* (pow a1 2) (cos th)) (sqrt 2)))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (* (pow a1 2) (+ (* 1/2 (cos th)) (/ (* (pow a2 2) (cos th)) (* (pow a1 2) (sqrt 2))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a1 2) (+ (* 1/2 (cos th)) (* 1/2 (/ (* (pow a2 2) (cos th)) (pow a1 2))))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* (pow a1 2) (+ 1/2 (* 1/2 (/ (pow a2 2) (pow a1 2))))))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (* (pow a1 2) (+ 1 (/ (pow a2 2) (pow a1 2)))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (+ 1/2 (* -1/4 (pow th 2)))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (+ 1/2 (+ (* -1/4 (/ (* (pow a2 2) (pow th 2)) (pow a1 2))) (+ (* -1/4 (pow th 2)) (* 1/2 (/ (pow a2 2) (pow a1 2))))))))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* -1/4 (pow a1 2)))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (- (* -1/4 (/ (pow a2 2) (pow a1 2))) 1/4)))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (+ (* 1/2 (/ (* (pow a2 2) (cos th)) (pow a1 2))) (/ (cos th) (sqrt 2)))))) |
#s(approx a2 #s(hole binary64 a2)) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) (pow th 2))) (* 1/2 (pow a1 2))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) (pow th 2))) (+ (* 1/2 (pow a1 2)) (* (pow a2 2) (+ 1/2 (* -1/4 (pow th 2)))))))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (* (pow a2 2) (cos th)))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (* (pow a2 2) (+ (* 1/2 (/ (* (pow a1 2) (cos th)) (pow a2 2))) (/ (cos th) (sqrt 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a2 2) (+ (* 1/2 (cos th)) (* 1/2 (/ (* (pow a1 2) (cos th)) (pow a2 2))))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* (pow a2 2) (+ 1/2 (* 1/2 (/ (pow a1 2) (pow a2 2))))))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (* (pow a2 2) (+ 1 (/ (pow a1 2) (pow a2 2)))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (+ 1/2 (* -1/4 (pow th 2)))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (+ 1/2 (+ (* -1/4 (/ (* (pow a1 2) (pow th 2)) (pow a2 2))) (+ (* -1/4 (pow th 2)) (* 1/2 (/ (pow a1 2) (pow a2 2))))))))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (- (* -1/4 (/ (pow a1 2) (pow a2 2))) 1/4)))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (+ (* 1/2 (cos th)) (/ (* (pow a1 2) (cos th)) (* (pow a2 2) (sqrt 2))))))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* -1/4 (pow a1 2)))) (/ (pow a2 2) (sqrt 2)))))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (+ (* -1/4 (pow a1 2)) (* (pow th 2) (+ (* 1/48 (pow a1 2)) (* 1/24 (/ (pow a2 2) (sqrt 2)))))))) (/ (pow a2 2) (sqrt 2)))))) |
#s(approx (+ (/ (* (cos th) (* a1 a1)) 2) (* (/ (cos th) (sqrt 2)) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (+ (* -1/4 (pow a1 2)) (* (pow th 2) (+ (* 1/48 (pow a1 2)) (+ (* 1/24 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (pow a2 2) (sqrt 2))) (* -1/1440 (pow a1 2)))))))))) (/ (pow a2 2) (sqrt 2)))))) |
#s(approx (/ (* (cos th) (* a1 a1)) 2) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* (pow th 2) (+ (* -1/4 (pow a1 2)) (* 1/48 (* (pow a1 2) (pow th 2)))))))) |
#s(approx (/ (* (cos th) (* a1 a1)) 2) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* (pow th 2) (+ (* -1/4 (pow a1 2)) (* (pow th 2) (+ (* -1/1440 (* (pow a1 2) (pow th 2))) (* 1/48 (pow a1 2))))))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (/ (pow a2 2) (sqrt 2)))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (+ (* -1/2 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* 1/24 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (* 1/24 (/ (pow a2 2) (sqrt 2))))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (/ 1 (sqrt 2)))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (+ (* -1/2 (/ (pow th 2) (sqrt 2))) (/ 1 (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (- (* 1/24 (/ (pow th 2) (sqrt 2))) (* 1/2 (/ 1 (sqrt 2))))) (/ 1 (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (- (* (pow th 2) (+ (* -1/720 (/ (pow th 2) (sqrt 2))) (* 1/24 (/ 1 (sqrt 2))))) (* 1/2 (/ 1 (sqrt 2))))) (/ 1 (sqrt 2))))) |
#s(approx (cos th) #s(hole binary64 1)) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* -1/2 (pow th 2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* 1/24 (pow th 2)) 1/2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/24 (* -1/720 (pow th 2)))) 1/2))))) |
#s(approx th #s(hole binary64 th)) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (+ (pow a1 2) (pow a2 2))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* -1/4 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))) (* 1/2 (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* 1/48 (* (pow th 2) (+ (pow a1 2) (pow a2 2))))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/1440 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))) (* 1/48 (+ (pow a1 2) (pow a2 2)))))))))) |
#s(approx (* th th) #s(hole binary64 (pow th 2))) |
#s(approx (/ (* (* a2 a2) (cos th)) 2) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/4 (pow a2 2)) (* 1/48 (* (pow a2 2) (pow th 2)))))))) |
#s(approx (/ (* (* a2 a2) (cos th)) 2) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/4 (pow a2 2)) (* (pow th 2) (+ (* -1/1440 (* (pow a2 2) (pow th 2))) (* 1/48 (pow a2 2))))))))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (+ (* -1/2 (* (pow a2 2) (pow th 2))) (pow a2 2)))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (pow a2 2)) (* 1/24 (* (pow a2 2) (pow th 2))))) (pow a2 2)))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/720 (* (pow a2 2) (pow th 2))) (* 1/24 (pow a2 2)))))) (pow a2 2)))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (* -1/4 (pow a2 2)))) (/ (pow a1 2) (sqrt 2)))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (+ (* -1/4 (pow a2 2)) (* (pow th 2) (+ (* 1/48 (pow a2 2)) (* 1/24 (/ (pow a1 2) (sqrt 2)))))))) (/ (pow a1 2) (sqrt 2)))))) |
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (+ (* -1/4 (pow a2 2)) (* (pow th 2) (+ (* 1/48 (pow a2 2)) (+ (* 1/24 (/ (pow a1 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (pow a1 2) (sqrt 2))) (* -1/1440 (pow a2 2)))))))))) (/ (pow a1 2) (sqrt 2)))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (/ (pow a1 2) (sqrt 2)))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (+ (* -1/2 (/ (* (pow a1 2) (pow th 2)) (sqrt 2))) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (* 1/24 (/ (* (pow a1 2) (pow th 2)) (sqrt 2))))) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a1 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (* (pow a1 2) (pow th 2)) (sqrt 2))) (* 1/24 (/ (pow a1 2) (sqrt 2))))))) (/ (pow a1 2) (sqrt 2))))) |
#s(approx (/ (cos th) (sqrt 2)) #s(hole binary64 (/ (cos th) (sqrt 2)))) |
#s(approx (cos th) #s(hole binary64 (cos th))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (cos th) (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* -1/4 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* 1/2 (/ (+ (pow a1 2) (pow a2 2)) (pow th 2))))))) |
| Outputs |
|---|
(+.f64 #s(approx (* (cos th) (/ (* a1 a1) 2)) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (cos.f64 th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (* (cos th) (/ (* a1 a1) 2)) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) |
(*.f64 a1 (/.f64 a1 #s(literal 2 binary64))) |
(/.f64 (*.f64 a1 a1) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (*.f64 a1 a1)) (neg.f64 #s(literal 2 binary64))) |
(*.f64 a1 a1) |
(*.f64 (fabs.f64 a1) (fabs.f64 a1)) |
(*.f64 (neg.f64 a1) (neg.f64 a1)) |
(*.f64 (pow.f64 a1 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 a1 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64)))) |
(exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64))) |
(pow.f64 a1 #s(literal 2 binary64)) |
a1 |
#s(literal 2 binary64) |
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (*.f64 a2 a2)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) #s(literal 2 binary64))) |
(*.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a2) a2) |
(*.f64 (cos.f64 th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th))) (neg.f64 #s(literal 2 binary64))) |
(/.f64 (cos.f64 th) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (cos.f64 th)) (neg.f64 #s(literal 2 binary64))) |
(cos.f64 th) |
(cos.f64 (neg.f64 th)) |
(sin.f64 (+.f64 th (/.f64 (PI.f64) #s(literal 2 binary64)))) |
th |
#s(literal 2 binary64) |
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
(*.f64 a2 a2) |
(*.f64 (fabs.f64 a2) (fabs.f64 a2)) |
(*.f64 (neg.f64 a2) (neg.f64 a2)) |
(*.f64 (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64)))) |
(exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64))) |
(pow.f64 a2 #s(literal 2 binary64)) |
a2 |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(+.f64 (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))) |
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (fma.f64 a1 a1 (*.f64 a2 a2))) (neg.f64 #s(literal 2 binary64))) |
(fma.f64 a1 (/.f64 a1 #s(literal 2 binary64)) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))) |
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(-.f64 (*.f64 a1 a1) (*.f64 (neg.f64 a2) a2)) |
(/.f64 (-.f64 (*.f64 (*.f64 a1 a1) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (*.f64 a2 a2))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 a1 a1) #s(literal 3 binary64)) (pow.f64 (*.f64 a2 a2) #s(literal 3 binary64))) (fma.f64 (*.f64 a1 a1) (*.f64 a1 a1) (-.f64 (*.f64 (*.f64 a2 a2) (*.f64 a2 a2)) (*.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) |
(fma.f64 a1 a1 (*.f64 a2 a2)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(fma.f64 (fabs.f64 a1) (fabs.f64 a1) (*.f64 a2 a2)) |
(fma.f64 (fabs.f64 a2) (fabs.f64 a2) (*.f64 a1 a1)) |
(fma.f64 (neg.f64 a1) (neg.f64 a1) (*.f64 a2 a2)) |
(fma.f64 (neg.f64 a2) (neg.f64 a2) (*.f64 a1 a1)) |
(fma.f64 (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (*.f64 a1 a1)) |
(fma.f64 (pow.f64 a1 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 a1 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (*.f64 a2 a2)) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(+.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th))) |
(/.f64 (-.f64 (*.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th))) (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) (-.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) #s(literal 3 binary64)) (pow.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) (-.f64 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))))) |
(fma.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(fma.f64 (*.f64 th th) (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) (*.f64 th th)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) #s(literal -1/2 binary64)) |
(/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) |
#s(literal -1/2 binary64) |
(neg.f64 #s(literal 1/2 binary64)) |
(*.f64 th th) |
(*.f64 (fabs.f64 th) (fabs.f64 th)) |
(*.f64 (neg.f64 th) (neg.f64 th)) |
(*.f64 (pow.f64 th (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 th (/.f64 #s(literal 2 binary64) #s(literal 2 binary64)))) |
(exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) |
(pow.f64 th #s(literal 2 binary64)) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (cos.f64 th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (*.f64 a2 a2)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) #s(literal 2 binary64))) |
(*.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a2) a2) |
(*.f64 (cos.f64 th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th))) (neg.f64 #s(literal 2 binary64))) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 (cos.f64 th) (*.f64 a2 a2)) |
(*.f64 (*.f64 (cos.f64 th) a2) a2) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(+.f64 (*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) #s(approx (* (cos th) (/ (* a2 a2) 2)) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) #s(literal 2 binary64))) |
(*.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a1) a1) |
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) |
(/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) (neg.f64 #s(literal 2 binary64))) |
#s(approx (* (cos th) (/ (* a2 a2) 2)) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))) |
(*.f64 a2 (/.f64 a2 #s(literal 2 binary64))) |
(/.f64 (*.f64 a2 a2) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (*.f64 a2 a2)) (neg.f64 #s(literal 2 binary64))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (cos.f64 th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th) (*.f64 (cos.f64 th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))))) |
#s(approx (* (cos th) (/ (* a1 a1) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th))) |
#s(approx (/ (* a1 a1) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1))) |
#s(approx (* a1 a1) (*.f64 a1 a1)) |
#s(approx a1 a1) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) |
#s(approx (+ (* a1 a1) (* a2 a2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal -1/4 binary64) (fma.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2))))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (*.f64 a1 a1) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th)))) |
#s(approx (* (cos th) (/ (* a1 a1) 2)) (*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (fma.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (*.f64 #s(literal 2 binary64) (*.f64 a1 a1))) (*.f64 #s(literal 1/2 binary64) (cos.f64 th))) (*.f64 a1 a1))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 th) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (*.f64 a1 a1)))) (*.f64 a1 a1))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 a2 a2) (*.f64 a1 a1)) #s(literal 1/2 binary64)) (*.f64 a1 a1))) |
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 a1 a1))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (+.f64 #s(literal 1/2 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal -1/4 binary64) (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (*.f64 a1 a1))))) (*.f64 a1 a1))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (*.f64 a1 a1)) (/.f64 (cos.f64 th) #s(literal 2 binary64))) (*.f64 a1 a1))) |
#s(approx a2 a2) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1)) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) #s(literal -1/4 binary64) (fma.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1))))) |
#s(approx (* (* a2 a2) (cos th)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 a2 a2)) (/.f64 (cos.f64 th) #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 th) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 a2 a2)))) (*.f64 a2 a2))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 a1 a1) (*.f64 a2 a2)) #s(literal 1/2 binary64)) (*.f64 a2 a2))) |
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (*.f64 a2 a2))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (+.f64 #s(literal 1/2 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) (*.f64 a2 a2)) #s(literal -1/4 binary64) (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (*.f64 a2 a2))))) (*.f64 a2 a2))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1)) (*.f64 a2 a2)) #s(literal 1/4 binary64)) (*.f64 a2 a2))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (fma.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (*.f64 #s(literal 2 binary64) (*.f64 a2 a2))) (*.f64 #s(literal 1/2 binary64) (cos.f64 th))) (*.f64 a2 a2))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 #s(literal 1/2 binary64) (*.f64 a1 a1) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 #s(literal 1/2 binary64) (*.f64 a1 a1) (fma.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 a1 a1) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 #s(literal 1/2 binary64) (*.f64 a1 a1) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 a1 a1) (/.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1)))) (*.f64 th th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 #s(literal 1/2 binary64) (*.f64 a1 a1) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 a1 a1) (fma.f64 (fma.f64 #s(literal -1/720 binary64) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)) (*.f64 #s(literal -1/1440 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a2 a2)) #s(literal 2 binary64)))) (*.f64 th th) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1)))) (*.f64 th th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))))) |
#s(approx (* (cos th) (/ (* a1 a1) 2)) (fma.f64 (fma.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) #s(literal 1/48 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (cos th) (/ (* a1 a1) 2)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 a1 a1)) (*.f64 th th) (*.f64 #s(literal 1/48 binary64) (*.f64 a1 a1))) (*.f64 th th) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (cos th) (/ (* a2 a2) 2)) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))) |
#s(approx (* (cos th) (/ (* a2 a2) 2)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal 2 binary64)) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (* (cos th) (/ (* a2 a2) 2)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (* (cos th) (/ (* a2 a2) 2)) (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal 2 binary64)) #s(literal -1/720 binary64) (/.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (/ (cos th) 2) (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))) |
#s(approx (/ (cos th) 2) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 th th) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))) |
#s(approx (/ (cos th) 2) (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 th th)) #s(literal 2 binary64)) (/.f64 #s(literal 1/2 binary64) #s(literal 2 binary64))) (*.f64 th th) (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))) |
#s(approx (/ (cos th) 2) (fma.f64 (-.f64 (*.f64 (fma.f64 (/.f64 (*.f64 th th) #s(literal 2 binary64)) #s(literal -1/720 binary64) (/.f64 #s(literal 1/24 binary64) #s(literal 2 binary64))) (*.f64 th th)) (/.f64 #s(literal 1/2 binary64) #s(literal 2 binary64))) (*.f64 th th) (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))) |
#s(approx (cos th) #s(literal 1 binary64)) |
#s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) |
#s(approx (cos th) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))) |
#s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))) |
#s(approx th th) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 (*.f64 (*.f64 th th) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal -1/4 binary64) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 (fma.f64 (*.f64 (*.f64 th th) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 1/48 binary64) (*.f64 #s(literal -1/4 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 th th)) (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 #s(literal 1/48 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 th th) (*.f64 #s(literal -1/4 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))))) |
#s(approx (* th th) (*.f64 th th)) |
#s(approx (* (cos th) (/ (* a2 a2) 2)) (fma.f64 (fma.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal 1/48 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* (cos th) (/ (* a2 a2) 2)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 a2 a2)) (*.f64 th th) (*.f64 #s(literal 1/48 binary64) (*.f64 a2 a2))) (*.f64 th th) (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* (* a2 a2) (cos th)) (fma.f64 a2 a2 (*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 th th) (*.f64 a2 a2))))) |
#s(approx (* (* a2 a2) (cos th)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 (*.f64 th th) (*.f64 a2 a2)) (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2))) (*.f64 th th) (*.f64 a2 a2))) |
#s(approx (* (* a2 a2) (cos th)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) (*.f64 a2 a2)) (*.f64 th th) (*.f64 #s(literal 1/24 binary64) (*.f64 a2 a2))) (*.f64 th th) (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2))) (*.f64 th th) (*.f64 a2 a2))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 #s(literal 1/2 binary64) (*.f64 a2 a2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 #s(literal 1/2 binary64) (*.f64 a2 a2) (fma.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 a2 a2) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 #s(literal 1/2 binary64) (*.f64 a2 a2) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 a2 a2) (/.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a1 a1)) #s(literal 2 binary64))) (*.f64 th th) (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)))) (*.f64 th th) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (fma.f64 #s(literal 1/2 binary64) (*.f64 a2 a2) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/48 binary64) (*.f64 a2 a2) (fma.f64 (fma.f64 #s(literal -1/720 binary64) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)) (*.f64 #s(literal -1/1440 binary64) (*.f64 a2 a2))) (*.f64 th th) (/.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a1 a1)) #s(literal 2 binary64)))) (*.f64 th th) (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)))) (*.f64 th th) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))))) |
#s(approx (* (cos th) (/ (* a1 a1) 2)) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) |
#s(approx (* (cos th) (/ (* a1 a1) 2)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) #s(literal 2 binary64)) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)))) |
#s(approx (* (cos th) (/ (* a1 a1) 2)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)))) |
#s(approx (* (cos th) (/ (* a1 a1) 2)) (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) #s(literal 2 binary64)) #s(literal -1/720 binary64) (/.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a1 a1)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)))) |
#s(approx (/ (cos th) 2) (/.f64 (cos.f64 th) #s(literal 2 binary64))) |
#s(approx (cos th) (cos.f64 th)) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (*.f64 th th) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal -1/4 binary64))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) (*.f64 th th))) (*.f64 th th))) |
Compiled 2 659 to 917 computations (65.5% saved)
22 alts after pruning (20 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 224 | 19 | 243 |
| Fresh | 3 | 1 | 4 |
| Picked | 4 | 1 | 5 |
| Done | 0 | 1 | 1 |
| Total | 231 | 22 | 253 |
| Status | Accuracy | Program |
|---|---|---|
| 46.4% | (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) | |
| 59.3% | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) | |
| ✓ | 99.5% | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| ✓ | 46.4% | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
| 46.4% | (+.f64 (*.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a1) a1) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) | |
| 66.7% | (+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) | |
| 97.9% | (+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) #s(approx (/ (* a1 a1) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) | |
| ▶ | 59.3% | #s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th))) |
| 46.4% | #s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) | |
| 59.3% | #s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))) | |
| ▶ | 13.2% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
| 2.2% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) | |
| 34.1% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) | |
| 66.8% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 #s(literal 2 binary64)))) | |
| 46.4% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))) #s(literal 2 binary64))) | |
| 6.7% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a1 a1) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (*.f64 a2 a2))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) #s(literal 2 binary64))) | |
| 59.3% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) #s(literal 2 binary64))) | |
| ▶ | 99.5% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) |
| 41.2% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64)))) #s(literal 2 binary64))) | |
| ▶ | 46.4% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
| ▶ | 42.9% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))) |
| 16.2% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))) |
Compiled 874 to 794 computations (9.2% saved)
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 a2) |
a2 |
(cos.f64 th) |
th |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) |
#s(literal 1/2 binary64) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2))) |
(*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) |
(fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) |
#s(literal -1/4 binary64) |
(*.f64 th th) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) |
(/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) |
(*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) |
#s(literal -1/2 binary64) |
(fma.f64 a1 a1 (*.f64 a2 a2)) |
a1 |
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th)) |
| Outputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (pow a2 2) (cos th))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (* (pow a1 2) (cos th))) (* 1/2 (* (pow a2 2) (cos th)))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* 1/2 (pow a2 2)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* 1/2 (pow a2 2))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a2 2) (pow th 2))) (* 1/2 (pow a2 2))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a2 2) (pow th 2))) (+ (* 1/2 (pow a2 2)) (* (pow a1 2) (+ 1/2 (* -1/4 (pow th 2)))))))) |
#s(approx (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) #s(hole binary64 (* -1/4 (* (pow a2 2) th)))) |
#s(approx (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) th)) (* -1/4 (* (pow a2 2) th))))) |
#s(approx (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) #s(hole binary64 (* -1/4 (pow a2 2)))) |
#s(approx (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) #s(hole binary64 (+ (* -1/4 (pow a1 2)) (* -1/4 (pow a2 2))))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* -1/2 (pow a2 2)))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* -1/2 (pow a1 2)) (* -1/2 (pow a2 2))))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (pow a2 2))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (+ (pow a1 2) (pow a2 2)))) |
#s(approx a1 #s(hole binary64 a1)) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (pow a1 2) (cos th))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a1 2) (+ (* 1/2 (cos th)) (* 1/2 (/ (* (pow a2 2) (cos th)) (pow a1 2))))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* 1/2 (pow a1 2)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* (pow a1 2) (+ 1/2 (* 1/2 (/ (pow a2 2) (pow a1 2))))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (+ 1/2 (* -1/4 (pow th 2)))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (+ 1/2 (+ (* -1/4 (/ (* (pow a2 2) (pow th 2)) (pow a1 2))) (+ (* -1/4 (pow th 2)) (* 1/2 (/ (pow a2 2) (pow a1 2))))))))) |
#s(approx (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) #s(hole binary64 (* -1/4 (* (pow a1 2) th)))) |
#s(approx (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) #s(hole binary64 (* (pow a1 2) (+ (* -1/4 th) (* -1/4 (/ (* (pow a2 2) th) (pow a1 2))))))) |
#s(approx (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) #s(hole binary64 (* -1/4 (pow a1 2)))) |
#s(approx (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) #s(hole binary64 (* (pow a1 2) (- (* -1/4 (/ (pow a2 2) (pow a1 2))) 1/4)))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* -1/2 (pow a1 2)))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a1 2) (- (* -1/2 (/ (pow a2 2) (pow a1 2))) 1/2)))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (pow a1 2))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (* (pow a1 2) (+ 1 (/ (pow a2 2) (pow a1 2)))))) |
#s(approx (/ (* (* a2 a2) (cos th)) (sqrt 2)) #s(hole binary64 (/ (* (pow a2 2) (cos th)) (sqrt 2)))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (* (pow a2 2) (cos th)))) |
#s(approx a2 #s(hole binary64 a2)) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) (pow th 2))) (* 1/2 (pow a1 2))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) (pow th 2))) (+ (* 1/2 (pow a1 2)) (* (pow a2 2) (+ 1/2 (* -1/4 (pow th 2)))))))) |
#s(approx (* (+ (* -1/4 (* th th)) 1/2) (* a2 a2)) #s(hole binary64 (* (pow a2 2) (+ 1/2 (* -1/4 (pow th 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a2 2) (+ (* 1/2 (cos th)) (* 1/2 (/ (* (pow a1 2) (cos th)) (pow a2 2))))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* (pow a2 2) (+ 1/2 (* 1/2 (/ (pow a1 2) (pow a2 2))))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (+ 1/2 (+ (* -1/4 (/ (* (pow a1 2) (pow th 2)) (pow a2 2))) (+ (* -1/4 (pow th 2)) (* 1/2 (/ (pow a1 2) (pow a2 2))))))))) |
#s(approx (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) #s(hole binary64 (* (pow a2 2) (+ (* -1/4 th) (* -1/4 (/ (* (pow a1 2) th) (pow a2 2))))))) |
#s(approx (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) #s(hole binary64 (* (pow a2 2) (- (* -1/4 (/ (pow a1 2) (pow a2 2))) 1/4)))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a2 2) (- (* -1/2 (/ (pow a1 2) (pow a2 2))) 1/2)))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (* (pow a2 2) (+ 1 (/ (pow a1 2) (pow a2 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (+ (pow a1 2) (pow a2 2))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* -1/4 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))) (* 1/2 (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* 1/48 (* (pow th 2) (+ (pow a1 2) (pow a2 2))))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/1440 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))) (* 1/48 (+ (pow a1 2) (pow a2 2)))))))))) |
#s(approx (/ (* (* a2 a2) (cos th)) (sqrt 2)) #s(hole binary64 (/ (pow a2 2) (sqrt 2)))) |
#s(approx (/ (* (* a2 a2) (cos th)) (sqrt 2)) #s(hole binary64 (+ (* -1/2 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (/ (* (* a2 a2) (cos th)) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* 1/24 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (/ (* (* a2 a2) (cos th)) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (* 1/24 (/ (pow a2 2) (sqrt 2))))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (+ (* -1/2 (* (pow a2 2) (pow th 2))) (pow a2 2)))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (pow a2 2)) (* 1/24 (* (pow a2 2) (pow th 2))))) (pow a2 2)))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/720 (* (pow a2 2) (pow th 2))) (* 1/24 (pow a2 2)))))) (pow a2 2)))) |
#s(approx (cos th) #s(hole binary64 1)) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* -1/2 (pow th 2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* 1/24 (pow th 2)) 1/2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/24 (* -1/720 (pow th 2)))) 1/2))))) |
#s(approx th #s(hole binary64 th)) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 1/2)) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 (+ 1/2 (* -1/4 (pow th 2))))) |
#s(approx (* th th) #s(hole binary64 (pow th 2))) |
#s(approx (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) #s(hole binary64 (* -1/4 (* th (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (* (* 1/2 (* a2 a2)) (cos th)) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/4 (pow a2 2)) (* 1/48 (* (pow a2 2) (pow th 2)))))))) |
#s(approx (* (* 1/2 (* a2 a2)) (cos th)) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/4 (pow a2 2)) (* (pow th 2) (+ (* -1/1440 (* (pow a2 2) (pow th 2))) (* 1/48 (pow a2 2))))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (cos th) (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (cos th) #s(hole binary64 (cos th))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* -1/4 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* 1/2 (/ (+ (pow a1 2) (pow a2 2)) (pow th 2))))))) |
#s(approx (* (+ (* -1/4 (* th th)) 1/2) (* a2 a2)) #s(hole binary64 (* -1/4 (* (pow a2 2) (pow th 2))))) |
#s(approx (* (+ (* -1/4 (* th th)) 1/2) (* a2 a2)) #s(hole binary64 (* (pow th 2) (+ (* -1/4 (pow a2 2)) (* 1/2 (/ (pow a2 2) (pow th 2))))))) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 (* -1/4 (pow th 2)))) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 (* (pow th 2) (- (* 1/2 (/ 1 (pow th 2))) 1/4)))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | a2 | @ | inf | ((* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* (* a2 a2) (cos th)) (sqrt 2)) (* (* a2 a2) (cos th)) (* a2 a2) a2 (cos th) th (sqrt 2) 2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (* 1/2 (* a2 a2)) 1/2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (+ (* -1/4 (* th th)) 1/2) (* a2 a2)) (+ (* -1/4 (* th th)) 1/2) -1/4 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) (* -1/2 (+ (* a1 a1) (* a2 a2))) -1/2 (+ (* a1 a1) (* a2 a2)) a1 (/ (+ (* a1 a1) (* a2 a2)) 2) (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (* (* 1/2 (* a2 a2)) (cos th))) |
| 4.0ms | a1 | @ | -inf | ((* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* (* a2 a2) (cos th)) (sqrt 2)) (* (* a2 a2) (cos th)) (* a2 a2) a2 (cos th) th (sqrt 2) 2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (* 1/2 (* a2 a2)) 1/2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (+ (* -1/4 (* th th)) 1/2) (* a2 a2)) (+ (* -1/4 (* th th)) 1/2) -1/4 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) (* -1/2 (+ (* a1 a1) (* a2 a2))) -1/2 (+ (* a1 a1) (* a2 a2)) a1 (/ (+ (* a1 a1) (* a2 a2)) 2) (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (* (* 1/2 (* a2 a2)) (cos th))) |
| 3.0ms | a2 | @ | -inf | ((* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* (* a2 a2) (cos th)) (sqrt 2)) (* (* a2 a2) (cos th)) (* a2 a2) a2 (cos th) th (sqrt 2) 2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (* 1/2 (* a2 a2)) 1/2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (+ (* -1/4 (* th th)) 1/2) (* a2 a2)) (+ (* -1/4 (* th th)) 1/2) -1/4 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) (* -1/2 (+ (* a1 a1) (* a2 a2))) -1/2 (+ (* a1 a1) (* a2 a2)) a1 (/ (+ (* a1 a1) (* a2 a2)) 2) (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (* (* 1/2 (* a2 a2)) (cos th))) |
| 3.0ms | a2 | @ | 0 | ((* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* (* a2 a2) (cos th)) (sqrt 2)) (* (* a2 a2) (cos th)) (* a2 a2) a2 (cos th) th (sqrt 2) 2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (* 1/2 (* a2 a2)) 1/2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (+ (* -1/4 (* th th)) 1/2) (* a2 a2)) (+ (* -1/4 (* th th)) 1/2) -1/4 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) (* -1/2 (+ (* a1 a1) (* a2 a2))) -1/2 (+ (* a1 a1) (* a2 a2)) a1 (/ (+ (* a1 a1) (* a2 a2)) 2) (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (* (* 1/2 (* a2 a2)) (cos th))) |
| 3.0ms | th | @ | inf | ((* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* (* a2 a2) (cos th)) (sqrt 2)) (* (* a2 a2) (cos th)) (* a2 a2) a2 (cos th) th (sqrt 2) 2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (* 1/2 (* a2 a2)) 1/2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (+ (* -1/4 (* th th)) 1/2) (* a2 a2)) (+ (* -1/4 (* th th)) 1/2) -1/4 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) (* -1/2 (+ (* a1 a1) (* a2 a2))) -1/2 (+ (* a1 a1) (* a2 a2)) a1 (/ (+ (* a1 a1) (* a2 a2)) 2) (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (* (* 1/2 (* a2 a2)) (cos th))) |
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 a2) |
a2 |
(cos.f64 th) |
th |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) |
#s(literal 1/2 binary64) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2))) |
(*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) |
(fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) |
#s(literal -1/4 binary64) |
(*.f64 th th) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) |
(/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) |
(*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) |
#s(literal -1/2 binary64) |
(fma.f64 a1 a1 (*.f64 a2 a2)) |
a1 |
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th)) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (pow a2 2) (cos th))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (* (pow a1 2) (cos th))) (* 1/2 (* (pow a2 2) (cos th)))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* 1/2 (pow a2 2)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* 1/2 (pow a2 2))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a2 2) (pow th 2))) (* 1/2 (pow a2 2))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a2 2) (pow th 2))) (+ (* 1/2 (pow a2 2)) (* (pow a1 2) (+ 1/2 (* -1/4 (pow th 2)))))))) |
#s(approx (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) #s(hole binary64 (* -1/4 (* (pow a2 2) th)))) |
#s(approx (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) th)) (* -1/4 (* (pow a2 2) th))))) |
#s(approx (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) #s(hole binary64 (* -1/4 (pow a2 2)))) |
#s(approx (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) #s(hole binary64 (+ (* -1/4 (pow a1 2)) (* -1/4 (pow a2 2))))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* -1/2 (pow a2 2)))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* -1/2 (pow a1 2)) (* -1/2 (pow a2 2))))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (pow a2 2))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (+ (pow a1 2) (pow a2 2)))) |
#s(approx a1 #s(hole binary64 a1)) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (pow a1 2) (cos th))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a1 2) (+ (* 1/2 (cos th)) (* 1/2 (/ (* (pow a2 2) (cos th)) (pow a1 2))))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* 1/2 (pow a1 2)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* (pow a1 2) (+ 1/2 (* 1/2 (/ (pow a2 2) (pow a1 2))))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (+ 1/2 (* -1/4 (pow th 2)))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (+ 1/2 (+ (* -1/4 (/ (* (pow a2 2) (pow th 2)) (pow a1 2))) (+ (* -1/4 (pow th 2)) (* 1/2 (/ (pow a2 2) (pow a1 2))))))))) |
#s(approx (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) #s(hole binary64 (* -1/4 (* (pow a1 2) th)))) |
#s(approx (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) #s(hole binary64 (* (pow a1 2) (+ (* -1/4 th) (* -1/4 (/ (* (pow a2 2) th) (pow a1 2))))))) |
#s(approx (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) #s(hole binary64 (* -1/4 (pow a1 2)))) |
#s(approx (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) #s(hole binary64 (* (pow a1 2) (- (* -1/4 (/ (pow a2 2) (pow a1 2))) 1/4)))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* -1/2 (pow a1 2)))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a1 2) (- (* -1/2 (/ (pow a2 2) (pow a1 2))) 1/2)))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (pow a1 2))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (* (pow a1 2) (+ 1 (/ (pow a2 2) (pow a1 2)))))) |
#s(approx (/ (* (* a2 a2) (cos th)) (sqrt 2)) #s(hole binary64 (/ (* (pow a2 2) (cos th)) (sqrt 2)))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (* (pow a2 2) (cos th)))) |
#s(approx a2 #s(hole binary64 a2)) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) (pow th 2))) (* 1/2 (pow a1 2))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) (pow th 2))) (+ (* 1/2 (pow a1 2)) (* (pow a2 2) (+ 1/2 (* -1/4 (pow th 2)))))))) |
#s(approx (* (+ (* -1/4 (* th th)) 1/2) (* a2 a2)) #s(hole binary64 (* (pow a2 2) (+ 1/2 (* -1/4 (pow th 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a2 2) (+ (* 1/2 (cos th)) (* 1/2 (/ (* (pow a1 2) (cos th)) (pow a2 2))))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* (pow a2 2) (+ 1/2 (* 1/2 (/ (pow a1 2) (pow a2 2))))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (+ 1/2 (+ (* -1/4 (/ (* (pow a1 2) (pow th 2)) (pow a2 2))) (+ (* -1/4 (pow th 2)) (* 1/2 (/ (pow a1 2) (pow a2 2))))))))) |
#s(approx (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) #s(hole binary64 (* (pow a2 2) (+ (* -1/4 th) (* -1/4 (/ (* (pow a1 2) th) (pow a2 2))))))) |
#s(approx (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) #s(hole binary64 (* (pow a2 2) (- (* -1/4 (/ (pow a1 2) (pow a2 2))) 1/4)))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a2 2) (- (* -1/2 (/ (pow a1 2) (pow a2 2))) 1/2)))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (* (pow a2 2) (+ 1 (/ (pow a1 2) (pow a2 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (+ (pow a1 2) (pow a2 2))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* -1/4 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))) (* 1/2 (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* 1/48 (* (pow th 2) (+ (pow a1 2) (pow a2 2))))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/1440 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))) (* 1/48 (+ (pow a1 2) (pow a2 2)))))))))) |
#s(approx (/ (* (* a2 a2) (cos th)) (sqrt 2)) #s(hole binary64 (/ (pow a2 2) (sqrt 2)))) |
#s(approx (/ (* (* a2 a2) (cos th)) (sqrt 2)) #s(hole binary64 (+ (* -1/2 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (/ (* (* a2 a2) (cos th)) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* 1/24 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (/ (* (* a2 a2) (cos th)) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (* 1/24 (/ (pow a2 2) (sqrt 2))))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (+ (* -1/2 (* (pow a2 2) (pow th 2))) (pow a2 2)))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (pow a2 2)) (* 1/24 (* (pow a2 2) (pow th 2))))) (pow a2 2)))) |
#s(approx (* (* a2 a2) (cos th)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/720 (* (pow a2 2) (pow th 2))) (* 1/24 (pow a2 2)))))) (pow a2 2)))) |
#s(approx (cos th) #s(hole binary64 1)) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* -1/2 (pow th 2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* 1/24 (pow th 2)) 1/2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/24 (* -1/720 (pow th 2)))) 1/2))))) |
#s(approx th #s(hole binary64 th)) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 1/2)) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 (+ 1/2 (* -1/4 (pow th 2))))) |
#s(approx (* th th) #s(hole binary64 (pow th 2))) |
#s(approx (* (/ (* -1/2 (+ (* a1 a1) (* a2 a2))) 2) th) #s(hole binary64 (* -1/4 (* th (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (* (* 1/2 (* a2 a2)) (cos th)) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/4 (pow a2 2)) (* 1/48 (* (pow a2 2) (pow th 2)))))))) |
#s(approx (* (* 1/2 (* a2 a2)) (cos th)) #s(hole binary64 (+ (* 1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/4 (pow a2 2)) (* (pow th 2) (+ (* -1/1440 (* (pow a2 2) (pow th 2))) (* 1/48 (pow a2 2))))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (cos th) (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (cos th) #s(hole binary64 (cos th))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* -1/4 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* 1/2 (/ (+ (pow a1 2) (pow a2 2)) (pow th 2))))))) |
#s(approx (* (+ (* -1/4 (* th th)) 1/2) (* a2 a2)) #s(hole binary64 (* -1/4 (* (pow a2 2) (pow th 2))))) |
#s(approx (* (+ (* -1/4 (* th th)) 1/2) (* a2 a2)) #s(hole binary64 (* (pow th 2) (+ (* -1/4 (pow a2 2)) (* 1/2 (/ (pow a2 2) (pow th 2))))))) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 (* -1/4 (pow th 2)))) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 (* (pow th 2) (- (* 1/2 (/ 1 (pow th 2))) 1/4)))) |
| Outputs |
|---|
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) #s(literal 2 binary64))) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th))) (neg.f64 #s(literal 2 binary64))) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 (cos.f64 th) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 a2 a2) |
(*.f64 (fabs.f64 a2) (fabs.f64 a2)) |
(*.f64 (neg.f64 a2) (neg.f64 a2)) |
(*.f64 (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64)))) |
(exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64))) |
(pow.f64 a2 #s(literal 2 binary64)) |
a2 |
(cos.f64 th) |
(cos.f64 (neg.f64 th)) |
(sin.f64 (+.f64 th (/.f64 (PI.f64) #s(literal 2 binary64)))) |
th |
#s(literal 2 binary64) |
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) |
(*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)) |
(*.f64 (*.f64 #s(literal 1/2 binary64) a2) a2) |
#s(literal 1/2 binary64) |
(*.f64 #s(literal 1/2 binary64) #s(literal 1 binary64)) |
(neg.f64 #s(literal -1/2 binary64)) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2))) |
(*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) |
(*.f64 (*.f64 a2 a2) (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64))) |
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a2) a2) |
(+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 a2 a2))) |
(+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (*.f64 (*.f64 a2 a2) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))) |
(fma.f64 (*.f64 #s(literal 1/2 binary64) a2) a2 (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 a2 a2))) |
(fma.f64 (*.f64 #s(literal 1/2 binary64) a2) a2 (*.f64 (*.f64 a2 a2) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))) |
(fma.f64 #s(literal 1/2 binary64) (*.f64 a2 a2) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 a2 a2))) |
(fma.f64 #s(literal 1/2 binary64) (*.f64 a2 a2) (*.f64 (*.f64 a2 a2) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))) |
(fma.f64 (*.f64 a2 a2) #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 a2 a2))) |
(fma.f64 (*.f64 a2 a2) #s(literal 1/2 binary64) (*.f64 (*.f64 a2 a2) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))) |
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) |
(+.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) #s(literal 1/2 binary64)) |
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/4 binary64) (*.f64 th th))) |
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))) |
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) #s(literal 1/4 binary64)) (-.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) #s(literal 1/2 binary64))) |
(/.f64 (+.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) #s(literal 3 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) #s(literal 1/2 binary64))))) |
(fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) |
(fma.f64 (*.f64 th th) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) |
(fma.f64 (*.f64 #s(literal -1/4 binary64) th) th #s(literal 1/2 binary64)) |
#s(literal -1/4 binary64) |
(*.f64 th th) |
(*.f64 (fabs.f64 th) (fabs.f64 th)) |
(*.f64 (neg.f64 th) (neg.f64 th)) |
(*.f64 (pow.f64 th (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 th (/.f64 #s(literal 2 binary64) #s(literal 2 binary64)))) |
(exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) |
(pow.f64 th #s(literal 2 binary64)) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) th) #s(literal 2 binary64)) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(+.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th))) |
(/.f64 (-.f64 (*.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th))) (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) (-.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) #s(literal 3 binary64)) (pow.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) (-.f64 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))))) |
(fma.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) th) #s(literal 2 binary64)) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(fma.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(fma.f64 th (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) th) #s(literal 2 binary64)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (*.f64 th th) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(fma.f64 (/.f64 (*.f64 (*.f64 th th) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) |
(*.f64 th (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64))) |
(/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) th) #s(literal 2 binary64)) |
(*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
(/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) (neg.f64 #s(literal 2 binary64))) |
(*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal -1/2 binary64)) |
(+.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1))) |
(+.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2))) |
(-.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2))) |
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1))) (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)))) (-.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2))) (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)))))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 a2 a2) (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1))) |
(fma.f64 #s(literal -1/2 binary64) (*.f64 a1 a1) (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2))) |
(fma.f64 (*.f64 a2 a2) #s(literal -1/2 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1))) |
(fma.f64 (*.f64 a1 a1) #s(literal -1/2 binary64) (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2))) |
#s(literal -1/2 binary64) |
(neg.f64 #s(literal 1/2 binary64)) |
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(-.f64 (*.f64 a1 a1) (*.f64 (neg.f64 a2) a2)) |
(/.f64 (-.f64 (*.f64 (*.f64 a1 a1) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (*.f64 a2 a2))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 a1 a1) #s(literal 3 binary64)) (pow.f64 (*.f64 a2 a2) #s(literal 3 binary64))) (fma.f64 (*.f64 a1 a1) (*.f64 a1 a1) (-.f64 (*.f64 (*.f64 a2 a2) (*.f64 a2 a2)) (*.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) |
(fma.f64 a1 a1 (*.f64 a2 a2)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(fma.f64 (fabs.f64 a1) (fabs.f64 a1) (*.f64 a2 a2)) |
(fma.f64 (fabs.f64 a2) (fabs.f64 a2) (*.f64 a1 a1)) |
(fma.f64 (neg.f64 a1) (neg.f64 a1) (*.f64 a2 a2)) |
(fma.f64 (neg.f64 a2) (neg.f64 a2) (*.f64 a1 a1)) |
(fma.f64 (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (*.f64 a1 a1)) |
(fma.f64 (pow.f64 a1 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 a1 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (*.f64 a2 a2)) |
a1 |
(+.f64 (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))) |
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (fma.f64 a1 a1 (*.f64 a2 a2))) (neg.f64 #s(literal 2 binary64))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th)) |
(*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 #s(literal 1/2 binary64) a2) a2 (*.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal -1/4 binary64)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal -1/4 binary64) (fma.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2))))) |
#s(approx (/ (* (* -1/2 (+ (* a1 a1) (* a2 a2))) th) 2) (*.f64 (*.f64 (*.f64 a2 a2) th) #s(literal -1/4 binary64))) |
#s(approx (/ (* (* -1/2 (+ (* a1 a1) (* a2 a2))) th) 2) (*.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) th) #s(literal -1/4 binary64))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) |
#s(approx (+ (* a1 a1) (* a2 a2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
#s(approx a1 a1) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 th) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (*.f64 a1 a1)))) (*.f64 a1 a1))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 a2 a2) (*.f64 a1 a1)) #s(literal 1/2 binary64)) (*.f64 a1 a1))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (+.f64 #s(literal 1/2 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal -1/4 binary64) (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (*.f64 a1 a1))))) (*.f64 a1 a1))) |
#s(approx (/ (* (* -1/2 (+ (* a1 a1) (* a2 a2))) th) 2) (*.f64 (*.f64 (*.f64 a1 a1) th) #s(literal -1/4 binary64))) |
#s(approx (/ (* (* -1/2 (+ (* a1 a1) (* a2 a2))) th) 2) (*.f64 (*.f64 #s(literal -1/4 binary64) (+.f64 th (/.f64 (*.f64 (*.f64 a2 a2) th) (*.f64 a1 a1)))) (*.f64 a1 a1))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/2 binary64)) (*.f64 a1 a1))) |
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1)) |
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 a1 a1))) |
#s(approx (/ (* (* a2 a2) (cos th)) 2) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
#s(approx (* (* a2 a2) (cos th)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
#s(approx a2 a2) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1)) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) #s(literal -1/4 binary64) (fma.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1))))) |
#s(approx (* (+ 1/2 (* (* -1/4 th) th)) (* a2 a2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 th) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 a2 a2)))) (*.f64 a2 a2))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 a1 a1) (*.f64 a2 a2)) #s(literal 1/2 binary64)) (*.f64 a2 a2))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (+.f64 #s(literal 1/2 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) (*.f64 a2 a2)) #s(literal -1/4 binary64) (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (*.f64 a2 a2))))) (*.f64 a2 a2))) |
#s(approx (/ (* (* -1/2 (+ (* a1 a1) (* a2 a2))) th) 2) (*.f64 (*.f64 #s(literal -1/4 binary64) (+.f64 th (/.f64 (*.f64 (*.f64 a1 a1) th) (*.f64 a2 a2)))) (*.f64 a2 a2))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1)) (*.f64 a2 a2)) #s(literal 1/4 binary64)) (*.f64 a2 a2))) |
#s(approx (* -1/2 (+ (* a1 a1) (* a2 a2))) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 a1)) (*.f64 a2 a2)) #s(literal 1/2 binary64)) (*.f64 a2 a2))) |
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (*.f64 a2 a2))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (fma.f64 (*.f64 (*.f64 th th) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 1/48 binary64) (*.f64 #s(literal -1/4 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 th th)) (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 #s(literal 1/48 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 th th) (*.f64 #s(literal -1/4 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))))) |
#s(approx (/ (* (* a2 a2) (cos th)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))) |
#s(approx (/ (* (* a2 a2) (cos th)) 2) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal 2 binary64)) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (/ (* (* a2 a2) (cos th)) 2) (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal 2 binary64)) #s(literal 1/24 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (/ (* (* a2 a2) (cos th)) 2) (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal 2 binary64)) #s(literal -1/720 binary64) (/.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (* (* a2 a2) (cos th)) (fma.f64 a2 a2 (*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 th th) (*.f64 a2 a2))))) |
#s(approx (* (* a2 a2) (cos th)) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 a2 a2) (*.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal 1/24 binary64))) (*.f64 th th) (*.f64 a2 a2))) |
#s(approx (* (* a2 a2) (cos th)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) (*.f64 a2 a2)) (*.f64 th th) (*.f64 #s(literal 1/24 binary64) (*.f64 a2 a2))) (*.f64 th th) (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2))) (*.f64 th th) (*.f64 a2 a2))) |
#s(approx (cos th) #s(literal 1 binary64)) |
#s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) |
#s(approx (cos th) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))) |
#s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))) |
#s(approx th th) |
#s(approx (+ 1/2 (* (* -1/4 th) th)) #s(literal 1/2 binary64)) |
#s(approx (+ 1/2 (* (* -1/4 th) th)) (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64))) |
#s(approx (* th th) (*.f64 th th)) |
#s(approx (/ (* (* -1/2 (+ (* a1 a1) (* a2 a2))) th) 2) (*.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) th) #s(literal -1/4 binary64))) |
#s(approx (* 1/2 (* (* a2 a2) (cos th))) (fma.f64 (fma.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal 1/48 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* 1/2 (* (* a2 a2) (cos th))) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 a2 a2)) (*.f64 th th) (*.f64 #s(literal 1/48 binary64) (*.f64 a2 a2))) (*.f64 th th) (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))) |
#s(approx (cos th) (cos.f64 th)) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) (*.f64 th th))) (*.f64 th th))) |
#s(approx (* (+ 1/2 (* (* -1/4 th) th)) (* a2 a2)) (*.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) #s(literal -1/4 binary64))) |
#s(approx (* (+ 1/2 (* (* -1/4 th) th)) (* a2 a2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 a2 a2) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (*.f64 th th))) (*.f64 th th))) |
#s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) |
#s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 th th)) #s(literal 1/4 binary64)) (*.f64 th th))) |
Compiled 2 236 to 958 computations (57.2% saved)
27 alts after pruning (23 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 183 | 13 | 196 |
| Fresh | 5 | 10 | 15 |
| Picked | 3 | 2 | 5 |
| Done | 0 | 2 | 2 |
| Total | 191 | 27 | 218 |
| Status | Accuracy | Program |
|---|---|---|
| 46.4% | (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) | |
| 59.3% | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) | |
| ✓ | 99.5% | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| ✓ | 46.4% | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
| 46.4% | (+.f64 (*.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a1) a1) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) | |
| 66.7% | (+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) | |
| 97.9% | (+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) #s(approx (/ (* a1 a1) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) | |
| 59.3% | #s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64))) | |
| 41.2% | #s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) | |
| 59.3% | #s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))) | |
| 13.2% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) | |
| 13.1% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1)) #s(literal 2 binary64)))) | |
| 2.2% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) | |
| ▶ | 34.1% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
| 66.8% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 #s(literal 2 binary64)))) | |
| 59.3% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) #s(literal 2 binary64))) | |
| ✓ | 99.5% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) |
| 66.8% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) | |
| ▶ | 99.5% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 #s(literal 2 binary64)))) |
| ✓ | 46.4% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
| ▶ | 15.7% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
| 46.4% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) | |
| ▶ | 16.2% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))) |
| 42.9% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) | |
| 41.4% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a2) a2))) | |
| 18.4% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a2 a2)))) | |
| ▶ | 17.6% | #s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th))) |
Compiled 1 118 to 979 computations (12.4% saved)
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 #s(literal 2 binary64)))) |
(/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 #s(literal 2 binary64))) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
a2 |
(*.f64 a2 (cos.f64 th)) |
(cos.f64 th) |
th |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) |
#s(literal 1/2 binary64) |
(*.f64 a1 a1) |
a1 |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1))) |
(*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)) |
(fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) |
#s(literal -1/4 binary64) |
(*.f64 th th) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) |
(*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1)) |
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) |
(fma.f64 a1 a1 (*.f64 a2 a2)) |
(*.f64 a2 a2) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th)) |
| Outputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (pow a2 2) (cos th))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (* (pow a1 2) (cos th))) (* 1/2 (* (pow a2 2) (cos th)))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* 1/2 (pow a2 2)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* 1/2 (pow a2 2))))) |
#s(approx (* 1/2 (* a1 a1)) #s(hole binary64 (* 1/2 (pow a1 2)))) |
#s(approx (* a1 a1) #s(hole binary64 (pow a1 2))) |
#s(approx a1 #s(hole binary64 a1)) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a2 2) (pow th 2))) (* 1/2 (pow a2 2))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a2 2) (pow th 2))) (+ (* 1/2 (pow a2 2)) (* (pow a1 2) (+ 1/2 (* -1/4 (pow th 2)))))))) |
#s(approx (* (+ (* -1/4 (* th th)) 1/2) (* a1 a1)) #s(hole binary64 (* (pow a1 2) (+ 1/2 (* -1/4 (pow th 2)))))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* -1/4 (pow a2 2)))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (pow a1 2)) (* -1/4 (pow a2 2))))) |
#s(approx (* -1/4 (* a1 a1)) #s(hole binary64 (* -1/4 (pow a1 2)))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (pow a2 2))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (+ (pow a1 2) (pow a2 2)))) |
#s(approx (* (* 1/2 (* a1 a1)) (cos th)) #s(hole binary64 (* 1/2 (* (pow a1 2) (cos th))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a1 2) (+ (* 1/2 (cos th)) (* 1/2 (/ (* (pow a2 2) (cos th)) (pow a1 2))))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* (pow a1 2) (+ 1/2 (* 1/2 (/ (pow a2 2) (pow a1 2))))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (+ 1/2 (+ (* -1/4 (/ (* (pow a2 2) (pow th 2)) (pow a1 2))) (+ (* -1/4 (pow th 2)) (* 1/2 (/ (pow a2 2) (pow a1 2))))))))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (- (* -1/4 (/ (pow a2 2) (pow a1 2))) 1/4)))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (* (pow a1 2) (+ 1 (/ (pow a2 2) (pow a1 2)))))) |
#s(approx (/ (* a2 (* a2 (cos th))) (sqrt 2)) #s(hole binary64 (/ (* (pow a2 2) (cos th)) (sqrt 2)))) |
#s(approx (* a2 (* a2 (cos th))) #s(hole binary64 (* (pow a2 2) (cos th)))) |
#s(approx a2 #s(hole binary64 a2)) |
#s(approx (* a2 (cos th)) #s(hole binary64 (* a2 (cos th)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) (pow th 2))) (* 1/2 (pow a1 2))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) (pow th 2))) (+ (* 1/2 (pow a1 2)) (* (pow a2 2) (+ 1/2 (* -1/4 (pow th 2)))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a2 2) (+ (* 1/2 (cos th)) (* 1/2 (/ (* (pow a1 2) (cos th)) (pow a2 2))))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* (pow a2 2) (+ 1/2 (* 1/2 (/ (pow a1 2) (pow a2 2))))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (+ 1/2 (* -1/4 (pow th 2)))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (+ 1/2 (+ (* -1/4 (/ (* (pow a1 2) (pow th 2)) (pow a2 2))) (+ (* -1/4 (pow th 2)) (* 1/2 (/ (pow a1 2) (pow a2 2))))))))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (- (* -1/4 (/ (pow a1 2) (pow a2 2))) 1/4)))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (* (pow a2 2) (+ 1 (/ (pow a1 2) (pow a2 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (+ (pow a1 2) (pow a2 2))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* -1/4 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))) (* 1/2 (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* 1/48 (* (pow th 2) (+ (pow a1 2) (pow a2 2))))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/1440 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))) (* 1/48 (+ (pow a1 2) (pow a2 2)))))))))) |
#s(approx (/ (* a2 (* a2 (cos th))) (sqrt 2)) #s(hole binary64 (/ (pow a2 2) (sqrt 2)))) |
#s(approx (/ (* a2 (* a2 (cos th))) (sqrt 2)) #s(hole binary64 (+ (* -1/2 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (/ (* a2 (* a2 (cos th))) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* 1/24 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (/ (* a2 (* a2 (cos th))) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (* 1/24 (/ (pow a2 2) (sqrt 2))))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (* a2 (* a2 (cos th))) #s(hole binary64 (+ (* -1/2 (* (pow a2 2) (pow th 2))) (pow a2 2)))) |
#s(approx (* a2 (* a2 (cos th))) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (pow a2 2)) (* 1/24 (* (pow a2 2) (pow th 2))))) (pow a2 2)))) |
#s(approx (* a2 (* a2 (cos th))) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/720 (* (pow a2 2) (pow th 2))) (* 1/24 (pow a2 2)))))) (pow a2 2)))) |
#s(approx (* a2 (cos th)) #s(hole binary64 (+ a2 (* -1/2 (* a2 (pow th 2)))))) |
#s(approx (* a2 (cos th)) #s(hole binary64 (+ a2 (* (pow th 2) (+ (* -1/2 a2) (* 1/24 (* a2 (pow th 2)))))))) |
#s(approx (* a2 (cos th)) #s(hole binary64 (+ a2 (* (pow th 2) (+ (* -1/2 a2) (* (pow th 2) (+ (* -1/720 (* a2 (pow th 2))) (* 1/24 a2)))))))) |
#s(approx (cos th) #s(hole binary64 1)) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* -1/2 (pow th 2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* 1/24 (pow th 2)) 1/2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/24 (* -1/720 (pow th 2)))) 1/2))))) |
#s(approx th #s(hole binary64 th)) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 1/2)) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 (+ 1/2 (* -1/4 (pow th 2))))) |
#s(approx (* th th) #s(hole binary64 (pow th 2))) |
#s(approx (* (* 1/2 (* a1 a1)) (cos th)) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* (pow th 2) (+ (* -1/4 (pow a1 2)) (* 1/48 (* (pow a1 2) (pow th 2)))))))) |
#s(approx (* (* 1/2 (* a1 a1)) (cos th)) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* (pow th 2) (+ (* -1/4 (pow a1 2)) (* (pow th 2) (+ (* -1/1440 (* (pow a1 2) (pow th 2))) (* 1/48 (pow a1 2))))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (cos th) (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (cos th) #s(hole binary64 (cos th))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* -1/4 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* 1/2 (/ (+ (pow a1 2) (pow a2 2)) (pow th 2))))))) |
#s(approx (* (+ (* -1/4 (* th th)) 1/2) (* a1 a1)) #s(hole binary64 (* -1/4 (* (pow a1 2) (pow th 2))))) |
#s(approx (* (+ (* -1/4 (* th th)) 1/2) (* a1 a1)) #s(hole binary64 (* (pow th 2) (+ (* -1/4 (pow a1 2)) (* 1/2 (/ (pow a1 2) (pow th 2))))))) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 (* -1/4 (pow th 2)))) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 (* (pow th 2) (- (* 1/2 (/ 1 (pow th 2))) 1/4)))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | a1 | @ | 0 | ((* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* a2 (* a2 (cos th))) (sqrt 2)) (* a2 (* a2 (cos th))) a2 (* a2 (cos th)) (cos th) th (sqrt 2) 2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (* 1/2 (* a1 a1)) 1/2 (* a1 a1) a1 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (+ (* -1/4 (* th th)) 1/2) (* a1 a1)) (+ (* -1/4 (* th th)) 1/2) -1/4 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/4 (* a1 a1)) (/ (+ (* a1 a1) (* a2 a2)) 2) (+ (* a1 a1) (* a2 a2)) (* a2 a2) (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (* 1/2 (* a1 a1)) (cos th))) |
| 3.0ms | a1 | @ | inf | ((* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* a2 (* a2 (cos th))) (sqrt 2)) (* a2 (* a2 (cos th))) a2 (* a2 (cos th)) (cos th) th (sqrt 2) 2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (* 1/2 (* a1 a1)) 1/2 (* a1 a1) a1 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (+ (* -1/4 (* th th)) 1/2) (* a1 a1)) (+ (* -1/4 (* th th)) 1/2) -1/4 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/4 (* a1 a1)) (/ (+ (* a1 a1) (* a2 a2)) 2) (+ (* a1 a1) (* a2 a2)) (* a2 a2) (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (* 1/2 (* a1 a1)) (cos th))) |
| 3.0ms | a1 | @ | -inf | ((* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* a2 (* a2 (cos th))) (sqrt 2)) (* a2 (* a2 (cos th))) a2 (* a2 (cos th)) (cos th) th (sqrt 2) 2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (* 1/2 (* a1 a1)) 1/2 (* a1 a1) a1 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (+ (* -1/4 (* th th)) 1/2) (* a1 a1)) (+ (* -1/4 (* th th)) 1/2) -1/4 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/4 (* a1 a1)) (/ (+ (* a1 a1) (* a2 a2)) 2) (+ (* a1 a1) (* a2 a2)) (* a2 a2) (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (* 1/2 (* a1 a1)) (cos th))) |
| 3.0ms | th | @ | inf | ((* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* a2 (* a2 (cos th))) (sqrt 2)) (* a2 (* a2 (cos th))) a2 (* a2 (cos th)) (cos th) th (sqrt 2) 2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (* 1/2 (* a1 a1)) 1/2 (* a1 a1) a1 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (+ (* -1/4 (* th th)) 1/2) (* a1 a1)) (+ (* -1/4 (* th th)) 1/2) -1/4 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/4 (* a1 a1)) (/ (+ (* a1 a1) (* a2 a2)) 2) (+ (* a1 a1) (* a2 a2)) (* a2 a2) (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (* 1/2 (* a1 a1)) (cos th))) |
| 3.0ms | a2 | @ | -inf | ((* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (* a2 (* a2 (cos th))) (sqrt 2)) (* a2 (* a2 (cos th))) a2 (* a2 (cos th)) (cos th) th (sqrt 2) 2 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/ (+ (* a1 a1) (* a2 a2)) 2) (* 1/2 (* a1 a1)) 1/2 (* a1 a1) a1 (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (+ (* -1/4 (* th th)) 1/2) (* a1 a1)) (+ (* -1/4 (* th th)) 1/2) -1/4 (* th th) (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (+ (* (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* th th)) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (* -1/4 (* a1 a1)) (/ (+ (* a1 a1) (* a2 a2)) 2) (+ (* a1 a1) (* a2 a2)) (* a2 a2) (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (* (* 1/2 (* a1 a1)) (cos th))) |
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 #s(literal 2 binary64)))) |
(/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 #s(literal 2 binary64))) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
a2 |
(*.f64 a2 (cos.f64 th)) |
(cos.f64 th) |
th |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) |
#s(literal 1/2 binary64) |
(*.f64 a1 a1) |
a1 |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1))) |
(*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)) |
(fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) |
#s(literal -1/4 binary64) |
(*.f64 th th) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) |
(*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1)) |
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) |
(fma.f64 a1 a1 (*.f64 a2 a2)) |
(*.f64 a2 a2) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th)) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (pow a2 2) (cos th))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (* (pow a1 2) (cos th))) (* 1/2 (* (pow a2 2) (cos th)))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* 1/2 (pow a2 2)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* 1/2 (pow a2 2))))) |
#s(approx (* 1/2 (* a1 a1)) #s(hole binary64 (* 1/2 (pow a1 2)))) |
#s(approx (* a1 a1) #s(hole binary64 (pow a1 2))) |
#s(approx a1 #s(hole binary64 a1)) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a2 2) (pow th 2))) (* 1/2 (pow a2 2))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a2 2) (pow th 2))) (+ (* 1/2 (pow a2 2)) (* (pow a1 2) (+ 1/2 (* -1/4 (pow th 2)))))))) |
#s(approx (* (+ (* -1/4 (* th th)) 1/2) (* a1 a1)) #s(hole binary64 (* (pow a1 2) (+ 1/2 (* -1/4 (pow th 2)))))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* -1/4 (pow a2 2)))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (pow a1 2)) (* -1/4 (pow a2 2))))) |
#s(approx (* -1/4 (* a1 a1)) #s(hole binary64 (* -1/4 (pow a1 2)))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (pow a2 2))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (+ (pow a1 2) (pow a2 2)))) |
#s(approx (* (* 1/2 (* a1 a1)) (cos th)) #s(hole binary64 (* 1/2 (* (pow a1 2) (cos th))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a1 2) (+ (* 1/2 (cos th)) (* 1/2 (/ (* (pow a2 2) (cos th)) (pow a1 2))))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* (pow a1 2) (+ 1/2 (* 1/2 (/ (pow a2 2) (pow a1 2))))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (+ 1/2 (+ (* -1/4 (/ (* (pow a2 2) (pow th 2)) (pow a1 2))) (+ (* -1/4 (pow th 2)) (* 1/2 (/ (pow a2 2) (pow a1 2))))))))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a1 2) (- (* -1/4 (/ (pow a2 2) (pow a1 2))) 1/4)))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (* (pow a1 2) (+ 1 (/ (pow a2 2) (pow a1 2)))))) |
#s(approx (/ (* a2 (* a2 (cos th))) (sqrt 2)) #s(hole binary64 (/ (* (pow a2 2) (cos th)) (sqrt 2)))) |
#s(approx (* a2 (* a2 (cos th))) #s(hole binary64 (* (pow a2 2) (cos th)))) |
#s(approx a2 #s(hole binary64 a2)) |
#s(approx (* a2 (cos th)) #s(hole binary64 (* a2 (cos th)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) (pow th 2))) (* 1/2 (pow a1 2))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (+ (* -1/4 (* (pow a1 2) (pow th 2))) (+ (* 1/2 (pow a1 2)) (* (pow a2 2) (+ 1/2 (* -1/4 (pow th 2)))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* (pow a2 2) (+ (* 1/2 (cos th)) (* 1/2 (/ (* (pow a1 2) (cos th)) (pow a2 2))))))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) #s(hole binary64 (* (pow a2 2) (+ 1/2 (* 1/2 (/ (pow a1 2) (pow a2 2))))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (+ 1/2 (* -1/4 (pow th 2)))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (+ 1/2 (+ (* -1/4 (/ (* (pow a1 2) (pow th 2)) (pow a2 2))) (+ (* -1/4 (pow th 2)) (* 1/2 (/ (pow a1 2) (pow a2 2))))))))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow a2 2) (- (* -1/4 (/ (pow a1 2) (pow a2 2))) 1/4)))) |
#s(approx (+ (* a1 a1) (* a2 a2)) #s(hole binary64 (* (pow a2 2) (+ 1 (/ (pow a1 2) (pow a2 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (+ (pow a1 2) (pow a2 2))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* -1/4 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))) (* 1/2 (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* 1/48 (* (pow th 2) (+ (pow a1 2) (pow a2 2))))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (+ (* 1/2 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* (pow th 2) (+ (* -1/1440 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))) (* 1/48 (+ (pow a1 2) (pow a2 2)))))))))) |
#s(approx (/ (* a2 (* a2 (cos th))) (sqrt 2)) #s(hole binary64 (/ (pow a2 2) (sqrt 2)))) |
#s(approx (/ (* a2 (* a2 (cos th))) (sqrt 2)) #s(hole binary64 (+ (* -1/2 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (/ (* a2 (* a2 (cos th))) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* 1/24 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (/ (* a2 (* a2 (cos th))) (sqrt 2)) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (/ (pow a2 2) (sqrt 2))) (* (pow th 2) (+ (* -1/720 (/ (* (pow a2 2) (pow th 2)) (sqrt 2))) (* 1/24 (/ (pow a2 2) (sqrt 2))))))) (/ (pow a2 2) (sqrt 2))))) |
#s(approx (* a2 (* a2 (cos th))) #s(hole binary64 (+ (* -1/2 (* (pow a2 2) (pow th 2))) (pow a2 2)))) |
#s(approx (* a2 (* a2 (cos th))) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (pow a2 2)) (* 1/24 (* (pow a2 2) (pow th 2))))) (pow a2 2)))) |
#s(approx (* a2 (* a2 (cos th))) #s(hole binary64 (+ (* (pow th 2) (+ (* -1/2 (pow a2 2)) (* (pow th 2) (+ (* -1/720 (* (pow a2 2) (pow th 2))) (* 1/24 (pow a2 2)))))) (pow a2 2)))) |
#s(approx (* a2 (cos th)) #s(hole binary64 (+ a2 (* -1/2 (* a2 (pow th 2)))))) |
#s(approx (* a2 (cos th)) #s(hole binary64 (+ a2 (* (pow th 2) (+ (* -1/2 a2) (* 1/24 (* a2 (pow th 2)))))))) |
#s(approx (* a2 (cos th)) #s(hole binary64 (+ a2 (* (pow th 2) (+ (* -1/2 a2) (* (pow th 2) (+ (* -1/720 (* a2 (pow th 2))) (* 1/24 a2)))))))) |
#s(approx (cos th) #s(hole binary64 1)) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* -1/2 (pow th 2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* 1/24 (pow th 2)) 1/2))))) |
#s(approx (cos th) #s(hole binary64 (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/24 (* -1/720 (pow th 2)))) 1/2))))) |
#s(approx th #s(hole binary64 th)) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 1/2)) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 (+ 1/2 (* -1/4 (pow th 2))))) |
#s(approx (* th th) #s(hole binary64 (pow th 2))) |
#s(approx (* (* 1/2 (* a1 a1)) (cos th)) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* (pow th 2) (+ (* -1/4 (pow a1 2)) (* 1/48 (* (pow a1 2) (pow th 2)))))))) |
#s(approx (* (* 1/2 (* a1 a1)) (cos th)) #s(hole binary64 (+ (* 1/2 (pow a1 2)) (* (pow th 2) (+ (* -1/4 (pow a1 2)) (* (pow th 2) (+ (* -1/1440 (* (pow a1 2) (pow th 2))) (* 1/48 (pow a1 2))))))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(hole binary64 (* 1/2 (* (cos th) (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (cos th) #s(hole binary64 (cos th))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* -1/4 (* (pow th 2) (+ (pow a1 2) (pow a2 2)))))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(hole binary64 (* (pow th 2) (+ (* -1/4 (+ (pow a1 2) (pow a2 2))) (* 1/2 (/ (+ (pow a1 2) (pow a2 2)) (pow th 2))))))) |
#s(approx (* (+ (* -1/4 (* th th)) 1/2) (* a1 a1)) #s(hole binary64 (* -1/4 (* (pow a1 2) (pow th 2))))) |
#s(approx (* (+ (* -1/4 (* th th)) 1/2) (* a1 a1)) #s(hole binary64 (* (pow th 2) (+ (* -1/4 (pow a1 2)) (* 1/2 (/ (pow a1 2) (pow th 2))))))) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 (* -1/4 (pow th 2)))) |
#s(approx (+ (* -1/4 (* th th)) 1/2) #s(hole binary64 (* (pow th 2) (- (* 1/2 (/ 1 (pow th 2))) 1/4)))) |
| Outputs |
|---|
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) #s(literal 2 binary64))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) #s(literal 2 binary64))) |
(*.f64 a2 (/.f64 (*.f64 (cos.f64 th) a2) #s(literal 2 binary64))) |
(/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2)) (neg.f64 #s(literal 2 binary64))) |
(*.f64 (*.f64 (cos.f64 th) a2) a2) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 (cos.f64 th) a2)) |
(*.f64 (cos.f64 th) (*.f64 a2 a2)) |
a2 |
(*.f64 (cos.f64 th) a2) |
(*.f64 a2 (cos.f64 th)) |
(cos.f64 th) |
(cos.f64 (neg.f64 th)) |
(sin.f64 (+.f64 th (/.f64 (PI.f64) #s(literal 2 binary64)))) |
th |
#s(literal 2 binary64) |
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(literal 2 binary64) |
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) |
(sqrt.f64 #s(literal 2 binary64)) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) a1) a1) |
(*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64)) |
#s(literal 1/2 binary64) |
(*.f64 #s(literal 1/2 binary64) #s(literal 1 binary64)) |
(neg.f64 #s(literal -1/2 binary64)) |
(*.f64 a1 a1) |
(*.f64 (fabs.f64 a1) (fabs.f64 a1)) |
(*.f64 (neg.f64 a1) (neg.f64 a1)) |
(*.f64 (pow.f64 a1 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 a1 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64)))) |
(exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64))) |
(pow.f64 a1 #s(literal 2 binary64)) |
a1 |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1))) |
(*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64))) |
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a1) a1) |
(+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 a1 a1))) |
(+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (*.f64 (*.f64 a1 a1) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))) |
(fma.f64 (*.f64 #s(literal 1/2 binary64) a1) a1 (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 a1 a1))) |
(fma.f64 (*.f64 #s(literal 1/2 binary64) a1) a1 (*.f64 (*.f64 a1 a1) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))) |
(fma.f64 #s(literal 1/2 binary64) (*.f64 a1 a1) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 a1 a1))) |
(fma.f64 #s(literal 1/2 binary64) (*.f64 a1 a1) (*.f64 (*.f64 a1 a1) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))) |
(fma.f64 (*.f64 a1 a1) #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 a1 a1))) |
(fma.f64 (*.f64 a1 a1) #s(literal 1/2 binary64) (*.f64 (*.f64 a1 a1) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))) |
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) |
(+.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) #s(literal 1/2 binary64)) |
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/4 binary64) (*.f64 th th))) |
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))) |
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) #s(literal 1/4 binary64)) (-.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) #s(literal 1/2 binary64))) |
(/.f64 (+.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) #s(literal 3 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) #s(literal 1/2 binary64))))) |
(fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) |
(fma.f64 (*.f64 th th) #s(literal -1/4 binary64) #s(literal 1/2 binary64)) |
(fma.f64 (*.f64 #s(literal -1/4 binary64) th) th #s(literal 1/2 binary64)) |
#s(literal -1/4 binary64) |
(*.f64 th th) |
(*.f64 (fabs.f64 th) (fabs.f64 th)) |
(*.f64 (neg.f64 th) (neg.f64 th)) |
(*.f64 (pow.f64 th (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 th (/.f64 #s(literal 2 binary64) #s(literal 2 binary64)))) |
(exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) |
(pow.f64 th #s(literal 2 binary64)) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) |
(*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) #s(literal -1/4 binary64)) |
(*.f64 (*.f64 #s(literal -1/4 binary64) a1) a1) |
(+.f64 (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))) |
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)) |
(/.f64 (neg.f64 (fma.f64 a1 a1 (*.f64 a2 a2))) (neg.f64 #s(literal 2 binary64))) |
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(-.f64 (*.f64 a1 a1) (*.f64 (neg.f64 a2) a2)) |
(/.f64 (-.f64 (*.f64 (*.f64 a1 a1) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (*.f64 a2 a2))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 a1 a1) #s(literal 3 binary64)) (pow.f64 (*.f64 a2 a2) #s(literal 3 binary64))) (fma.f64 (*.f64 a1 a1) (*.f64 a1 a1) (-.f64 (*.f64 (*.f64 a2 a2) (*.f64 a2 a2)) (*.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) |
(fma.f64 a1 a1 (*.f64 a2 a2)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(fma.f64 (fabs.f64 a1) (fabs.f64 a1) (*.f64 a2 a2)) |
(fma.f64 (fabs.f64 a2) (fabs.f64 a2) (*.f64 a1 a1)) |
(fma.f64 (neg.f64 a1) (neg.f64 a1) (*.f64 a2 a2)) |
(fma.f64 (neg.f64 a2) (neg.f64 a2) (*.f64 a1 a1)) |
(fma.f64 (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (*.f64 a1 a1)) |
(fma.f64 (pow.f64 a1 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 a1 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (*.f64 a2 a2)) |
(*.f64 a2 a2) |
(*.f64 (fabs.f64 a2) (fabs.f64 a2)) |
(*.f64 (neg.f64 a2) (neg.f64 a2)) |
(*.f64 (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64))) (pow.f64 a2 (/.f64 #s(literal 2 binary64) #s(literal 2 binary64)))) |
(exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64))) |
(pow.f64 a2 #s(literal 2 binary64)) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th)) |
(*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th))) |
(*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* 1/2 (* a1 a1)) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1))) |
#s(approx (* a1 a1) (*.f64 a1 a1)) |
#s(approx a1 a1) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) #s(literal -1/4 binary64) (fma.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2))))) |
#s(approx (* (+ 1/2 (* (* -1/4 th) th)) (* a1 a1)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* -1/4 (* a1 a1)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) |
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) |
#s(approx (+ (* a1 a1) (* a2 a2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
#s(approx (* (* 1/2 (* a1 a1)) (cos th)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 th) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (*.f64 a1 a1)))) (*.f64 a1 a1))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 a2 a2) (*.f64 a1 a1)) #s(literal 1/2 binary64)) (*.f64 a1 a1))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (+.f64 #s(literal 1/2 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (*.f64 a1 a1)) #s(literal -1/4 binary64) (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (*.f64 a1 a1))))) (*.f64 a1 a1))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) |
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 a1 a1))) |
#s(approx (/ (* a2 (* a2 (cos th))) 2) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) #s(literal 2 binary64))) |
#s(approx (* a2 (* a2 (cos th))) (*.f64 (*.f64 (cos.f64 th) a2) a2)) |
#s(approx a2 a2) |
#s(approx (* a2 (cos th)) (*.f64 (cos.f64 th) a2)) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1)) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 (*.f64 a1 a1) (*.f64 th th)) #s(literal -1/4 binary64) (fma.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1))))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 th) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 a2 a2)))) (*.f64 a2 a2))) |
#s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 a1 a1) (*.f64 a2 a2)) #s(literal 1/2 binary64)) (*.f64 a2 a2))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (+.f64 #s(literal 1/2 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 a1 a1) (*.f64 th th)) (*.f64 a2 a2)) #s(literal -1/4 binary64) (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (*.f64 a2 a2))))) (*.f64 a2 a2))) |
#s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1)) (*.f64 a2 a2)) #s(literal 1/4 binary64)) (*.f64 a2 a2))) |
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (*.f64 a2 a2))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (fma.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 th th)) #s(literal 1/48 binary64) (*.f64 #s(literal -1/4 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 th th)) (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 #s(literal 1/48 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 th th) (*.f64 #s(literal -1/4 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))))) |
#s(approx (/ (* a2 (* a2 (cos th))) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64))) |
#s(approx (/ (* a2 (* a2 (cos th))) 2) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) #s(literal 2 binary64)) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (/ (* a2 (* a2 (cos th))) 2) (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) #s(literal 2 binary64)) #s(literal 1/24 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (/ (* a2 (* a2 (cos th))) 2) (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) #s(literal 2 binary64)) #s(literal -1/720 binary64) (/.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
#s(approx (* a2 (* a2 (cos th))) (fma.f64 a2 a2 (*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 a2 a2) (*.f64 th th))))) |
#s(approx (* a2 (* a2 (cos th))) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 a2 a2) (*.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) #s(literal 1/24 binary64))) (*.f64 th th) (*.f64 a2 a2))) |
#s(approx (* a2 (* a2 (cos th))) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) (*.f64 a2 a2)) (*.f64 th th) (*.f64 #s(literal 1/24 binary64) (*.f64 a2 a2))) (*.f64 th th) (*.f64 #s(literal -1/2 binary64) (*.f64 a2 a2))) (*.f64 th th) (*.f64 a2 a2))) |
#s(approx (* a2 (cos th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) a2) (*.f64 th th) a2)) |
#s(approx (* a2 (cos th)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) a2) (*.f64 th th) (*.f64 #s(literal -1/2 binary64) a2)) (*.f64 th th) a2)) |
#s(approx (* a2 (cos th)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) a2) (*.f64 th th) (*.f64 #s(literal 1/24 binary64) a2)) (*.f64 th th) (*.f64 #s(literal -1/2 binary64) a2)) (*.f64 th th) a2)) |
#s(approx (cos th) #s(literal 1 binary64)) |
#s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) |
#s(approx (cos th) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))) |
#s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))) |
#s(approx th th) |
#s(approx (+ 1/2 (* (* -1/4 th) th)) #s(literal 1/2 binary64)) |
#s(approx (+ 1/2 (* (* -1/4 th) th)) (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64))) |
#s(approx (* th th) (*.f64 th th)) |
#s(approx (* (* 1/2 (* a1 a1)) (cos th)) (fma.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (*.f64 th th)) #s(literal 1/48 binary64) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (* 1/2 (* a1 a1)) (cos th)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 a1 a1)) (*.f64 th th) (*.f64 #s(literal 1/48 binary64) (*.f64 a1 a1))) (*.f64 th th) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))) |
#s(approx (cos th) (cos.f64 th)) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 th th)) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) (*.f64 th th))) (*.f64 th th))) |
#s(approx (* (+ 1/2 (* (* -1/4 th) th)) (* a1 a1)) (*.f64 (*.f64 (*.f64 a1 a1) (*.f64 th th)) #s(literal -1/4 binary64))) |
#s(approx (* (+ 1/2 (* (* -1/4 th) th)) (* a1 a1)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 a1 a1) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 th th))) |
#s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) |
#s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 th th)) #s(literal 1/4 binary64)) (*.f64 th th))) |
Compiled 1 749 to 802 computations (54.1% saved)
33 alts after pruning (29 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 170 | 11 | 181 |
| Fresh | 0 | 18 | 18 |
| Picked | 5 | 0 | 5 |
| Done | 0 | 4 | 4 |
| Total | 175 | 33 | 208 |
| Status | Accuracy | Program |
|---|---|---|
| 46.4% | (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) | |
| 59.3% | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) | |
| ✓ | 99.5% | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| ✓ | 46.4% | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
| 46.4% | (+.f64 (*.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a1) a1) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) | |
| 66.7% | (+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) | |
| 97.9% | (+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) #s(approx (/ (* a1 a1) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) | |
| 59.3% | #s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64))) | |
| 41.2% | #s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) | |
| 59.3% | #s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))) | |
| 13.2% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) | |
| 13.1% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1)) #s(literal 2 binary64)))) | |
| 2.2% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) | |
| 34.1% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) | |
| 66.8% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 #s(literal 2 binary64)))) | |
| 99.5% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64)))) | |
| 59.3% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) #s(literal 2 binary64))) | |
| ✓ | 99.5% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) |
| 66.8% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) | |
| 61.7% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 a2 (*.f64 a2 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))))) (sqrt.f64 #s(literal 2 binary64)))) | |
| 15.7% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) a1) a1))) | |
| ✓ | 46.4% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
| 46.4% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) | |
| 15.7% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) | |
| 42.9% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) | |
| 16.2% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) | |
| 41.4% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a2) a2))) | |
| 16.6% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a1) a1))) | |
| 18.4% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a2 a2)))) | |
| 12.5% | #s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a1 a1)))) | |
| 17.6% | #s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))) | |
| 15.7% | #s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (sin.f64 (+.f64 th (/.f64 (PI.f64) #s(literal 2 binary64)))))) | |
| 16.3% | #s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) |
Compiled 1 249 to 896 computations (28.3% saved)
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) a1) a1))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a1) a1))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a2) a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 a2 (*.f64 a2 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))))) (sqrt.f64 #s(literal 2 binary64)))) |
(+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64)))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a1 a1) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (*.f64 a2 a2))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))) |
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (sin.f64 (+.f64 th (/.f64 (PI.f64) #s(literal 2 binary64)))))) |
(+.f64 (*.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a1) a1) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
(+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) #s(approx (/ (* a1 a1) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
(+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| Outputs |
|---|
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
8 calls:
| 45.0ms | a1 |
| 36.0ms | a2 |
| 25.0ms | th |
| 25.0ms | (*.f64 a1 a1) |
| 22.0ms | (cos.f64 th) |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.5% | 1 | (*.f64 a2 a2) |
| 99.5% | 1 | (*.f64 a1 a1) |
| 99.5% | 1 | (cos.f64 th) |
| 99.5% | 1 | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| 99.5% | 1 | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| 99.5% | 1 | a1 |
| 99.5% | 1 | a2 |
| 99.5% | 1 | th |
Compiled 30 to 40 computations (-33.3% saved)
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) a1) a1))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a1) a1))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a2) a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 a2 (*.f64 a2 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))))) (sqrt.f64 #s(literal 2 binary64)))) |
(+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64)))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a1 a1) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (*.f64 a2 a2))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))) |
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (sin.f64 (+.f64 th (/.f64 (PI.f64) #s(literal 2 binary64)))))) |
(+.f64 (*.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a1) a1) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
(+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) #s(approx (/ (* a1 a1) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
(+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) #s(approx (/ (* (cos th) (* a2 a2)) 2) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
| Outputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) |
8 calls:
| 23.0ms | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| 21.0ms | th |
| 21.0ms | a2 |
| 20.0ms | (cos.f64 th) |
| 18.0ms | a1 |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.5% | 1 | (*.f64 a2 a2) |
| 99.5% | 1 | (*.f64 a1 a1) |
| 99.5% | 1 | (cos.f64 th) |
| 99.5% | 1 | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| 99.5% | 1 | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| 99.5% | 1 | a1 |
| 99.5% | 1 | a2 |
| 99.5% | 1 | th |
Compiled 30 to 40 computations (-33.3% saved)
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) a1) a1))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a1) a1))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a2) a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 a2 (*.f64 a2 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))))) (sqrt.f64 #s(literal 2 binary64)))) |
(+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64)))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a1 a1) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (*.f64 a2 a2))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 #s(literal 2 binary64)))) |
| Outputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64)))) |
8 calls:
| 29.0ms | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| 23.0ms | th |
| 18.0ms | a1 |
| 17.0ms | (cos.f64 th) |
| 13.0ms | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.5% | 1 | (*.f64 a2 a2) |
| 99.5% | 1 | (*.f64 a1 a1) |
| 99.5% | 1 | (cos.f64 th) |
| 99.5% | 1 | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| 99.5% | 1 | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| 99.5% | 1 | a1 |
| 99.5% | 1 | a2 |
| 99.5% | 1 | th |
Compiled 30 to 40 computations (-33.3% saved)
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) a1) a1))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a1) a1))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a2) a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 a2 (*.f64 a2 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))))) (sqrt.f64 #s(literal 2 binary64)))) |
(+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64)))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a1 a1) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (*.f64 a2 a2))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) |
| Outputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
8 calls:
| 51.0ms | th |
| 15.0ms | (*.f64 a1 a1) |
| 11.0ms | a1 |
| 10.0ms | a2 |
| 10.0ms | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 77.8% | 2 | (*.f64 a2 a2) |
| 77.8% | 2 | a2 |
| 70.5% | 2 | (*.f64 a1 a1) |
| 80.0% | 2 | (cos.f64 th) |
| 80.0% | 2 | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| 79.8% | 2 | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| 70.5% | 2 | a1 |
| 79.6% | 2 | th |
Compiled 30 to 40 computations (-33.3% saved)
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) a1) a1))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a1) a1))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a2) a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 a2 (*.f64 a2 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))))) (sqrt.f64 #s(literal 2 binary64)))) |
(+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64)))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a1 a1) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (*.f64 a2 a2))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (cos.f64 th))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (cos.f64 th))) |
| Outputs |
|---|
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
2 calls:
| 9.0ms | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| 9.0ms | (cos.f64 th) |
| Accuracy | Segments | Branch |
|---|---|---|
| 80.0% | 2 | (cos.f64 th) |
| 80.0% | 2 | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
Compiled 7 to 11 computations (-57.1% saved)
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) a1) a1))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a1) a1))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a2) a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 a2 (*.f64 a2 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))))) (sqrt.f64 #s(literal 2 binary64)))) |
(+.f64 #s(approx (/ (* (cos th) (* a1 a1)) 2) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64))) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a1 a1)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(literal -1/4 binary64) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a1) #s(literal 2 binary64)))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) (exp.f64 (*.f64 (log.f64 a2) #s(literal 2 binary64)))))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64))))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal 2 binary64)) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 th th) #s(literal 1/24 binary64)) (*.f64 th th)) #s(literal 1/2 binary64)) (*.f64 th th) #s(literal 1 binary64)))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a1 a1) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (*.f64 a2 a2))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) (*.f64 th th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 (*.f64 #s(approx (* -1/2 (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 a2 a2)) (*.f64 a1 a1)) #s(literal 1/4 binary64)) (*.f64 a1 a1))) th) th (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) (fma.f64 #s(literal -1/2 binary64) (*.f64 th th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))) |
| Outputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a2) a2))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
4 calls:
| 27.0ms | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| 12.0ms | th |
| 9.0ms | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| 8.0ms | (cos.f64 th) |
| Accuracy | Segments | Branch |
|---|---|---|
| 69.8% | 2 | th |
| 78.2% | 2 | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| 77.6% | 2 | (cos.f64 th) |
| 77.6% | 2 | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
Compiled 24 to 26 computations (-8.3% saved)
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) a1) a1))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 th th) #s(literal 1/2 binary64)) a1) a1))) |
| Outputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
1 calls:
| 3.0ms | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 78.2% | 2 | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
Compiled 16 to 12 computations (25% saved)
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) a1) a1))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a1 a1)))) |
| Outputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (+ (* -1/2 (* (/ (+ (* a1 a1) (* a2 a2)) 2) (* th th))) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 #s(approx (+ 1/2 (* (* -1/4 th) th)) (*.f64 #s(literal -1/4 binary64) (*.f64 th th))) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
5 calls:
| 3.0ms | a2 |
| 3.0ms | (cos.f64 th) |
| 3.0ms | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| 2.0ms | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| 2.0ms | (*.f64 a2 a2) |
| Accuracy | Segments | Branch |
|---|---|---|
| 71.0% | 2 | (cos.f64 th) |
| 71.0% | 2 | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| 66.8% | 1 | (*.f64 a2 a2) |
| 66.8% | 1 | a2 |
| 71.5% | 2 | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
Compiled 26 to 30 computations (-15.4% saved)
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) a1) a1))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64))) |
| Outputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) #s(approx (cos th) #s(literal 1 binary64))) (sqrt.f64 #s(literal 2 binary64)))) |
8 calls:
| 3.0ms | a2 |
| 3.0ms | th |
| 3.0ms | a1 |
| 2.0ms | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| 2.0ms | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 66.8% | 1 | (*.f64 a2 a2) |
| 66.8% | 1 | a2 |
| 66.8% | 1 | th |
| 66.8% | 1 | (*.f64 a1 a1) |
| 66.8% | 1 | a1 |
| 66.8% | 1 | (cos.f64 th) |
| 66.8% | 1 | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| 66.8% | 1 | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
Compiled 30 to 40 computations (-33.3% saved)
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 (*.f64 #s(literal 1/2 binary64) a1) a1))) |
#s(approx (/ (* (cos th) (+ (* a1 a1) (* a2 a2))) 2) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2)))) |
| Outputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))) |
8 calls:
| 8.0ms | a2 |
| 3.0ms | (*.f64 a2 a2) |
| 3.0ms | th |
| 2.0ms | a1 |
| 2.0ms | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 46.4% | 1 | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| 46.4% | 1 | (*.f64 a1 a1) |
| 46.4% | 1 | (cos.f64 th) |
| 46.4% | 1 | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| 46.4% | 1 | a1 |
| 46.4% | 1 | th |
| 46.4% | 1 | (*.f64 a2 a2) |
| 46.4% | 1 | a2 |
Compiled 30 to 40 computations (-33.3% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
| Outputs |
|---|
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) #s(approx (/ (+ (* a1 a1) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))) |
8 calls:
| 2.0ms | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| 2.0ms | (cos.f64 th) |
| 1.0ms | (*.f64 a1 a1) |
| 1.0ms | th |
| 1.0ms | a2 |
| Accuracy | Segments | Branch |
|---|---|---|
| 15.7% | 1 | (*.f64 a2 a2) |
| 15.7% | 1 | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))) |
| 15.7% | 1 | a2 |
| 15.7% | 1 | (*.f64 a1 a1) |
| 15.7% | 1 | a1 |
| 15.7% | 1 | (cos.f64 th) |
| 15.7% | 1 | (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) |
| 15.7% | 1 | th |
Compiled 30 to 40 computations (-33.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.5256567221219318 | 0.5302994119824237 |
Compiled 18 to 18 computations (0% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.5256567221219318 | 0.5302994119824237 |
Compiled 18 to 18 computations (0% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -1.611973231430558e-94 | -7.02479238834087e-116 |
Compiled 19 to 18 computations (5.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -1.611973231430558e-94 | -7.02479238834087e-116 |
Compiled 19 to 18 computations (5.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -1.611973231430558e-94 | -7.02479238834087e-116 |
Compiled 19 to 18 computations (5.3% saved)
| 1× | fuel |
Compiled 154 to 79 computations (48.7% saved)
(abs th)
(abs a2)
(abs a1)
Compiled 5 136 to 3 917 computations (23.7% saved)
Loading profile data...