
Time bar (total: 3.2s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 4 |
| 75% | 74.9% | 25% | 0.2% | 0% | 0% | 0% | 5 |
| 75% | 74.9% | 25% | 0.2% | 0% | 0% | 0% | 6 |
| 75% | 74.9% | 25% | 0.2% | 0% | 0% | 0% | 7 |
| 87.5% | 87.3% | 12.5% | 0.2% | 0% | 0% | 0% | 8 |
| 93.8% | 93.6% | 6.2% | 0.2% | 0% | 0% | 0% | 9 |
| 93.8% | 93.6% | 6.2% | 0.2% | 0% | 0% | 0% | 10 |
| 93.8% | 93.6% | 6.2% | 0.2% | 0% | 0% | 0% | 11 |
| 96.9% | 96.7% | 3.1% | 0.2% | 0% | 0% | 0% | 12 |
Compiled 17 to 13 computations (23.5% saved)
| 520.0ms | 8 256× | 0 | valid |
ival-mult!: 150.0ms (65% of total)ival-div!: 47.0ms (20.4% of total)ival-add!: 33.0ms (14.3% of total)adjust: 1.0ms (0.4% of total)Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 229 |
| 1 | 292 | 225 |
| 2 | 951 | 225 |
| 3 | 2562 | 225 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 62.9% | (/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d))) |
Compiled 22 to 22 computations (0% saved)
| Inputs |
|---|
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d))) |
(+.f64 (*.f64 a c) (*.f64 b d)) |
(*.f64 a c) |
a |
c |
(*.f64 b d) |
b |
d |
(+.f64 (*.f64 c c) (*.f64 d d)) |
(*.f64 c c) |
(*.f64 d d) |
| Outputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* b d) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (/ (* a c) (+ (pow c 2) (pow d 2))) (/ (* b d) (+ (pow c 2) (pow d 2)))))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* b d))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (+ (* a c) (* b d)))) |
#s(approx (* a c) #s(hole binary64 (* a c))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* a c) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* a (+ (/ c (+ (pow c 2) (pow d 2))) (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* a (+ c (/ (* b d) a))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* a (+ (* -1 (/ c (+ (pow c 2) (pow d 2)))) (* -1 (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* -1 (* a (+ (* -1 c) (* -1 (/ (* b d) a))))))) |
#s(approx b #s(hole binary64 b)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* b (+ (/ d (+ (pow c 2) (pow d 2))) (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* b (+ d (/ (* a c) b))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ d (+ (pow c 2) (pow d 2)))) (* -1 (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* -1 (* b (+ (* -1 d) (* -1 (/ (* a c) b))))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ b d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (/ b d) (/ (* a c) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* -1 (/ (* b c) (pow d 3))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* c (- (* -1 (/ (* a c) (pow d 4))) (/ b (pow d 3)))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx c #s(hole binary64 c)) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (pow d 2))) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (+ (pow c 2) (pow d 2)))) |
#s(approx (* c c) #s(hole binary64 (pow c 2))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ a c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (/ (* b d) c)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (+ (* -1 (/ (* a (pow d 2)) (pow c 2))) (/ (* b d) c))) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ a (+ (* -1 (/ (* b (pow d 3)) (pow c 3))) (/ (* b d) c))) (/ (* a (pow d 2)) (pow c 2))) c))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* c (+ a (/ (* b d) c))))) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (* (pow c 2) (+ 1 (/ (pow d 2) (pow c 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (* b d) c))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (* a (pow d 2)) c)) (* b d)) c))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (- (/ (* b (pow d 3)) c) (* -1 (* a (pow d 2)))) c)) (* b d)) c))) c)))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* -1 (* c (+ (* -1 a) (* -1 (/ (* b d) c))))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (/ a c) (/ (* b d) (pow c 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* -1 (/ (* a d) (pow c 3))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* d (- (* -1 (/ (* b d) (pow c 4))) (/ a (pow c 3)))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx d #s(hole binary64 d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (/ (* a c) d)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (+ (* -1 (/ (* b (pow c 2)) (pow d 2))) (/ (* a c) d))) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ b (+ (* -1 (/ (* a (pow c 3)) (pow d 3))) (/ (* a c) d))) (/ (* b (pow c 2)) (pow d 2))) d))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* d (+ b (/ (* a c) d))))) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (* (pow d 2) (+ 1 (/ (pow c 2) (pow d 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (* a c) d))) d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (* b (pow c 2)) d)) (* a c)) d))) d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (- (/ (* a (pow c 3)) d) (* -1 (* b (pow c 2)))) d)) (* a c)) d))) d)))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* -1 (* d (+ (* -1 b) (* -1 (/ (* a c) d))))))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | d | @ | inf | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (+ (* a c) (* b d)) (* a c) a c (* b d) b d (+ (* c c) (* d d)) (* c c) (* d d)) |
| 2.0ms | b | @ | inf | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (+ (* a c) (* b d)) (* a c) a c (* b d) b d (+ (* c c) (* d d)) (* c c) (* d d)) |
| 2.0ms | a | @ | inf | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (+ (* a c) (* b d)) (* a c) a c (* b d) b d (+ (* c c) (* d d)) (* c c) (* d d)) |
| 1.0ms | c | @ | -inf | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (+ (* a c) (* b d)) (* a c) a c (* b d) b d (+ (* c c) (* d d)) (* c c) (* d d)) |
| 1.0ms | c | @ | inf | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (+ (* a c) (* b d)) (* a c) a c (* b d) b d (+ (* c c) (* d d)) (* c c) (* d d)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 244 | 1314 |
| 0 | 251 | 1256 |
| 1 | 1733 | 1220 |
| 0 | 8490 | 1102 |
| 1 | 29409 | 1102 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d))) |
(+.f64 (*.f64 a c) (*.f64 b d)) |
(*.f64 a c) |
a |
c |
(*.f64 b d) |
b |
d |
(+.f64 (*.f64 c c) (*.f64 d d)) |
(*.f64 c c) |
(*.f64 d d) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* b d) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (/ (* a c) (+ (pow c 2) (pow d 2))) (/ (* b d) (+ (pow c 2) (pow d 2)))))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* b d))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (+ (* a c) (* b d)))) |
#s(approx (* a c) #s(hole binary64 (* a c))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* a c) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* a (+ (/ c (+ (pow c 2) (pow d 2))) (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* a (+ c (/ (* b d) a))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* a (+ (* -1 (/ c (+ (pow c 2) (pow d 2)))) (* -1 (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* -1 (* a (+ (* -1 c) (* -1 (/ (* b d) a))))))) |
#s(approx b #s(hole binary64 b)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* b (+ (/ d (+ (pow c 2) (pow d 2))) (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* b (+ d (/ (* a c) b))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ d (+ (pow c 2) (pow d 2)))) (* -1 (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* -1 (* b (+ (* -1 d) (* -1 (/ (* a c) b))))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ b d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (/ b d) (/ (* a c) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* -1 (/ (* b c) (pow d 3))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* c (- (* -1 (/ (* a c) (pow d 4))) (/ b (pow d 3)))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx c #s(hole binary64 c)) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (pow d 2))) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (+ (pow c 2) (pow d 2)))) |
#s(approx (* c c) #s(hole binary64 (pow c 2))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ a c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (/ (* b d) c)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (+ (* -1 (/ (* a (pow d 2)) (pow c 2))) (/ (* b d) c))) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ a (+ (* -1 (/ (* b (pow d 3)) (pow c 3))) (/ (* b d) c))) (/ (* a (pow d 2)) (pow c 2))) c))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* c (+ a (/ (* b d) c))))) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (* (pow c 2) (+ 1 (/ (pow d 2) (pow c 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (* b d) c))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (* a (pow d 2)) c)) (* b d)) c))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (- (/ (* b (pow d 3)) c) (* -1 (* a (pow d 2)))) c)) (* b d)) c))) c)))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* -1 (* c (+ (* -1 a) (* -1 (/ (* b d) c))))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (/ a c) (/ (* b d) (pow c 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* -1 (/ (* a d) (pow c 3))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* d (- (* -1 (/ (* b d) (pow c 4))) (/ a (pow c 3)))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx d #s(hole binary64 d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (/ (* a c) d)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (+ (* -1 (/ (* b (pow c 2)) (pow d 2))) (/ (* a c) d))) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ b (+ (* -1 (/ (* a (pow c 3)) (pow d 3))) (/ (* a c) d))) (/ (* b (pow c 2)) (pow d 2))) d))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* d (+ b (/ (* a c) d))))) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (* (pow d 2) (+ 1 (/ (pow c 2) (pow d 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (* a c) d))) d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (* b (pow c 2)) d)) (* a c)) d))) d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (- (/ (* a (pow c 3)) d) (* -1 (* b (pow c 2)))) d)) (* a c)) d))) d)))) |
#s(approx (+ (* a c) (* b d)) #s(hole binary64 (* -1 (* d (+ (* -1 b) (* -1 (/ (* a c) d))))))) |
| Outputs |
|---|
(*.f64 (fma.f64 d b (*.f64 c a)) (/.f64 #s(literal 1 binary64) (fma.f64 d d (*.f64 c c)))) |
(/.f64 (+.f64 (neg.f64 (*.f64 c a)) (neg.f64 (*.f64 d b))) (neg.f64 (fma.f64 d d (*.f64 c c)))) |
(/.f64 (+.f64 (neg.f64 (*.f64 d b)) (neg.f64 (*.f64 c a))) (neg.f64 (fma.f64 d d (*.f64 c c)))) |
(/.f64 (fma.f64 (neg.f64 (*.f64 c a)) (neg.f64 (fma.f64 d d (*.f64 c c))) (*.f64 (neg.f64 (fma.f64 d d (*.f64 c c))) (neg.f64 (*.f64 d b)))) (*.f64 (fma.f64 d d (*.f64 c c)) (fma.f64 d d (*.f64 c c)))) |
(/.f64 (fma.f64 (neg.f64 (*.f64 c a)) (fma.f64 d d (*.f64 c c)) (*.f64 (neg.f64 (fma.f64 d d (*.f64 c c))) (*.f64 d b))) (*.f64 (neg.f64 (fma.f64 d d (*.f64 c c))) (fma.f64 d d (*.f64 c c)))) |
(/.f64 (fma.f64 (*.f64 c a) (neg.f64 (fma.f64 d d (*.f64 c c))) (*.f64 (fma.f64 d d (*.f64 c c)) (neg.f64 (*.f64 d b)))) (*.f64 (fma.f64 d d (*.f64 c c)) (neg.f64 (fma.f64 d d (*.f64 c c))))) |
(/.f64 (fma.f64 (neg.f64 (*.f64 d b)) (neg.f64 (fma.f64 d d (*.f64 c c))) (*.f64 (neg.f64 (fma.f64 d d (*.f64 c c))) (neg.f64 (*.f64 c a)))) (*.f64 (fma.f64 d d (*.f64 c c)) (fma.f64 d d (*.f64 c c)))) |
(/.f64 (fma.f64 (neg.f64 (*.f64 d b)) (fma.f64 d d (*.f64 c c)) (*.f64 (neg.f64 (fma.f64 d d (*.f64 c c))) (*.f64 c a))) (*.f64 (neg.f64 (fma.f64 d d (*.f64 c c))) (fma.f64 d d (*.f64 c c)))) |
(/.f64 (fma.f64 (*.f64 d b) (neg.f64 (fma.f64 d d (*.f64 c c))) (*.f64 (fma.f64 d d (*.f64 c c)) (neg.f64 (*.f64 c a)))) (*.f64 (fma.f64 d d (*.f64 c c)) (neg.f64 (fma.f64 d d (*.f64 c c))))) |
(/.f64 (fma.f64 (*.f64 d b) (fma.f64 d d (*.f64 c c)) (*.f64 (fma.f64 d d (*.f64 c c)) (*.f64 c a))) (*.f64 (fma.f64 d d (*.f64 c c)) (fma.f64 d d (*.f64 c c)))) |
(/.f64 (neg.f64 (fma.f64 (*.f64 c a) (fma.f64 d d (*.f64 c c)) (*.f64 (fma.f64 d d (*.f64 c c)) (*.f64 d b)))) (neg.f64 (*.f64 (fma.f64 d d (*.f64 c c)) (fma.f64 d d (*.f64 c c))))) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 d b (*.f64 c a)))) (neg.f64 (neg.f64 (fma.f64 d d (*.f64 c c))))) |
(/.f64 (fma.f64 (*.f64 c a) (fma.f64 d d (*.f64 c c)) (*.f64 (fma.f64 d d (*.f64 c c)) (*.f64 d b))) (*.f64 (fma.f64 d d (*.f64 c c)) (fma.f64 d d (*.f64 c c)))) |
(/.f64 (neg.f64 (fma.f64 d b (*.f64 c a))) (neg.f64 (fma.f64 d d (*.f64 c c)))) |
(/.f64 (fma.f64 d b (*.f64 c a)) (fma.f64 d d (*.f64 c c))) |
(fma.f64 (*.f64 d b) (/.f64 #s(literal 1 binary64) (fma.f64 d d (*.f64 c c))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
(fma.f64 (*.f64 c a) (/.f64 #s(literal 1 binary64) (fma.f64 d d (*.f64 c c))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
(fma.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
(fma.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
(-.f64 (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c)))) (/.f64 (*.f64 (neg.f64 b) d) (fma.f64 d d (*.f64 c c)))) |
(-.f64 (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c)))) (/.f64 (neg.f64 (*.f64 d b)) (fma.f64 d d (*.f64 c c)))) |
(-.f64 (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c)))) (neg.f64 (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c)))))) |
(+.f64 (/.f64 (*.f64 (*.f64 c a) (fma.f64 d d (*.f64 c c))) (*.f64 (fma.f64 d d (*.f64 c c)) (fma.f64 d d (*.f64 c c)))) (/.f64 (*.f64 (fma.f64 d d (*.f64 c c)) (*.f64 d b)) (*.f64 (fma.f64 d d (*.f64 c c)) (fma.f64 d d (*.f64 c c))))) |
(+.f64 (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c)))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
(+.f64 (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c)))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
(fma.f64 d b (*.f64 c a)) |
(fma.f64 b d (*.f64 c a)) |
(fma.f64 c a (*.f64 d b)) |
(fma.f64 a c (*.f64 d b)) |
(-.f64 (*.f64 c a) (*.f64 (neg.f64 b) d)) |
(-.f64 (*.f64 c a) (neg.f64 (*.f64 d b))) |
(+.f64 (*.f64 d b) (*.f64 c a)) |
(+.f64 (*.f64 c a) (*.f64 d b)) |
(*.f64 c a) |
(*.f64 a c) |
a |
c |
(*.f64 d b) |
(*.f64 b d) |
b |
d |
(fma.f64 (fabs.f64 (fabs.f64 d)) (fabs.f64 (fabs.f64 d)) (*.f64 c c)) |
(fma.f64 (fabs.f64 (fabs.f64 c)) (fabs.f64 (fabs.f64 c)) (*.f64 d d)) |
(fma.f64 (neg.f64 (fabs.f64 d)) (neg.f64 (fabs.f64 d)) (*.f64 c c)) |
(fma.f64 (neg.f64 (neg.f64 d)) (neg.f64 (neg.f64 d)) (*.f64 c c)) |
(fma.f64 (neg.f64 (fabs.f64 c)) (neg.f64 (fabs.f64 c)) (*.f64 d d)) |
(fma.f64 (neg.f64 (neg.f64 c)) (neg.f64 (neg.f64 c)) (*.f64 d d)) |
(fma.f64 (fabs.f64 c) (fabs.f64 c) (*.f64 d d)) |
(fma.f64 (fabs.f64 d) (fabs.f64 d) (*.f64 c c)) |
(fma.f64 (neg.f64 c) (neg.f64 c) (*.f64 d d)) |
(fma.f64 (neg.f64 d) (neg.f64 d) (*.f64 c c)) |
(fma.f64 d d (*.f64 c c)) |
(fma.f64 c c (*.f64 d d)) |
(-.f64 (*.f64 c c) (*.f64 (neg.f64 d) d)) |
(-.f64 (*.f64 c c) (neg.f64 (*.f64 d d))) |
(+.f64 (*.f64 d d) (*.f64 c c)) |
(+.f64 (*.f64 c c) (*.f64 d d)) |
(*.f64 (fabs.f64 (fabs.f64 c)) (fabs.f64 (fabs.f64 c))) |
(*.f64 (neg.f64 (fabs.f64 c)) (neg.f64 (fabs.f64 c))) |
(*.f64 (neg.f64 (neg.f64 c)) (neg.f64 (neg.f64 c))) |
(*.f64 (fabs.f64 c) (fabs.f64 c)) |
(*.f64 (neg.f64 c) (neg.f64 c)) |
(*.f64 c c) |
(pow.f64 (fabs.f64 (fabs.f64 c)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 c)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 c)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 c) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 c) #s(literal 2 binary64)) |
(pow.f64 c #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 c c) (*.f64 c c))) |
(fabs.f64 (neg.f64 (*.f64 c c))) |
(fabs.f64 (*.f64 c c)) |
(*.f64 (fabs.f64 (fabs.f64 d)) (fabs.f64 (fabs.f64 d))) |
(*.f64 (neg.f64 (fabs.f64 d)) (neg.f64 (fabs.f64 d))) |
(*.f64 (neg.f64 (neg.f64 d)) (neg.f64 (neg.f64 d))) |
(*.f64 (fabs.f64 d) (fabs.f64 d)) |
(*.f64 (neg.f64 d) (neg.f64 d)) |
(*.f64 d d) |
(pow.f64 (fabs.f64 (fabs.f64 d)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 d)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 d)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 d) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 d) #s(literal 2 binary64)) |
(pow.f64 d #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 d d) (*.f64 d d))) |
(fabs.f64 (neg.f64 (*.f64 d d))) |
(fabs.f64 (*.f64 d d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 d b (*.f64 c a)) (fma.f64 d d (*.f64 c c)))) |
#s(approx (+ (* a c) (* b d)) (*.f64 d b)) |
#s(approx (+ (* a c) (* b d)) (fma.f64 d b (*.f64 c a))) |
#s(approx (* a c) (*.f64 c a)) |
#s(approx a a) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (/.f64 (fma.f64 b (/.f64 d a) c) (fma.f64 d d (*.f64 c c))) a)) |
#s(approx (+ (* a c) (* b d)) (*.f64 (fma.f64 b (/.f64 d a) c) a)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (neg.f64 a) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 b (/.f64 d a) c) (fma.f64 d d (*.f64 c c)))))) |
#s(approx (+ (* a c) (* b d)) (*.f64 (neg.f64 a) (+.f64 (neg.f64 c) (neg.f64 (/.f64 (*.f64 d b) a))))) |
#s(approx b b) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (/.f64 (fma.f64 a (/.f64 c b) d) (fma.f64 d d (*.f64 c c))) b)) |
#s(approx (+ (* a c) (* b d)) (*.f64 (fma.f64 a (/.f64 c b) d) b)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (neg.f64 b) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a (/.f64 c b) d) (fma.f64 d d (*.f64 c c)))))) |
#s(approx (+ (* a c) (* b d)) (*.f64 (neg.f64 b) (+.f64 (neg.f64 d) (neg.f64 (/.f64 (*.f64 c a) b))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (+.f64 (/.f64 a (*.f64 d d)) (neg.f64 (*.f64 b (/.f64 c (*.f64 (*.f64 d d) d))))) c (/.f64 b d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (fma.f64 (-.f64 (neg.f64 (/.f64 (*.f64 c a) (*.f64 (*.f64 d d) (*.f64 d d)))) (/.f64 b (*.f64 (*.f64 d d) d))) c (/.f64 a (*.f64 d d))) c (/.f64 b d))) |
#s(approx c c) |
#s(approx (+ (* c c) (* d d)) (*.f64 d d)) |
#s(approx (+ (* c c) (* d d)) (fma.f64 d d (*.f64 c c))) |
#s(approx (* c c) (*.f64 c c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (fma.f64 b (/.f64 d c) (/.f64 (*.f64 (neg.f64 a) (*.f64 d d)) (*.f64 c c))) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (+.f64 (fma.f64 b (/.f64 d c) (neg.f64 (*.f64 b (/.f64 (*.f64 (*.f64 d d) d) (*.f64 (*.f64 c c) c))))) a) (/.f64 (*.f64 (*.f64 d d) a) (*.f64 c c))) c)) |
#s(approx (+ (* a c) (* b d)) (*.f64 (fma.f64 b (/.f64 d c) a) c)) |
#s(approx (+ (* c c) (* d d)) (*.f64 (fma.f64 (/.f64 d c) (/.f64 d c) #s(literal 1 binary64)) (*.f64 c c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 d b) c)) (neg.f64 a)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 d b (neg.f64 (/.f64 (*.f64 (*.f64 d d) a) c))) c)) (neg.f64 a)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 d b (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 d d) d) b) c) (*.f64 (neg.f64 a) (*.f64 d d))) c))) c)) (neg.f64 a)) c))) |
#s(approx (+ (* a c) (* b d)) (*.f64 (neg.f64 c) (+.f64 (neg.f64 (/.f64 (*.f64 d b) c)) (neg.f64 a)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 b (/.f64 d (*.f64 c c)) (/.f64 a c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (+.f64 (/.f64 b (*.f64 c c)) (neg.f64 (*.f64 a (/.f64 d (*.f64 (*.f64 c c) c))))) d (/.f64 a c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (fma.f64 (-.f64 (neg.f64 (/.f64 (*.f64 d b) (*.f64 (*.f64 c c) (*.f64 c c)))) (/.f64 a (*.f64 (*.f64 c c) c))) d (/.f64 b (*.f64 c c))) d (/.f64 a c))) |
#s(approx d d) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (fma.f64 a (/.f64 c d) (/.f64 (*.f64 (neg.f64 b) (*.f64 c c)) (*.f64 d d))) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (+.f64 (fma.f64 a (/.f64 c d) (neg.f64 (*.f64 a (/.f64 (*.f64 (*.f64 c c) c) (*.f64 (*.f64 d d) d))))) b) (/.f64 (*.f64 (*.f64 c c) b) (*.f64 d d))) d)) |
#s(approx (+ (* a c) (* b d)) (*.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (+ (* c c) (* d d)) (*.f64 (fma.f64 (/.f64 c d) (/.f64 c d) #s(literal 1 binary64)) (*.f64 d d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 c a (neg.f64 (/.f64 (*.f64 (*.f64 c c) b) d))) d)) (neg.f64 b)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 c a (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 c c) c) a) d) (*.f64 (neg.f64 b) (*.f64 c c))) d))) d)) (neg.f64 b)) d))) |
#s(approx (+ (* a c) (* b d)) (*.f64 (neg.f64 d) (+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)))) |
Compiled 1 174 to 464 computations (60.5% saved)
14 alts after pruning (14 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 111 | 14 | 125 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 112 | 14 | 126 |
| Status | Accuracy | Program |
|---|---|---|
| 62.9% | (/.f64 (fma.f64 d b (*.f64 c a)) (fma.f64 d d (*.f64 c c))) | |
| ▶ | 62.9% | (/.f64 (fma.f64 c a (*.f64 d b)) (+.f64 (*.f64 c c) (*.f64 d d))) |
| 38.0% | (/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) #s(approx (+ (* c c) (* d d)) (*.f64 d d))) | |
| 37.3% | (/.f64 #s(approx (+ (* a c) (* b d)) (*.f64 d b)) (+.f64 (*.f64 c c) (*.f64 d d))) | |
| ▶ | 51.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))) |
| ▶ | 51.8% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
| 56.6% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) | |
| 41.8% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) | |
| ▶ | 41.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
| 55.5% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (/.f64 (fma.f64 b (/.f64 d a) c) (fma.f64 d d (*.f64 c c))) a)) | |
| 40.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) | |
| 44.7% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) | |
| 50.3% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 d b) c)) (neg.f64 a)) c))) | |
| ▶ | 56.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)) d))) |
Compiled 410 to 410 computations (0% saved)
| Inputs |
|---|
(/.f64 (fma.f64 c a (*.f64 d b)) (+.f64 (*.f64 c c) (*.f64 d d))) |
(fma.f64 c a (*.f64 d b)) |
c |
a |
(*.f64 d b) |
d |
b |
(+.f64 (*.f64 c c) (*.f64 d d)) |
(*.f64 c c) |
(*.f64 d d) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
(/.f64 a c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
(/.f64 (fma.f64 b (/.f64 d c) a) c) |
(fma.f64 b (/.f64 d c) a) |
(/.f64 d c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))) |
(fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d)) |
(/.f64 c (*.f64 d d)) |
(/.f64 b d) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)) d))) |
(neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)) d)) |
(/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)) d) |
(+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)) |
(neg.f64 (/.f64 (*.f64 c a) d)) |
(/.f64 (*.f64 c a) d) |
(*.f64 c a) |
(neg.f64 b) |
| Outputs |
|---|
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* b d) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (+ (/ (* a c) (+ (pow c 2) (pow d 2))) (/ (* b d) (+ (pow c 2) (pow d 2)))))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* b d))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (+ (* a c) (* b d)))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (/ a c) #s(hole binary64 (/ a c))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (/ (* b d) (pow c 2)))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (+ (/ a c) (/ (* b d) (pow c 2))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (/ (* b d) c))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (+ a (/ (* b d) c)))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (/ b d))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (+ (/ b d) (/ (* a c) (pow d 2))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (- (/ (* a c) (pow d 2)) (* -1 (/ b d))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* -1 (/ b d)))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (+ (* -1 (/ b d)) (* -1 (/ (* a c) (pow d 2)))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* -1 b))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (- (* -1 (/ (* a c) d)) b))) |
#s(approx (neg (/ (* c a) d)) #s(hole binary64 (* -1 (/ (* a c) d)))) |
#s(approx (/ (* c a) d) #s(hole binary64 (/ (* a c) d))) |
#s(approx (* c a) #s(hole binary64 (* a c))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* a c) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* a (+ (/ c (+ (pow c 2) (pow d 2))) (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* a (+ c (/ (* b d) a))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* a (+ (/ 1 c) (/ (* b d) (* a (pow c 2))))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* a (+ 1 (/ (* b d) (* a c)))))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (/ (* a c) (pow d 2)))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (* a (+ (/ b (* a d)) (/ c (pow d 2)))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (* a (- (/ b (* a d)) (* -1 (/ c (pow d 2))))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* -1 (/ (* a c) (pow d 2))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* a (+ (* -1 (/ b (* a d))) (* -1 (/ c (pow d 2))))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* a (- (* -1 (/ b a)) (/ c d))))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* a (+ (* -1 (/ c (+ (pow c 2) (pow d 2)))) (* -1 (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* -1 (* a (+ (* -1 c) (* -1 (/ (* b d) a))))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (* b d) (* a (pow c 2)))) (/ 1 c)))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* -1 (* a (- (* -1 (/ (* b d) (* a c))) 1))))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (* -1 (* a (+ (* -1 (/ b (* a d))) (* -1 (/ c (pow d 2)))))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (* -1 (* a (- (* -1 (/ b (* a d))) (/ c (pow d 2))))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* -1 (* a (+ (/ b (* a d)) (/ c (pow d 2))))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* -1 (* a (- (/ b a) (* -1 (/ c d))))))) |
#s(approx b #s(hole binary64 b)) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (- (/ b d) (* -1 (/ (* a c) (pow d 2)))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (- (* -1 b) (/ (* a c) d)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* b (+ (/ d (+ (pow c 2) (pow d 2))) (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* b (+ d (/ (* a c) b))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* b (+ (/ a (* b c)) (/ d (pow c 2)))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* b (+ (/ a b) (/ d c))))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (* b (+ (/ 1 d) (/ (* a c) (* b (pow d 2))))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* b (- (* -1 (/ (* a c) (* b (pow d 2)))) (/ 1 d))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* b (- (* -1 (/ (* a c) (* b d))) 1)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ d (+ (pow c 2) (pow d 2)))) (* -1 (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* -1 (* b (+ (* -1 d) (* -1 (/ (* a c) b))))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* -1 (* b (+ (* -1 (/ a (* b c))) (* -1 (/ d (pow c 2)))))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* -1 (* b (+ (* -1 (/ a b)) (* -1 (/ d c))))))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (* -1 (* b (- (* -1 (/ (* a c) (* b (pow d 2)))) (/ 1 d)))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* -1 (* b (+ (/ 1 d) (/ (* a c) (* b (pow d 2)))))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* -1 (* b (+ 1 (/ (* a c) (* b d))))))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* -1 (/ (* b c) (pow d 3))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* c (- (* -1 (/ (* a c) (pow d 4))) (/ b (pow d 3)))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx c #s(hole binary64 c)) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (pow d 2))) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (+ (pow c 2) (pow d 2)))) |
#s(approx (* c c) #s(hole binary64 (pow c 2))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (/ (+ (* a c) (* b d)) (pow c 2)))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (/ (+ (* a c) (* b d)) c))) |
#s(approx (/ d c) #s(hole binary64 (/ d c))) |
#s(approx (/ c (* d d)) #s(hole binary64 (/ c (pow d 2)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (/ (* b d) c)) c))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (+ (* -1 (/ (* a (pow d 2)) (pow c 2))) (/ (* b d) c))) c))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ a (+ (* -1 (/ (* b (pow d 3)) (pow c 3))) (/ (* b d) c))) (/ (* a (pow d 2)) (pow c 2))) c))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* c (+ a (/ (* b d) c))))) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (* (pow c 2) (+ 1 (/ (pow d 2) (pow c 2)))))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (* c (+ (/ a (pow d 2)) (/ b (* c d)))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (* c (- (/ b (* c d)) (* -1 (/ a (pow d 2))))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* c (+ (* -1 (/ a (pow d 2))) (* -1 (/ b (* c d))))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* c (- (* -1 (/ b c)) (/ a d))))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (* b d) c))) c)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (* a (pow d 2)) c)) (* b d)) c))) c)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (- (/ (* b (pow d 3)) c) (* -1 (* a (pow d 2)))) c)) (* b d)) c))) c)))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* -1 (* c (+ (* -1 a) (* -1 (/ (* b d) c))))))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (* -1 (* c (+ (* -1 (/ a (pow d 2))) (* -1 (/ b (* c d)))))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (* -1 (* c (- (* -1 (/ b (* c d))) (/ a (pow d 2))))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* -1 (* c (+ (/ a (pow d 2)) (/ b (* c d))))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* -1 (* c (- (/ b c) (* -1 (/ a d))))))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* -1 (/ (* a d) (pow c 3))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* d (- (* -1 (/ (* b d) (pow c 4))) (/ a (pow c 3)))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx d #s(hole binary64 d)) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (/ (+ (* a c) (* b d)) (pow d 2)))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (/ (- (* b d) (* -1 (* a c))) (pow d 2)))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (/ (+ (* -1 (* a c)) (* -1 (* b d))) (pow d 2)))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (/ (- (* -1 (* b d)) (* a c)) d))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (/ (* a c) d)) d))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (+ (* -1 (/ (* b (pow c 2)) (pow d 2))) (/ (* a c) d))) d))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ b (+ (* -1 (/ (* a (pow c 3)) (pow d 3))) (/ (* a c) d))) (/ (* b (pow c 2)) (pow d 2))) d))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* d (+ b (/ (* a c) d))))) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (* (pow d 2) (+ 1 (/ (pow c 2) (pow d 2)))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* d (+ (/ a (* c d)) (/ b (pow c 2)))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* d (+ (/ a d) (/ b c))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (/ (- (/ (* a c) d) (* -1 b)) d))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (/ (+ (* -1 b) (* -1 (/ (* a c) d))) d))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (* a c) d))) d)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (* b (pow c 2)) d)) (* a c)) d))) d)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (- (/ (* a (pow c 3)) d) (* -1 (* b (pow c 2)))) d)) (* a c)) d))) d)))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* -1 (* d (+ (* -1 b) (* -1 (/ (* a c) d))))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* -1 (* d (+ (* -1 (/ a (* c d))) (* -1 (/ b (pow c 2)))))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* -1 (* d (+ (* -1 (/ a d)) (* -1 (/ b c))))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (* -1 (/ (- (* -1 (/ (* a c) d)) b) d)))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* -1 (/ (+ b (/ (* a c) d)) d)))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 53.0ms | c | @ | 0 | ((/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) (+ (* c a) (* d b)) c a (* d b) d b (+ (* c c) (* d d)) (* c c) (* d d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ a c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* b (/ d c)) a) c) (+ (* b (/ d c)) a) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (+ (* a (/ c (* d d))) (/ b d)) (/ c (* d d)) (/ b d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (/ (+ (neg (/ (* c a) d)) (neg b)) d) (+ (neg (/ (* c a) d)) (neg b)) (neg (/ (* c a) d)) (/ (* c a) d) (* c a) (neg b)) |
| 8.0ms | d | @ | -inf | ((/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) (+ (* c a) (* d b)) c a (* d b) d b (+ (* c c) (* d d)) (* c c) (* d d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ a c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* b (/ d c)) a) c) (+ (* b (/ d c)) a) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (+ (* a (/ c (* d d))) (/ b d)) (/ c (* d d)) (/ b d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (/ (+ (neg (/ (* c a) d)) (neg b)) d) (+ (neg (/ (* c a) d)) (neg b)) (neg (/ (* c a) d)) (/ (* c a) d) (* c a) (neg b)) |
| 5.0ms | b | @ | 0 | ((/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) (+ (* c a) (* d b)) c a (* d b) d b (+ (* c c) (* d d)) (* c c) (* d d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ a c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* b (/ d c)) a) c) (+ (* b (/ d c)) a) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (+ (* a (/ c (* d d))) (/ b d)) (/ c (* d d)) (/ b d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (/ (+ (neg (/ (* c a) d)) (neg b)) d) (+ (neg (/ (* c a) d)) (neg b)) (neg (/ (* c a) d)) (/ (* c a) d) (* c a) (neg b)) |
| 5.0ms | c | @ | -inf | ((/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) (+ (* c a) (* d b)) c a (* d b) d b (+ (* c c) (* d d)) (* c c) (* d d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ a c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* b (/ d c)) a) c) (+ (* b (/ d c)) a) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (+ (* a (/ c (* d d))) (/ b d)) (/ c (* d d)) (/ b d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (/ (+ (neg (/ (* c a) d)) (neg b)) d) (+ (neg (/ (* c a) d)) (neg b)) (neg (/ (* c a) d)) (/ (* c a) d) (* c a) (neg b)) |
| 4.0ms | a | @ | -inf | ((/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) (+ (* c a) (* d b)) c a (* d b) d b (+ (* c c) (* d d)) (* c c) (* d d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ a c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* b (/ d c)) a) c) (+ (* b (/ d c)) a) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (+ (* a (/ c (* d d))) (/ b d)) (/ c (* d d)) (/ b d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (/ (+ (neg (/ (* c a) d)) (neg b)) d) (+ (neg (/ (* c a) d)) (neg b)) (neg (/ (* c a) d)) (/ (* c a) d) (* c a) (neg b)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 472 | 2783 |
| 0 | 501 | 2565 |
| 1 | 3141 | 2549 |
| 0 | 8380 | 2412 |
| 1 | 24848 | 2412 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
(/.f64 (fma.f64 c a (*.f64 d b)) (+.f64 (*.f64 c c) (*.f64 d d))) |
(fma.f64 c a (*.f64 d b)) |
c |
a |
(*.f64 d b) |
d |
b |
(+.f64 (*.f64 c c) (*.f64 d d)) |
(*.f64 c c) |
(*.f64 d d) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
(/.f64 a c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
(/.f64 (fma.f64 b (/.f64 d c) a) c) |
(fma.f64 b (/.f64 d c) a) |
(/.f64 d c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))) |
(fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d)) |
(/.f64 c (*.f64 d d)) |
(/.f64 b d) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)) d))) |
(neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)) d)) |
(/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)) d) |
(+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)) |
(neg.f64 (/.f64 (*.f64 c a) d)) |
(/.f64 (*.f64 c a) d) |
(*.f64 c a) |
(neg.f64 b) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* b d) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (+ (/ (* a c) (+ (pow c 2) (pow d 2))) (/ (* b d) (+ (pow c 2) (pow d 2)))))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* b d))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (+ (* a c) (* b d)))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (/ a c) #s(hole binary64 (/ a c))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (/ (* b d) (pow c 2)))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (+ (/ a c) (/ (* b d) (pow c 2))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (/ (* b d) c))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (+ a (/ (* b d) c)))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (/ b d))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (+ (/ b d) (/ (* a c) (pow d 2))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (- (/ (* a c) (pow d 2)) (* -1 (/ b d))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* -1 (/ b d)))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (+ (* -1 (/ b d)) (* -1 (/ (* a c) (pow d 2)))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* -1 b))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (- (* -1 (/ (* a c) d)) b))) |
#s(approx (neg (/ (* c a) d)) #s(hole binary64 (* -1 (/ (* a c) d)))) |
#s(approx (/ (* c a) d) #s(hole binary64 (/ (* a c) d))) |
#s(approx (* c a) #s(hole binary64 (* a c))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* a c) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* a (+ (/ c (+ (pow c 2) (pow d 2))) (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* a (+ c (/ (* b d) a))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* a (+ (/ 1 c) (/ (* b d) (* a (pow c 2))))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* a (+ 1 (/ (* b d) (* a c)))))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (/ (* a c) (pow d 2)))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (* a (+ (/ b (* a d)) (/ c (pow d 2)))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (* a (- (/ b (* a d)) (* -1 (/ c (pow d 2))))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* -1 (/ (* a c) (pow d 2))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* a (+ (* -1 (/ b (* a d))) (* -1 (/ c (pow d 2))))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* a (- (* -1 (/ b a)) (/ c d))))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* a (+ (* -1 (/ c (+ (pow c 2) (pow d 2)))) (* -1 (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* -1 (* a (+ (* -1 c) (* -1 (/ (* b d) a))))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (* b d) (* a (pow c 2)))) (/ 1 c)))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* -1 (* a (- (* -1 (/ (* b d) (* a c))) 1))))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (* -1 (* a (+ (* -1 (/ b (* a d))) (* -1 (/ c (pow d 2)))))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (* -1 (* a (- (* -1 (/ b (* a d))) (/ c (pow d 2))))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* -1 (* a (+ (/ b (* a d)) (/ c (pow d 2))))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* -1 (* a (- (/ b a) (* -1 (/ c d))))))) |
#s(approx b #s(hole binary64 b)) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (- (/ b d) (* -1 (/ (* a c) (pow d 2)))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (- (* -1 b) (/ (* a c) d)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* b (+ (/ d (+ (pow c 2) (pow d 2))) (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* b (+ d (/ (* a c) b))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* b (+ (/ a (* b c)) (/ d (pow c 2)))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* b (+ (/ a b) (/ d c))))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (* b (+ (/ 1 d) (/ (* a c) (* b (pow d 2))))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* b (- (* -1 (/ (* a c) (* b (pow d 2)))) (/ 1 d))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* b (- (* -1 (/ (* a c) (* b d))) 1)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ d (+ (pow c 2) (pow d 2)))) (* -1 (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* -1 (* b (+ (* -1 d) (* -1 (/ (* a c) b))))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* -1 (* b (+ (* -1 (/ a (* b c))) (* -1 (/ d (pow c 2)))))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* -1 (* b (+ (* -1 (/ a b)) (* -1 (/ d c))))))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (* -1 (* b (- (* -1 (/ (* a c) (* b (pow d 2)))) (/ 1 d)))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* -1 (* b (+ (/ 1 d) (/ (* a c) (* b (pow d 2)))))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* -1 (* b (+ 1 (/ (* a c) (* b d))))))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* -1 (/ (* b c) (pow d 3))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* c (- (* -1 (/ (* a c) (pow d 4))) (/ b (pow d 3)))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx c #s(hole binary64 c)) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (pow d 2))) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (+ (pow c 2) (pow d 2)))) |
#s(approx (* c c) #s(hole binary64 (pow c 2))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (/ (+ (* a c) (* b d)) (pow c 2)))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (/ (+ (* a c) (* b d)) c))) |
#s(approx (/ d c) #s(hole binary64 (/ d c))) |
#s(approx (/ c (* d d)) #s(hole binary64 (/ c (pow d 2)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (/ (* b d) c)) c))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (+ (* -1 (/ (* a (pow d 2)) (pow c 2))) (/ (* b d) c))) c))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ a (+ (* -1 (/ (* b (pow d 3)) (pow c 3))) (/ (* b d) c))) (/ (* a (pow d 2)) (pow c 2))) c))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* c (+ a (/ (* b d) c))))) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (* (pow c 2) (+ 1 (/ (pow d 2) (pow c 2)))))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (* c (+ (/ a (pow d 2)) (/ b (* c d)))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (* c (- (/ b (* c d)) (* -1 (/ a (pow d 2))))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* c (+ (* -1 (/ a (pow d 2))) (* -1 (/ b (* c d))))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* c (- (* -1 (/ b c)) (/ a d))))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (* b d) c))) c)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (* a (pow d 2)) c)) (* b d)) c))) c)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (- (/ (* b (pow d 3)) c) (* -1 (* a (pow d 2)))) c)) (* b d)) c))) c)))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* -1 (* c (+ (* -1 a) (* -1 (/ (* b d) c))))))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (* -1 (* c (+ (* -1 (/ a (pow d 2))) (* -1 (/ b (* c d)))))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (* -1 (* c (- (* -1 (/ b (* c d))) (/ a (pow d 2))))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* -1 (* c (+ (/ a (pow d 2)) (/ b (* c d))))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (* -1 (* c (- (/ b c) (* -1 (/ a d))))))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* -1 (/ (* a d) (pow c 3))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* d (- (* -1 (/ (* b d) (pow c 4))) (/ a (pow c 3)))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx d #s(hole binary64 d)) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) #s(hole binary64 (/ (+ (* a c) (* b d)) (pow d 2)))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (/ (- (* b d) (* -1 (* a c))) (pow d 2)))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (/ (+ (* -1 (* a c)) (* -1 (* b d))) (pow d 2)))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) #s(hole binary64 (/ (- (* -1 (* b d)) (* a c)) d))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (/ (* a c) d)) d))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (+ (* -1 (/ (* b (pow c 2)) (pow d 2))) (/ (* a c) d))) d))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ b (+ (* -1 (/ (* a (pow c 3)) (pow d 3))) (/ (* a c) d))) (/ (* b (pow c 2)) (pow d 2))) d))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* d (+ b (/ (* a c) d))))) |
#s(approx (+ (* c c) (* d d)) #s(hole binary64 (* (pow d 2) (+ 1 (/ (pow c 2) (pow d 2)))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* d (+ (/ a (* c d)) (/ b (pow c 2)))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* d (+ (/ a d) (/ b c))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (/ (- (/ (* a c) d) (* -1 b)) d))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (/ (+ (* -1 b) (* -1 (/ (* a c) d))) d))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (* a c) d))) d)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (* b (pow c 2)) d)) (* a c)) d))) d)))) |
#s(approx (/ (+ (* c a) (* d b)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (- (/ (* a (pow c 3)) d) (* -1 (* b (pow c 2)))) d)) (* a c)) d))) d)))) |
#s(approx (+ (* c a) (* d b)) #s(hole binary64 (* -1 (* d (+ (* -1 b) (* -1 (/ (* a c) d))))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* -1 (* d (+ (* -1 (/ a (* c d))) (* -1 (/ b (pow c 2)))))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* -1 (* d (+ (* -1 (/ a d)) (* -1 (/ b c))))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) #s(hole binary64 (* -1 (/ (- (* -1 (/ (* a c) d)) b) d)))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) #s(hole binary64 (* -1 (/ (+ b (/ (* a c) d)) d)))) |
| Outputs |
|---|
(*.f64 (fma.f64 b d (*.f64 a c)) (/.f64 #s(literal 1 binary64) (fma.f64 d d (*.f64 c c)))) |
(/.f64 (neg.f64 (fma.f64 (*.f64 a c) (fma.f64 d d (*.f64 c c)) (*.f64 (fma.f64 d d (*.f64 c c)) (*.f64 b d)))) (neg.f64 (*.f64 (fma.f64 d d (*.f64 c c)) (fma.f64 d d (*.f64 c c))))) |
(/.f64 (fma.f64 (*.f64 a c) (fma.f64 d d (*.f64 c c)) (*.f64 (fma.f64 d d (*.f64 c c)) (*.f64 b d))) (*.f64 (fma.f64 d d (*.f64 c c)) (fma.f64 d d (*.f64 c c)))) |
(/.f64 (neg.f64 (fma.f64 b d (*.f64 a c))) (neg.f64 (fma.f64 d d (*.f64 c c)))) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 b d (*.f64 a c)))) (neg.f64 (neg.f64 (fma.f64 d d (*.f64 c c))))) |
(/.f64 (fma.f64 b d (*.f64 a c)) (fma.f64 d d (*.f64 c c))) |
(fma.f64 (*.f64 b d) (/.f64 #s(literal 1 binary64) (fma.f64 d d (*.f64 c c))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
(fma.f64 (*.f64 a c) (/.f64 #s(literal 1 binary64) (fma.f64 d d (*.f64 c c))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
(fma.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
(fma.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
(-.f64 (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c)))) (neg.f64 (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c)))))) |
(+.f64 (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c)))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
(+.f64 (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c)))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
(fma.f64 b d (*.f64 a c)) |
(fma.f64 d b (*.f64 a c)) |
(fma.f64 a c (*.f64 b d)) |
(fma.f64 c a (*.f64 b d)) |
(-.f64 (*.f64 a c) (*.f64 (neg.f64 d) b)) |
(-.f64 (*.f64 a c) (*.f64 (neg.f64 b) d)) |
(+.f64 (*.f64 b d) (*.f64 a c)) |
(+.f64 (*.f64 a c) (*.f64 b d)) |
c |
a |
(*.f64 b d) |
(*.f64 d b) |
d |
b |
(fma.f64 (fabs.f64 (fabs.f64 d)) (fabs.f64 (fabs.f64 d)) (*.f64 c c)) |
(fma.f64 (fabs.f64 (fabs.f64 c)) (fabs.f64 (fabs.f64 c)) (*.f64 d d)) |
(fma.f64 (neg.f64 (fabs.f64 d)) (neg.f64 (fabs.f64 d)) (*.f64 c c)) |
(fma.f64 (neg.f64 (neg.f64 d)) (neg.f64 (neg.f64 d)) (*.f64 c c)) |
(fma.f64 (neg.f64 (fabs.f64 c)) (neg.f64 (fabs.f64 c)) (*.f64 d d)) |
(fma.f64 (neg.f64 (neg.f64 c)) (neg.f64 (neg.f64 c)) (*.f64 d d)) |
(fma.f64 (fabs.f64 d) (fabs.f64 d) (*.f64 c c)) |
(fma.f64 (fabs.f64 c) (fabs.f64 c) (*.f64 d d)) |
(fma.f64 (neg.f64 d) (neg.f64 d) (*.f64 c c)) |
(fma.f64 (neg.f64 c) (neg.f64 c) (*.f64 d d)) |
(fma.f64 d d (*.f64 c c)) |
(fma.f64 c c (*.f64 d d)) |
(-.f64 (*.f64 c c) (*.f64 (neg.f64 d) d)) |
(-.f64 (*.f64 c c) (neg.f64 (*.f64 d d))) |
(+.f64 (*.f64 d d) (*.f64 c c)) |
(+.f64 (*.f64 c c) (*.f64 d d)) |
(*.f64 (fabs.f64 (fabs.f64 c)) (fabs.f64 (fabs.f64 c))) |
(*.f64 (neg.f64 (fabs.f64 c)) (neg.f64 (fabs.f64 c))) |
(*.f64 (neg.f64 (neg.f64 c)) (neg.f64 (neg.f64 c))) |
(*.f64 (fabs.f64 c) (fabs.f64 c)) |
(*.f64 (neg.f64 c) (neg.f64 c)) |
(*.f64 c c) |
(pow.f64 (fabs.f64 (fabs.f64 c)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 c)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 c)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 c) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 c) #s(literal 2 binary64)) |
(pow.f64 c #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 c c) (*.f64 c c))) |
(fabs.f64 (neg.f64 (*.f64 c c))) |
(fabs.f64 (*.f64 c c)) |
(*.f64 (fabs.f64 (fabs.f64 d)) (fabs.f64 (fabs.f64 d))) |
(*.f64 (neg.f64 (fabs.f64 d)) (neg.f64 (fabs.f64 d))) |
(*.f64 (neg.f64 (neg.f64 d)) (neg.f64 (neg.f64 d))) |
(*.f64 (fabs.f64 d) (fabs.f64 d)) |
(*.f64 (neg.f64 d) (neg.f64 d)) |
(*.f64 d d) |
(pow.f64 (fabs.f64 (fabs.f64 d)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 d)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 d)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 d) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 d) #s(literal 2 binary64)) |
(pow.f64 d #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 d d) (*.f64 d d))) |
(fabs.f64 (neg.f64 (*.f64 d d))) |
(fabs.f64 (*.f64 d d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
(*.f64 a (/.f64 #s(literal 1 binary64) c)) |
(/.f64 (neg.f64 (neg.f64 a)) (neg.f64 (neg.f64 c))) |
(/.f64 (neg.f64 a) (neg.f64 c)) |
(/.f64 a c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (/.f64 d c) b a) c)) |
(*.f64 (fma.f64 (/.f64 d c) b a) (/.f64 #s(literal 1 binary64) c)) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 (/.f64 d c) b a))) (neg.f64 (neg.f64 c))) |
(/.f64 (neg.f64 (fma.f64 (/.f64 d c) b a)) (neg.f64 c)) |
(/.f64 (fma.f64 (/.f64 d c) b a) c) |
(fma.f64 a (/.f64 #s(literal 1 binary64) c) (/.f64 (*.f64 (/.f64 d c) b) c)) |
(+.f64 (/.f64 (*.f64 (/.f64 d c) b) c) (/.f64 a c)) |
(+.f64 (/.f64 a c) (/.f64 (*.f64 (/.f64 d c) b) c)) |
(fma.f64 (/.f64 d c) b a) |
(fma.f64 (*.f64 b d) (/.f64 #s(literal 1 binary64) c) a) |
(fma.f64 b (/.f64 d c) a) |
(-.f64 (*.f64 (/.f64 d c) b) (neg.f64 a)) |
(-.f64 a (/.f64 (*.f64 (neg.f64 b) d) c)) |
(+.f64 (*.f64 (/.f64 d c) b) a) |
(+.f64 a (*.f64 (/.f64 d c) b)) |
(*.f64 d (/.f64 #s(literal 1 binary64) c)) |
(/.f64 (neg.f64 (neg.f64 d)) (neg.f64 (neg.f64 c))) |
(/.f64 (neg.f64 d) (neg.f64 c)) |
(/.f64 d c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (/.f64 c (*.f64 d d)) a (/.f64 b d))) |
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 a) c) d) (*.f64 (neg.f64 (*.f64 d d)) (neg.f64 b))) (*.f64 (neg.f64 (*.f64 d d)) d)) |
(/.f64 (-.f64 (*.f64 (*.f64 a c) d) (*.f64 (*.f64 d d) (neg.f64 b))) (*.f64 (*.f64 d d) d)) |
(/.f64 (-.f64 (*.f64 (neg.f64 b) (*.f64 d d)) (*.f64 (neg.f64 d) (*.f64 (neg.f64 a) c))) (*.f64 (neg.f64 d) (*.f64 d d))) |
(/.f64 (-.f64 (*.f64 (*.f64 d d) b) (*.f64 d (*.f64 (neg.f64 a) c))) (*.f64 (*.f64 d d) d)) |
(/.f64 (neg.f64 (fma.f64 (*.f64 d d) b (*.f64 d (*.f64 a c)))) (*.f64 (neg.f64 d) (*.f64 d d))) |
(/.f64 (fma.f64 (*.f64 d d) b (*.f64 d (*.f64 a c))) (*.f64 (*.f64 d d) d)) |
(neg.f64 (-.f64 (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d)) (/.f64 b d))) |
(neg.f64 (-.f64 (/.f64 (neg.f64 b) d) (*.f64 (/.f64 c (*.f64 d d)) a))) |
(fma.f64 (/.f64 c (*.f64 d d)) a (*.f64 #s(literal 1 binary64) (/.f64 b d))) |
(fma.f64 (/.f64 c (*.f64 d d)) a (neg.f64 (/.f64 (neg.f64 b) d))) |
(fma.f64 (/.f64 c (*.f64 d d)) a (/.f64 b d)) |
(fma.f64 (*.f64 a c) (/.f64 #s(literal 1 binary64) (*.f64 d d)) (*.f64 #s(literal 1 binary64) (/.f64 b d))) |
(fma.f64 (*.f64 a c) (/.f64 #s(literal 1 binary64) (*.f64 d d)) (neg.f64 (/.f64 (neg.f64 b) d))) |
(fma.f64 (*.f64 a c) (/.f64 #s(literal 1 binary64) (*.f64 d d)) (/.f64 b d)) |
(fma.f64 b (/.f64 #s(literal 1 binary64) d) (*.f64 #s(literal 1 binary64) (*.f64 (/.f64 c (*.f64 d d)) a))) |
(fma.f64 b (/.f64 #s(literal 1 binary64) d) (neg.f64 (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d)))) |
(fma.f64 b (/.f64 #s(literal 1 binary64) d) (*.f64 (/.f64 c (*.f64 d d)) a)) |
(fma.f64 a (/.f64 c (*.f64 d d)) (*.f64 #s(literal 1 binary64) (/.f64 b d))) |
(fma.f64 a (/.f64 c (*.f64 d d)) (neg.f64 (/.f64 (neg.f64 b) d))) |
(fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d)) |
(-.f64 (*.f64 (/.f64 c (*.f64 d d)) a) (/.f64 (neg.f64 b) d)) |
(-.f64 (/.f64 b d) (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d))) |
(+.f64 (*.f64 (/.f64 c (*.f64 d d)) a) (*.f64 #s(literal 1 binary64) (/.f64 b d))) |
(+.f64 (*.f64 (/.f64 c (*.f64 d d)) a) (neg.f64 (/.f64 (neg.f64 b) d))) |
(+.f64 (*.f64 (/.f64 c (*.f64 d d)) a) (/.f64 b d)) |
(+.f64 (/.f64 b d) (*.f64 #s(literal 1 binary64) (*.f64 (/.f64 c (*.f64 d d)) a))) |
(+.f64 (/.f64 b d) (neg.f64 (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d)))) |
(+.f64 (/.f64 b d) (*.f64 (/.f64 c (*.f64 d d)) a)) |
(*.f64 c (/.f64 #s(literal 1 binary64) (*.f64 d d))) |
(/.f64 (neg.f64 (neg.f64 c)) (neg.f64 (neg.f64 (*.f64 d d)))) |
(/.f64 (neg.f64 c) (neg.f64 (*.f64 d d))) |
(/.f64 (/.f64 (neg.f64 c) d) (neg.f64 d)) |
(/.f64 (/.f64 c d) d) |
(/.f64 c (*.f64 d d)) |
(*.f64 b (/.f64 #s(literal 1 binary64) d)) |
(/.f64 (neg.f64 (neg.f64 b)) (neg.f64 (neg.f64 d))) |
(/.f64 (neg.f64 b) (neg.f64 d)) |
(/.f64 b d) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
(*.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) (/.f64 #s(literal 1 binary64) d)) |
(*.f64 (fma.f64 a (/.f64 c d) b) (/.f64 #s(literal 1 binary64) d)) |
(*.f64 #s(literal -1 binary64) (/.f64 (neg.f64 (fma.f64 a (/.f64 c d) b)) d)) |
(*.f64 (/.f64 (neg.f64 (fma.f64 a (/.f64 c d) b)) d) #s(literal -1 binary64)) |
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 a c) d) d) (*.f64 d (neg.f64 b))) (*.f64 d d)) |
(/.f64 (neg.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (fma.f64 a (/.f64 c d) b)))) (neg.f64 d)) |
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (fma.f64 a (/.f64 c d) b))) d) |
(/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) (neg.f64 (neg.f64 d))) |
(/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) d) |
(/.f64 (fma.f64 a (/.f64 c d) b) d) |
(/.f64 (neg.f64 (fma.f64 a (/.f64 c d) b)) (neg.f64 d)) |
(neg.f64 (/.f64 (neg.f64 (fma.f64 a (/.f64 c d) b)) d)) |
(fma.f64 b (/.f64 #s(literal 1 binary64) d) (/.f64 (/.f64 (*.f64 a c) d) d)) |
(-.f64 (/.f64 (/.f64 (*.f64 a c) d) d) (/.f64 (neg.f64 b) d)) |
(+.f64 (/.f64 b d) (/.f64 (/.f64 (*.f64 a c) d) d)) |
(*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
(*.f64 (/.f64 (fma.f64 a (/.f64 c d) b) d) #s(literal -1 binary64)) |
(*.f64 (neg.f64 (fma.f64 a (/.f64 c d) b)) (/.f64 #s(literal 1 binary64) d)) |
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (neg.f64 a) c) d) (neg.f64 d)) (*.f64 d (neg.f64 b))) (*.f64 d (neg.f64 d))) |
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (neg.f64 a) c) d) d) (*.f64 b d)) (*.f64 d d)) |
(/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) (neg.f64 d)) |
(/.f64 (neg.f64 (fma.f64 a (/.f64 c d) b)) (neg.f64 (neg.f64 d))) |
(/.f64 (neg.f64 (fma.f64 a (/.f64 c d) b)) d) |
(neg.f64 (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
(fma.f64 #s(literal -1 binary64) (/.f64 b d) (/.f64 (/.f64 (*.f64 (neg.f64 a) c) d) d)) |
(fma.f64 (/.f64 b d) #s(literal -1 binary64) (/.f64 (/.f64 (*.f64 (neg.f64 a) c) d) d)) |
(-.f64 (/.f64 (/.f64 (*.f64 (neg.f64 a) c) d) d) (/.f64 b d)) |
(+.f64 (/.f64 (/.f64 (*.f64 (neg.f64 a) c) d) d) (/.f64 (neg.f64 b) d)) |
(+.f64 (/.f64 (neg.f64 b) d) (/.f64 (/.f64 (*.f64 (neg.f64 a) c) d) d)) |
(*.f64 #s(literal -1 binary64) (fma.f64 a (/.f64 c d) b)) |
(neg.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b))) |
(neg.f64 (fma.f64 a (/.f64 c d) b)) |
(fma.f64 (/.f64 (*.f64 a c) d) #s(literal -1 binary64) (neg.f64 b)) |
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a c) d) (neg.f64 b)) |
(fma.f64 #s(literal -1 binary64) b (/.f64 (*.f64 (neg.f64 a) c) d)) |
(fma.f64 b #s(literal -1 binary64) (/.f64 (*.f64 (neg.f64 a) c) d)) |
(-.f64 (/.f64 (*.f64 (neg.f64 a) c) d) (neg.f64 (neg.f64 b))) |
(-.f64 (/.f64 (*.f64 (neg.f64 a) c) d) b) |
(-.f64 (neg.f64 b) (*.f64 #s(literal 1 binary64) (/.f64 (*.f64 a c) d))) |
(-.f64 (neg.f64 b) (neg.f64 (/.f64 (*.f64 (neg.f64 a) c) d))) |
(-.f64 (neg.f64 b) (/.f64 (*.f64 a c) d)) |
(+.f64 (/.f64 (*.f64 (neg.f64 a) c) d) (neg.f64 b)) |
(+.f64 (neg.f64 b) (/.f64 (*.f64 (neg.f64 a) c) d)) |
(*.f64 (/.f64 (*.f64 a c) d) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a c) d)) |
(/.f64 (neg.f64 (*.f64 (neg.f64 a) c)) (neg.f64 d)) |
(/.f64 (*.f64 (neg.f64 a) c) (neg.f64 (neg.f64 d))) |
(/.f64 (*.f64 (neg.f64 a) c) d) |
(/.f64 (*.f64 a c) (neg.f64 d)) |
(neg.f64 (/.f64 (*.f64 a c) d)) |
(*.f64 (*.f64 a c) (/.f64 #s(literal 1 binary64) d)) |
(*.f64 a (/.f64 c d)) |
(*.f64 c (/.f64 a d)) |
(/.f64 (neg.f64 (*.f64 (neg.f64 a) c)) (neg.f64 (neg.f64 d))) |
(/.f64 (*.f64 (neg.f64 a) c) (neg.f64 d)) |
(/.f64 (*.f64 a c) d) |
(*.f64 a c) |
(*.f64 c a) |
(*.f64 #s(literal -1 binary64) b) |
(*.f64 b #s(literal -1 binary64)) |
(neg.f64 b) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b d (*.f64 a c)) (fma.f64 d d (*.f64 c c)))) |
#s(approx (+ (* c a) (* d b)) (*.f64 b d)) |
#s(approx (+ (* c a) (* d b)) (fma.f64 b d (*.f64 a c))) |
#s(approx a a) |
#s(approx (/ a c) (/.f64 a c)) |
#s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 b (/.f64 d (*.f64 c c)))) |
#s(approx (/ (+ (* b (/ d c)) a) c) (fma.f64 b (/.f64 d (*.f64 c c)) (/.f64 a c))) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) |
#s(approx (+ (* b (/ d c)) a) (fma.f64 (/.f64 d c) b a)) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) (/.f64 b d)) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) (fma.f64 (/.f64 c (*.f64 d d)) a (/.f64 b d))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (fma.f64 (/.f64 c (*.f64 d d)) a (/.f64 b d))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (neg.f64 b) d)) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (+.f64 (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d)) (/.f64 (neg.f64 b) d))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) (neg.f64 b)) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) (neg.f64 (fma.f64 a (/.f64 c d) b))) |
#s(approx (neg (/ (* c a) d)) (/.f64 (*.f64 (neg.f64 a) c) d)) |
#s(approx (/ (* c a) d) (/.f64 (*.f64 a c) d)) |
#s(approx (* c a) (*.f64 a c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 b (/.f64 d (*.f64 (fma.f64 d d (*.f64 c c)) a)) (/.f64 c (fma.f64 d d (*.f64 c c)))) a)) |
#s(approx (+ (* c a) (* d b)) (*.f64 (fma.f64 b (/.f64 d a) c) a)) |
#s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 (fma.f64 b (/.f64 d (*.f64 (*.f64 c c) a)) (/.f64 #s(literal 1 binary64) c)) a)) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (fma.f64 b (/.f64 d (*.f64 a c)) #s(literal 1 binary64)) a)) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (/.f64 c (*.f64 d d)) a)) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (+.f64 (/.f64 c (*.f64 d d)) (/.f64 b (*.f64 d a))) a)) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (*.f64 (+.f64 (/.f64 c (*.f64 d d)) (/.f64 b (*.f64 d a))) a)) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (*.f64 (-.f64 (/.f64 (neg.f64 b) (*.f64 d a)) (/.f64 c (*.f64 d d))) a)) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) (*.f64 (-.f64 (/.f64 (neg.f64 b) a) (/.f64 c d)) a)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (neg.f64 a) (+.f64 (/.f64 (*.f64 (neg.f64 b) d) (*.f64 (fma.f64 d d (*.f64 c c)) a)) (/.f64 (neg.f64 c) (fma.f64 d d (*.f64 c c)))))) |
#s(approx (+ (* c a) (* d b)) (*.f64 (neg.f64 a) (+.f64 (neg.f64 c) (/.f64 (*.f64 (neg.f64 b) d) a)))) |
#s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 (neg.f64 a) (neg.f64 (fma.f64 b (/.f64 d (*.f64 (*.f64 c c) a)) (/.f64 #s(literal 1 binary64) c))))) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (neg.f64 a) (neg.f64 (fma.f64 b (/.f64 d (*.f64 a c)) #s(literal 1 binary64))))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (neg.f64 a) (-.f64 (/.f64 (neg.f64 b) (*.f64 d a)) (/.f64 c (*.f64 d d))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (*.f64 (neg.f64 a) (-.f64 (/.f64 (neg.f64 b) (*.f64 d a)) (/.f64 c (*.f64 d d))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (*.f64 (neg.f64 a) (+.f64 (/.f64 c (*.f64 d d)) (/.f64 b (*.f64 d a))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) (*.f64 (neg.f64 a) (-.f64 (/.f64 b a) (/.f64 (neg.f64 c) d)))) |
#s(approx b b) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (fma.f64 (/.f64 c (*.f64 d d)) a (/.f64 b d))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) (neg.f64 (fma.f64 a (/.f64 c d) b))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 a (/.f64 c (*.f64 (fma.f64 d d (*.f64 c c)) b)) (/.f64 d (fma.f64 d d (*.f64 c c)))) b)) |
#s(approx (+ (* c a) (* d b)) (*.f64 (fma.f64 a (/.f64 c b) d) b)) |
#s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 (+.f64 (/.f64 d (*.f64 c c)) (/.f64 a (*.f64 b c))) b)) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 a b) (/.f64 d c)) b)) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (fma.f64 a (/.f64 c (*.f64 (*.f64 d d) b)) (/.f64 #s(literal 1 binary64) d)) b)) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (*.f64 (neg.f64 (fma.f64 a (/.f64 c (*.f64 (*.f64 d d) b)) (/.f64 #s(literal 1 binary64) d))) b)) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) (*.f64 (neg.f64 (fma.f64 a (/.f64 c (*.f64 b d)) #s(literal 1 binary64))) b)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (neg.f64 b) (+.f64 (/.f64 (*.f64 (neg.f64 a) c) (*.f64 (fma.f64 d d (*.f64 c c)) b)) (/.f64 (neg.f64 d) (fma.f64 d d (*.f64 c c)))))) |
#s(approx (+ (* c a) (* d b)) (*.f64 (neg.f64 b) (+.f64 (neg.f64 d) (/.f64 (*.f64 (neg.f64 a) c) b)))) |
#s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 (neg.f64 b) (+.f64 (/.f64 (neg.f64 d) (*.f64 c c)) (/.f64 (neg.f64 a) (*.f64 b c))))) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (neg.f64 b) (+.f64 (/.f64 (neg.f64 d) c) (/.f64 (neg.f64 a) b)))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (neg.f64 b) (neg.f64 (fma.f64 a (/.f64 c (*.f64 (*.f64 d d) b)) (/.f64 #s(literal 1 binary64) d))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (*.f64 (neg.f64 b) (fma.f64 a (/.f64 c (*.f64 (*.f64 d d) b)) (/.f64 #s(literal 1 binary64) d)))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) (*.f64 (neg.f64 b) (fma.f64 a (/.f64 c (*.f64 b d)) #s(literal 1 binary64)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (+.f64 (/.f64 a (*.f64 d d)) (neg.f64 (*.f64 b (/.f64 c (*.f64 (*.f64 d d) d))))) c (/.f64 b d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 (neg.f64 a) c) (*.f64 (*.f64 d d) (*.f64 d d))) (/.f64 b (*.f64 (*.f64 d d) d))) c (/.f64 a (*.f64 d d))) c (/.f64 b d))) |
#s(approx c c) |
#s(approx (+ (* c c) (* d d)) (*.f64 d d)) |
#s(approx (+ (* c c) (* d d)) (fma.f64 d d (*.f64 c c))) |
#s(approx (* c c) (*.f64 c c)) |
#s(approx (/ (+ (* b (/ d c)) a) c) (/.f64 (fma.f64 b d (*.f64 a c)) (*.f64 c c))) |
#s(approx (+ (* b (/ d c)) a) (/.f64 (fma.f64 b d (*.f64 a c)) c)) |
#s(approx (/ d c) (/.f64 d c)) |
#s(approx (/ c (* d d)) (/.f64 c (*.f64 d d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (/.f64 d c) b a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (fma.f64 (/.f64 d c) b (/.f64 (*.f64 (neg.f64 a) (*.f64 d d)) (*.f64 c c))) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (+.f64 (fma.f64 (/.f64 d c) b (neg.f64 (*.f64 b (/.f64 (*.f64 (*.f64 d d) d) (*.f64 (*.f64 c c) c))))) a) (/.f64 (*.f64 (*.f64 d d) a) (*.f64 c c))) c)) |
#s(approx (+ (* c a) (* d b)) (*.f64 (fma.f64 (/.f64 d c) b a) c)) |
#s(approx (+ (* c c) (* d d)) (*.f64 (fma.f64 (/.f64 d c) (/.f64 d c) #s(literal 1 binary64)) (*.f64 c c))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (+.f64 (/.f64 b (*.f64 d c)) (/.f64 a (*.f64 d d))) c)) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (*.f64 (-.f64 (/.f64 b (*.f64 d c)) (/.f64 (neg.f64 a) (*.f64 d d))) c)) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (*.f64 (-.f64 (/.f64 (neg.f64 b) (*.f64 d c)) (/.f64 a (*.f64 d d))) c)) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) (*.f64 (-.f64 (/.f64 (neg.f64 b) c) (/.f64 a d)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (/.f64 (*.f64 (neg.f64 b) d) c) (neg.f64 a)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 b d (neg.f64 (/.f64 (*.f64 (*.f64 d d) a) c))) c)) (neg.f64 a)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 b d (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 d d) d) b) c) (*.f64 (neg.f64 a) (*.f64 d d))) c))) c)) (neg.f64 a)) c))) |
#s(approx (+ (* c a) (* d b)) (*.f64 (neg.f64 c) (+.f64 (/.f64 (*.f64 (neg.f64 b) d) c) (neg.f64 a)))) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (neg.f64 c) (-.f64 (/.f64 (neg.f64 b) (*.f64 d c)) (/.f64 a (*.f64 d d))))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (*.f64 (neg.f64 c) (-.f64 (/.f64 (neg.f64 b) (*.f64 d c)) (/.f64 a (*.f64 d d))))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (*.f64 (neg.f64 c) (+.f64 (/.f64 b (*.f64 d c)) (/.f64 a (*.f64 d d))))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) (*.f64 (neg.f64 c) (-.f64 (/.f64 b c) (/.f64 (neg.f64 a) d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (+.f64 (/.f64 b (*.f64 c c)) (neg.f64 (*.f64 a (/.f64 d (*.f64 (*.f64 c c) c))))) d (/.f64 a c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 (neg.f64 b) d) (*.f64 (*.f64 c c) (*.f64 c c))) (/.f64 a (*.f64 (*.f64 c c) c))) d (/.f64 b (*.f64 c c))) d (/.f64 a c))) |
#s(approx d d) |
#s(approx (+ (* a (/ c (* d d))) (/ b d)) (/.f64 (fma.f64 b d (*.f64 a c)) (*.f64 d d))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (/.f64 (-.f64 (*.f64 b d) (*.f64 (neg.f64 a) c)) (*.f64 d d))) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (neg.f64 (fma.f64 b d (*.f64 a c))) (*.f64 d d))) |
#s(approx (+ (neg (/ (* c a) d)) (neg b)) (/.f64 (neg.f64 (fma.f64 b d (*.f64 a c))) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (fma.f64 a (/.f64 c d) (/.f64 (*.f64 (neg.f64 b) (*.f64 c c)) (*.f64 d d))) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (+.f64 (fma.f64 a (/.f64 c d) (neg.f64 (*.f64 a (/.f64 (*.f64 (*.f64 c c) c) (*.f64 (*.f64 d d) d))))) b) (/.f64 (*.f64 (*.f64 c c) b) (*.f64 d d))) d)) |
#s(approx (+ (* c a) (* d b)) (*.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (+ (* c c) (* d d)) (*.f64 (fma.f64 (/.f64 c d) (/.f64 c d) #s(literal 1 binary64)) (*.f64 d d))) |
#s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 (+.f64 (/.f64 a (*.f64 d c)) (/.f64 b (*.f64 c c))) d)) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 a d) (/.f64 b c)) d)) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (neg.f64 (fma.f64 a (/.f64 c d) b)) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 a c (neg.f64 (/.f64 (*.f64 (*.f64 c c) b) d))) d)) (neg.f64 b)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 a c (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 c c) c) a) d) (*.f64 (neg.f64 b) (*.f64 c c))) d))) d)) (neg.f64 b)) d))) |
#s(approx (+ (* c a) (* d b)) (*.f64 (neg.f64 d) (neg.f64 (fma.f64 a (/.f64 c d) b)))) |
#s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 (neg.f64 d) (+.f64 (/.f64 (neg.f64 b) (*.f64 c c)) (/.f64 (neg.f64 a) (*.f64 d c))))) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (neg.f64 d) (-.f64 (/.f64 (neg.f64 b) c) (/.f64 a d)))) |
#s(approx (neg (/ (+ (neg (/ (* c a) d)) (neg b)) d)) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (neg.f64 (fma.f64 a (/.f64 c d) b)) d)) |
Compiled 2 662 to 1 162 computations (56.3% saved)
18 alts after pruning (15 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 294 | 11 | 305 |
| Fresh | 5 | 4 | 9 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 0 | 0 |
| Total | 301 | 18 | 319 |
| Status | Accuracy | Program |
|---|---|---|
| 38.0% | (/.f64 (fma.f64 c a (*.f64 d b)) #s(approx (+ (* c c) (* d d)) (*.f64 d d))) | |
| ✓ | 51.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))) |
| ✓ | 51.8% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
| ▶ | 56.6% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
| 56.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) d)) | |
| ▶ | 50.3% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 a (/.f64 (*.f64 (neg.f64 b) d) c)) c)) |
| 51.8% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c)) | |
| ▶ | 21.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c)) |
| 44.3% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 a d) (/.f64 b c)) d)) c)) | |
| ▶ | 41.8% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
| ✓ | 41.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
| 51.7% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 (/.f64 d c) b a) (/.f64 #s(literal 1 binary64) c))) | |
| 40.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) | |
| ▶ | 44.7% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
| 23.4% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 #s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d))))) | |
| 34.9% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (/.f64 (fma.f64 b d (*.f64 a c)) (*.f64 c c)))) | |
| 19.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 b (/.f64 d (*.f64 c c))))) | |
| 23.5% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (/.f64 c (*.f64 d d)) a))) |
Compiled 574 to 572 computations (0.3% saved)
| Inputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
(/.f64 (fma.f64 a (/.f64 c d) b) d) |
(fma.f64 a (/.f64 c d) b) |
a |
(/.f64 c d) |
c |
d |
b |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
(/.f64 b d) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c)) |
(/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) |
(*.f64 (/.f64 d c) b) |
(/.f64 d c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 a (/.f64 (*.f64 (neg.f64 b) d) c)) c)) |
(/.f64 (-.f64 a (/.f64 (*.f64 (neg.f64 b) d) c)) c) |
(-.f64 a (/.f64 (*.f64 (neg.f64 b) d) c)) |
(/.f64 (*.f64 (neg.f64 b) d) c) |
(*.f64 (neg.f64 b) d) |
(neg.f64 b) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
(*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c)))) |
(/.f64 c (fma.f64 d d (*.f64 c c))) |
(fma.f64 d d (*.f64 c c)) |
(*.f64 c c) |
| Outputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* b d) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (/ (* a c) (+ (pow c 2) (pow d 2))) (/ (* b d) (+ (pow c 2) (pow d 2)))))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (/ b d))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (+ (/ b d) (/ (* a c) (pow d 2))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 b)) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (+ b (/ (* a c) d)))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (/ (* b d) (pow c 2)))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (+ (/ a c) (/ (* b d) (pow c 2))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (/ (* b d) c))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (+ a (/ (* b d) c)))) |
#s(approx (- a (/ (* (neg b) d) c)) #s(hole binary64 (- a (* -1 (/ (* b d) c))))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (* a c) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* a (+ (/ c (+ (pow c 2) (pow d 2))) (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (/ (* a c) (pow d 2)))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (* a (+ (/ b (* a d)) (/ c (pow d 2)))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (/ (* a c) d))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (* a (+ (/ b a) (/ c d))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (/ a c))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* a (+ (/ 1 c) (/ (* b d) (* a (pow c 2))))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* a (+ 1 (/ (* b d) (* a c)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* a (+ (* -1 (/ c (+ (pow c 2) (pow d 2)))) (* -1 (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (* -1 (* a (+ (* -1 (/ b (* a d))) (* -1 (/ c (pow d 2)))))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (* -1 (* a (+ (* -1 (/ b a)) (* -1 (/ c d))))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (* b d) (* a (pow c 2)))) (/ 1 c)))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* -1 (* a (- (* -1 (/ (* b d) (* a c))) 1))))) |
#s(approx (/ (* (neg b) d) c) #s(hole binary64 (* -1 (/ (* b d) c)))) |
#s(approx (* (neg b) d) #s(hole binary64 (* -1 (* b d)))) |
#s(approx (neg b) #s(hole binary64 (* -1 b))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* b (+ (/ d (+ (pow c 2) (pow d 2))) (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (* b (+ (/ 1 d) (/ (* a c) (* b (pow d 2))))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (* b (+ 1 (/ (* a c) (* b d)))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* b (+ (/ a (* b c)) (/ d (pow c 2)))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* b (+ (/ a b) (/ d c))))) |
#s(approx (- a (/ (* (neg b) d) c)) #s(hole binary64 (* b (- (/ a b) (* -1 (/ d c)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ d (+ (pow c 2) (pow d 2)))) (* -1 (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (* -1 (* b (- (* -1 (/ (* a c) (* b (pow d 2)))) (/ 1 d)))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (* -1 (* b (- (* -1 (/ (* a c) (* b d))) 1))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* -1 (* b (+ (* -1 (/ a (* b c))) (* -1 (/ d (pow c 2)))))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* -1 (* b (+ (* -1 (/ a b)) (* -1 (/ d c))))))) |
#s(approx (- a (/ (* (neg b) d) c)) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) (/ d c)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* -1 (/ (* b c) (pow d 3))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* c (- (* -1 (/ (* a c) (pow d 4))) (/ b (pow d 3)))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx (/ c d) #s(hole binary64 (/ c d))) |
#s(approx c #s(hole binary64 c)) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (/ (+ (* a c) (* b d)) (pow c 2)))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (/ (+ (* a c) (* b d)) c))) |
#s(approx (/ d c) #s(hole binary64 (/ d c))) |
#s(approx (- a (/ (* (neg b) d) c)) #s(hole binary64 (/ (- (* a c) (* -1 (* b d))) c))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (* c (+ (* -1 (/ (* a (pow c 2)) (pow d 4))) (/ a (pow d 2)))))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (* c (+ (* (pow c 2) (- (/ (* a (pow c 2)) (pow d 6)) (/ a (pow d 4)))) (/ a (pow d 2)))))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (* c (+ (* (pow c 2) (- (* (pow c 2) (- (* -1 (/ (* a (pow c 2)) (pow d 8))) (* -1 (/ a (pow d 6))))) (/ a (pow d 4)))) (/ a (pow d 2)))))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ c (pow d 2)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (* c (+ (* -1 (/ (pow c 2) (pow d 4))) (/ 1 (pow d 2)))))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (* c (+ (* (pow c 2) (- (/ (pow c 2) (pow d 6)) (/ 1 (pow d 4)))) (/ 1 (pow d 2)))))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (* c (+ (* (pow c 2) (- (* (pow c 2) (+ (* -1 (/ (pow c 2) (pow d 8))) (/ 1 (pow d 6)))) (/ 1 (pow d 4)))) (/ 1 (pow d 2)))))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (pow d 2))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (+ (pow c 2) (pow d 2)))) |
#s(approx (* c c) #s(hole binary64 (pow c 2))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (/ (* b d) c)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (+ (* -1 (/ (* a (pow d 2)) (pow c 2))) (/ (* b d) c))) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ a (+ (* -1 (/ (* b (pow d 3)) (pow c 3))) (/ (* b d) c))) (/ (* a (pow d 2)) (pow c 2))) c))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (* c (+ (/ a (pow d 2)) (/ b (* c d)))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (* c (+ (/ a d) (/ b c))))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (+ a (* -1 (/ (* a (pow d 2)) (pow c 2)))) c))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ a (/ (* a (pow d 4)) (pow c 4))) (/ (* a (pow d 2)) (pow c 2))) c))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ a (* -1 (/ (* a (pow d 6)) (pow c 6)))) (+ (* -1 (/ (* a (pow d 4)) (pow c 4))) (/ (* a (pow d 2)) (pow c 2)))) c))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ 1 c))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ (+ 1 (* -1 (/ (pow d 2) (pow c 2)))) c))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ 1 (/ (pow d 4) (pow c 4))) (/ (pow d 2) (pow c 2))) c))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ 1 (* -1 (/ (pow d 6) (pow c 6)))) (+ (* -1 (/ (pow d 4) (pow c 4))) (/ (pow d 2) (pow c 2)))) c))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (* (pow c 2) (+ 1 (/ (pow d 2) (pow c 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (* b d) c))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (* a (pow d 2)) c)) (* b d)) c))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (- (/ (* b (pow d 3)) c) (* -1 (* a (pow d 2)))) c)) (* b d)) c))) c)))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (* -1 (* c (+ (* -1 (/ a (pow d 2))) (* -1 (/ b (* c d)))))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (* -1 (* c (+ (* -1 (/ a d)) (* -1 (/ b c))))))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (/ (* a (pow d 2)) (pow c 2))) c)))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (+ (* -1 (/ (* a (pow d 4)) (pow c 4))) (/ (* a (pow d 2)) (pow c 2)))) c)))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (+ (* -1 (/ (* a (pow d 4)) (pow c 4))) (+ (/ (* a (pow d 2)) (pow c 2)) (/ (* a (pow d 6)) (pow c 6))))) c)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (* -1 (/ (- (/ (pow d 2) (pow c 2)) 1) c)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (* -1 (/ (- (* -1 (/ (pow d 4) (pow c 4))) (+ 1 (* -1 (/ (pow d 2) (pow c 2))))) c)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (* -1 (/ (- (/ (pow d 6) (pow c 6)) (+ 1 (+ (* -1 (/ (pow d 2) (pow c 2))) (/ (pow d 4) (pow c 4))))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* -1 (/ (* a d) (pow c 3))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* d (- (* -1 (/ (* b d) (pow c 4))) (/ a (pow c 3)))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (/ (+ (* a c) (* b d)) (pow d 2)))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (/ (+ (* a c) (* b d)) d))) |
#s(approx d #s(hole binary64 d)) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (+ (* -1 (/ (* a (pow d 2)) (pow c 3))) (/ a c)))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (+ (* (pow d 2) (- (/ (* a (pow d 2)) (pow c 5)) (/ a (pow c 3)))) (/ a c)))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (+ (* (pow d 2) (- (* (pow d 2) (- (* -1 (/ (* a (pow d 2)) (pow c 7))) (* -1 (/ a (pow c 5))))) (/ a (pow c 3)))) (/ a c)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (+ (* -1 (/ (pow d 2) (pow c 3))) (/ 1 c)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (+ (* (pow d 2) (- (/ (pow d 2) (pow c 5)) (/ 1 (pow c 3)))) (/ 1 c)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (+ (* (pow d 2) (- (* (pow d 2) (+ (* -1 (/ (pow d 2) (pow c 7))) (/ 1 (pow c 5)))) (/ 1 (pow c 3)))) (/ 1 c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (/ (* a c) d)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (+ (* -1 (/ (* b (pow c 2)) (pow d 2))) (/ (* a c) d))) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ b (+ (* -1 (/ (* a (pow c 3)) (pow d 3))) (/ (* a c) d))) (/ (* b (pow c 2)) (pow d 2))) d))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* d (+ (/ a (* c d)) (/ b (pow c 2)))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* d (+ (/ a d) (/ b c))))) |
#s(approx (- a (/ (* (neg b) d) c)) #s(hole binary64 (* d (- (/ a d) (* -1 (/ b c)))))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (+ (* -1 (/ (* a (pow c 3)) (pow d 2))) (* a c)) (pow d 2)))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ (* a c) (/ (* a (pow c 5)) (pow d 4))) (/ (* a (pow c 3)) (pow d 2))) (pow d 2)))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ (* -1 (/ (* a (pow c 7)) (pow d 6))) (* a c)) (+ (* -1 (/ (* a (pow c 5)) (pow d 4))) (/ (* a (pow c 3)) (pow d 2)))) (pow d 2)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ (+ c (* -1 (/ (pow c 3) (pow d 2)))) (pow d 2)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ c (/ (pow c 5) (pow d 4))) (/ (pow c 3) (pow d 2))) (pow d 2)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ c (* -1 (/ (pow c 7) (pow d 6)))) (+ (* -1 (/ (pow c 5) (pow d 4))) (/ (pow c 3) (pow d 2)))) (pow d 2)))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (* (pow d 2) (+ 1 (/ (pow c 2) (pow d 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (* a c) d))) d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (* b (pow c 2)) d)) (* a c)) d))) d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (- (/ (* a (pow c 3)) d) (* -1 (* b (pow c 2)))) d)) (* a c)) d))) d)))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* -1 (* d (+ (* -1 (/ a (* c d))) (* -1 (/ b (pow c 2)))))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* -1 (* d (+ (* -1 (/ a d)) (* -1 (/ b c))))))) |
#s(approx (- a (/ (* (neg b) d) c)) #s(hole binary64 (* -1 (* d (- (* -1 (/ a d)) (/ b c)))))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 62.0ms | a | @ | inf | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* a (/ c d)) b) d) (+ (* a (/ c d)) b) a (/ c d) c d b (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ b d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* b (/ d c)) a) c) (+ (* b (/ d c)) a) (* (/ d c) b) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (- a (/ (* (neg b) d) c)) c) (- a (/ (* (neg b) d) c)) (/ (* (neg b) d) c) (* (neg b) d) (neg b) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* a (/ c (+ (* d d) (* c c)))) (/ c (+ (* d d) (* c c))) (+ (* d d) (* c c)) (* c c)) |
| 8.0ms | c | @ | 0 | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* a (/ c d)) b) d) (+ (* a (/ c d)) b) a (/ c d) c d b (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ b d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* b (/ d c)) a) c) (+ (* b (/ d c)) a) (* (/ d c) b) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (- a (/ (* (neg b) d) c)) c) (- a (/ (* (neg b) d) c)) (/ (* (neg b) d) c) (* (neg b) d) (neg b) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* a (/ c (+ (* d d) (* c c)))) (/ c (+ (* d d) (* c c))) (+ (* d d) (* c c)) (* c c)) |
| 8.0ms | c | @ | inf | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* a (/ c d)) b) d) (+ (* a (/ c d)) b) a (/ c d) c d b (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ b d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* b (/ d c)) a) c) (+ (* b (/ d c)) a) (* (/ d c) b) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (- a (/ (* (neg b) d) c)) c) (- a (/ (* (neg b) d) c)) (/ (* (neg b) d) c) (* (neg b) d) (neg b) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* a (/ c (+ (* d d) (* c c)))) (/ c (+ (* d d) (* c c))) (+ (* d d) (* c c)) (* c c)) |
| 3.0ms | c | @ | -inf | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* a (/ c d)) b) d) (+ (* a (/ c d)) b) a (/ c d) c d b (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ b d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* b (/ d c)) a) c) (+ (* b (/ d c)) a) (* (/ d c) b) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (- a (/ (* (neg b) d) c)) c) (- a (/ (* (neg b) d) c)) (/ (* (neg b) d) c) (* (neg b) d) (neg b) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* a (/ c (+ (* d d) (* c c)))) (/ c (+ (* d d) (* c c))) (+ (* d d) (* c c)) (* c c)) |
| 3.0ms | a | @ | -inf | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* a (/ c d)) b) d) (+ (* a (/ c d)) b) a (/ c d) c d b (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ b d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* b (/ d c)) a) c) (+ (* b (/ d c)) a) (* (/ d c) b) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (- a (/ (* (neg b) d) c)) c) (- a (/ (* (neg b) d) c)) (/ (* (neg b) d) c) (* (neg b) d) (neg b) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* a (/ c (+ (* d d) (* c c)))) (/ c (+ (* d d) (* c c))) (+ (* d d) (* c c)) (* c c)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 595 | 3246 |
| 0 | 619 | 3042 |
| 1 | 4246 | 3038 |
| 0 | 8461 | 2906 |
| 1 | 25281 | 2906 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
(/.f64 (fma.f64 a (/.f64 c d) b) d) |
(fma.f64 a (/.f64 c d) b) |
a |
(/.f64 c d) |
c |
d |
b |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
(/.f64 b d) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c)) |
(/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) |
(*.f64 (/.f64 d c) b) |
(/.f64 d c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 a (/.f64 (*.f64 (neg.f64 b) d) c)) c)) |
(/.f64 (-.f64 a (/.f64 (*.f64 (neg.f64 b) d) c)) c) |
(-.f64 a (/.f64 (*.f64 (neg.f64 b) d) c)) |
(/.f64 (*.f64 (neg.f64 b) d) c) |
(*.f64 (neg.f64 b) d) |
(neg.f64 b) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
(*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c)))) |
(/.f64 c (fma.f64 d d (*.f64 c c))) |
(fma.f64 d d (*.f64 c c)) |
(*.f64 c c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* b d) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (/ (* a c) (+ (pow c 2) (pow d 2))) (/ (* b d) (+ (pow c 2) (pow d 2)))))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (/ b d))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (+ (/ b d) (/ (* a c) (pow d 2))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 b)) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (+ b (/ (* a c) d)))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (/ (* b d) (pow c 2)))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (+ (/ a c) (/ (* b d) (pow c 2))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (/ (* b d) c))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (+ a (/ (* b d) c)))) |
#s(approx (- a (/ (* (neg b) d) c)) #s(hole binary64 (- a (* -1 (/ (* b d) c))))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (* a c) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* a (+ (/ c (+ (pow c 2) (pow d 2))) (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (/ (* a c) (pow d 2)))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (* a (+ (/ b (* a d)) (/ c (pow d 2)))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (/ (* a c) d))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (* a (+ (/ b a) (/ c d))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (/ a c))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* a (+ (/ 1 c) (/ (* b d) (* a (pow c 2))))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* a (+ 1 (/ (* b d) (* a c)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* a (+ (* -1 (/ c (+ (pow c 2) (pow d 2)))) (* -1 (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (* -1 (* a (+ (* -1 (/ b (* a d))) (* -1 (/ c (pow d 2)))))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (* -1 (* a (+ (* -1 (/ b a)) (* -1 (/ c d))))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (* b d) (* a (pow c 2)))) (/ 1 c)))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* -1 (* a (- (* -1 (/ (* b d) (* a c))) 1))))) |
#s(approx (/ (* (neg b) d) c) #s(hole binary64 (* -1 (/ (* b d) c)))) |
#s(approx (* (neg b) d) #s(hole binary64 (* -1 (* b d)))) |
#s(approx (neg b) #s(hole binary64 (* -1 b))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* b (+ (/ d (+ (pow c 2) (pow d 2))) (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (* b (+ (/ 1 d) (/ (* a c) (* b (pow d 2))))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (* b (+ 1 (/ (* a c) (* b d)))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* b (+ (/ a (* b c)) (/ d (pow c 2)))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* b (+ (/ a b) (/ d c))))) |
#s(approx (- a (/ (* (neg b) d) c)) #s(hole binary64 (* b (- (/ a b) (* -1 (/ d c)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ d (+ (pow c 2) (pow d 2)))) (* -1 (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (* -1 (* b (- (* -1 (/ (* a c) (* b (pow d 2)))) (/ 1 d)))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (* -1 (* b (- (* -1 (/ (* a c) (* b d))) 1))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* -1 (* b (+ (* -1 (/ a (* b c))) (* -1 (/ d (pow c 2)))))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* -1 (* b (+ (* -1 (/ a b)) (* -1 (/ d c))))))) |
#s(approx (- a (/ (* (neg b) d) c)) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) (/ d c)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* -1 (/ (* b c) (pow d 3))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* c (- (* -1 (/ (* a c) (pow d 4))) (/ b (pow d 3)))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx (/ c d) #s(hole binary64 (/ c d))) |
#s(approx c #s(hole binary64 c)) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (/ (+ (* a c) (* b d)) (pow c 2)))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (/ (+ (* a c) (* b d)) c))) |
#s(approx (/ d c) #s(hole binary64 (/ d c))) |
#s(approx (- a (/ (* (neg b) d) c)) #s(hole binary64 (/ (- (* a c) (* -1 (* b d))) c))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (* c (+ (* -1 (/ (* a (pow c 2)) (pow d 4))) (/ a (pow d 2)))))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (* c (+ (* (pow c 2) (- (/ (* a (pow c 2)) (pow d 6)) (/ a (pow d 4)))) (/ a (pow d 2)))))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (* c (+ (* (pow c 2) (- (* (pow c 2) (- (* -1 (/ (* a (pow c 2)) (pow d 8))) (* -1 (/ a (pow d 6))))) (/ a (pow d 4)))) (/ a (pow d 2)))))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ c (pow d 2)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (* c (+ (* -1 (/ (pow c 2) (pow d 4))) (/ 1 (pow d 2)))))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (* c (+ (* (pow c 2) (- (/ (pow c 2) (pow d 6)) (/ 1 (pow d 4)))) (/ 1 (pow d 2)))))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (* c (+ (* (pow c 2) (- (* (pow c 2) (+ (* -1 (/ (pow c 2) (pow d 8))) (/ 1 (pow d 6)))) (/ 1 (pow d 4)))) (/ 1 (pow d 2)))))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (pow d 2))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (+ (pow c 2) (pow d 2)))) |
#s(approx (* c c) #s(hole binary64 (pow c 2))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (/ (* b d) c)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (+ (* -1 (/ (* a (pow d 2)) (pow c 2))) (/ (* b d) c))) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ a (+ (* -1 (/ (* b (pow d 3)) (pow c 3))) (/ (* b d) c))) (/ (* a (pow d 2)) (pow c 2))) c))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (* c (+ (/ a (pow d 2)) (/ b (* c d)))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (* c (+ (/ a d) (/ b c))))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (+ a (* -1 (/ (* a (pow d 2)) (pow c 2)))) c))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ a (/ (* a (pow d 4)) (pow c 4))) (/ (* a (pow d 2)) (pow c 2))) c))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ a (* -1 (/ (* a (pow d 6)) (pow c 6)))) (+ (* -1 (/ (* a (pow d 4)) (pow c 4))) (/ (* a (pow d 2)) (pow c 2)))) c))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ 1 c))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ (+ 1 (* -1 (/ (pow d 2) (pow c 2)))) c))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ 1 (/ (pow d 4) (pow c 4))) (/ (pow d 2) (pow c 2))) c))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ 1 (* -1 (/ (pow d 6) (pow c 6)))) (+ (* -1 (/ (pow d 4) (pow c 4))) (/ (pow d 2) (pow c 2)))) c))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (* (pow c 2) (+ 1 (/ (pow d 2) (pow c 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (* b d) c))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (* a (pow d 2)) c)) (* b d)) c))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (- (/ (* b (pow d 3)) c) (* -1 (* a (pow d 2)))) c)) (* b d)) c))) c)))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (* -1 (* c (+ (* -1 (/ a (pow d 2))) (* -1 (/ b (* c d)))))))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (* -1 (* c (+ (* -1 (/ a d)) (* -1 (/ b c))))))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (/ (* a (pow d 2)) (pow c 2))) c)))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (+ (* -1 (/ (* a (pow d 4)) (pow c 4))) (/ (* a (pow d 2)) (pow c 2)))) c)))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (+ (* -1 (/ (* a (pow d 4)) (pow c 4))) (+ (/ (* a (pow d 2)) (pow c 2)) (/ (* a (pow d 6)) (pow c 6))))) c)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (* -1 (/ (- (/ (pow d 2) (pow c 2)) 1) c)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (* -1 (/ (- (* -1 (/ (pow d 4) (pow c 4))) (+ 1 (* -1 (/ (pow d 2) (pow c 2))))) c)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (* -1 (/ (- (/ (pow d 6) (pow c 6)) (+ 1 (+ (* -1 (/ (pow d 2) (pow c 2))) (/ (pow d 4) (pow c 4))))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* -1 (/ (* a d) (pow c 3))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* d (- (* -1 (/ (* b d) (pow c 4))) (/ a (pow c 3)))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx (/ (+ (* a (/ c d)) b) d) #s(hole binary64 (/ (+ (* a c) (* b d)) (pow d 2)))) |
#s(approx (+ (* a (/ c d)) b) #s(hole binary64 (/ (+ (* a c) (* b d)) d))) |
#s(approx d #s(hole binary64 d)) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (+ (* -1 (/ (* a (pow d 2)) (pow c 3))) (/ a c)))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (+ (* (pow d 2) (- (/ (* a (pow d 2)) (pow c 5)) (/ a (pow c 3)))) (/ a c)))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (+ (* (pow d 2) (- (* (pow d 2) (- (* -1 (/ (* a (pow d 2)) (pow c 7))) (* -1 (/ a (pow c 5))))) (/ a (pow c 3)))) (/ a c)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (+ (* -1 (/ (pow d 2) (pow c 3))) (/ 1 c)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (+ (* (pow d 2) (- (/ (pow d 2) (pow c 5)) (/ 1 (pow c 3)))) (/ 1 c)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (+ (* (pow d 2) (- (* (pow d 2) (+ (* -1 (/ (pow d 2) (pow c 7))) (/ 1 (pow c 5)))) (/ 1 (pow c 3)))) (/ 1 c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (/ (* a c) d)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (+ (* -1 (/ (* b (pow c 2)) (pow d 2))) (/ (* a c) d))) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ b (+ (* -1 (/ (* a (pow c 3)) (pow d 3))) (/ (* a c) d))) (/ (* b (pow c 2)) (pow d 2))) d))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* d (+ (/ a (* c d)) (/ b (pow c 2)))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* d (+ (/ a d) (/ b c))))) |
#s(approx (- a (/ (* (neg b) d) c)) #s(hole binary64 (* d (- (/ a d) (* -1 (/ b c)))))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (+ (* -1 (/ (* a (pow c 3)) (pow d 2))) (* a c)) (pow d 2)))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ (* a c) (/ (* a (pow c 5)) (pow d 4))) (/ (* a (pow c 3)) (pow d 2))) (pow d 2)))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ (* -1 (/ (* a (pow c 7)) (pow d 6))) (* a c)) (+ (* -1 (/ (* a (pow c 5)) (pow d 4))) (/ (* a (pow c 3)) (pow d 2)))) (pow d 2)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ (+ c (* -1 (/ (pow c 3) (pow d 2)))) (pow d 2)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ c (/ (pow c 5) (pow d 4))) (/ (pow c 3) (pow d 2))) (pow d 2)))) |
#s(approx (/ c (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ c (* -1 (/ (pow c 7) (pow d 6)))) (+ (* -1 (/ (pow c 5) (pow d 4))) (/ (pow c 3) (pow d 2)))) (pow d 2)))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (* (pow d 2) (+ 1 (/ (pow c 2) (pow d 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (* a c) d))) d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (* b (pow c 2)) d)) (* a c)) d))) d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (- (/ (* a (pow c 3)) d) (* -1 (* b (pow c 2)))) d)) (* a c)) d))) d)))) |
#s(approx (/ (+ (* b (/ d c)) a) c) #s(hole binary64 (* -1 (* d (+ (* -1 (/ a (* c d))) (* -1 (/ b (pow c 2)))))))) |
#s(approx (+ (* b (/ d c)) a) #s(hole binary64 (* -1 (* d (+ (* -1 (/ a d)) (* -1 (/ b c))))))) |
#s(approx (- a (/ (* (neg b) d) c)) #s(hole binary64 (* -1 (* d (- (* -1 (/ a d)) (/ b c)))))) |
| Outputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (/.f64 c d) a b) d)) |
(*.f64 (fma.f64 (/.f64 c d) a b) (/.f64 #s(literal 1 binary64) d)) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 (/.f64 c d) a b))) (neg.f64 (neg.f64 d))) |
(/.f64 (neg.f64 (fma.f64 (/.f64 c d) a b)) (neg.f64 d)) |
(/.f64 (fma.f64 (/.f64 c d) a b) d) |
(fma.f64 b (/.f64 #s(literal 1 binary64) d) (/.f64 (*.f64 (/.f64 c d) a) d)) |
(+.f64 (/.f64 (*.f64 (/.f64 c d) a) d) (/.f64 b d)) |
(+.f64 (/.f64 b d) (/.f64 (*.f64 (/.f64 c d) a) d)) |
(fma.f64 (/.f64 c d) a b) |
(fma.f64 (*.f64 c a) (/.f64 #s(literal 1 binary64) d) b) |
(fma.f64 a (/.f64 c d) b) |
(-.f64 (*.f64 (/.f64 c d) a) (neg.f64 b)) |
(-.f64 b (neg.f64 (*.f64 (/.f64 c d) a))) |
(+.f64 (*.f64 (/.f64 c d) a) b) |
(+.f64 b (*.f64 (/.f64 c d) a)) |
a |
(*.f64 c (/.f64 #s(literal 1 binary64) d)) |
(/.f64 (neg.f64 (neg.f64 c)) (neg.f64 (neg.f64 d))) |
(/.f64 (neg.f64 c) (neg.f64 d)) |
(/.f64 c d) |
c |
d |
b |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
(*.f64 b (/.f64 #s(literal 1 binary64) d)) |
(/.f64 (neg.f64 (neg.f64 b)) (neg.f64 (neg.f64 d))) |
(/.f64 (neg.f64 b) (neg.f64 d)) |
(/.f64 b d) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c)) |
(*.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) (/.f64 #s(literal 1 binary64) c)) |
(/.f64 (neg.f64 (neg.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)))) (neg.f64 (neg.f64 c))) |
(/.f64 (neg.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b))) (neg.f64 c)) |
(/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) |
(*.f64 (/.f64 d c) b) |
(*.f64 (*.f64 d b) (/.f64 #s(literal 1 binary64) c)) |
(*.f64 b (/.f64 d c)) |
(/.f64 (neg.f64 (*.f64 (neg.f64 b) d)) (neg.f64 (neg.f64 c))) |
(/.f64 (*.f64 (neg.f64 b) d) (neg.f64 c)) |
(/.f64 (*.f64 d b) c) |
(*.f64 d (/.f64 #s(literal 1 binary64) c)) |
(/.f64 (neg.f64 (neg.f64 d)) (neg.f64 (neg.f64 c))) |
(/.f64 (neg.f64 d) (neg.f64 c)) |
(/.f64 d c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (/.f64 d c) b a) c)) |
(*.f64 (fma.f64 (/.f64 d c) b a) (/.f64 #s(literal 1 binary64) c)) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 (/.f64 d c) b a))) (neg.f64 (neg.f64 c))) |
(/.f64 (neg.f64 (fma.f64 (/.f64 d c) b a)) (neg.f64 c)) |
(/.f64 (fma.f64 (/.f64 d c) b a) c) |
(fma.f64 a (/.f64 #s(literal 1 binary64) c) (/.f64 (*.f64 (/.f64 d c) b) c)) |
(-.f64 (/.f64 a c) (/.f64 (*.f64 (neg.f64 b) (/.f64 d c)) c)) |
(+.f64 (/.f64 (*.f64 (/.f64 d c) b) c) (/.f64 a c)) |
(+.f64 (/.f64 a c) (/.f64 (*.f64 (/.f64 d c) b) c)) |
(neg.f64 (-.f64 (*.f64 (neg.f64 b) (/.f64 d c)) a)) |
(fma.f64 (/.f64 d c) b a) |
(fma.f64 (*.f64 d b) (/.f64 #s(literal 1 binary64) c) a) |
(fma.f64 b (/.f64 d c) a) |
(-.f64 (*.f64 (/.f64 d c) b) (neg.f64 a)) |
(-.f64 a (*.f64 (neg.f64 b) (/.f64 d c))) |
(+.f64 (*.f64 (/.f64 d c) b) a) |
(+.f64 a (*.f64 #s(literal 1 binary64) (*.f64 (/.f64 d c) b))) |
(+.f64 a (neg.f64 (*.f64 (neg.f64 b) (/.f64 d c)))) |
(+.f64 a (*.f64 (/.f64 d c) b)) |
(*.f64 (*.f64 (neg.f64 b) d) (/.f64 #s(literal 1 binary64) c)) |
(*.f64 (neg.f64 b) (/.f64 d c)) |
(*.f64 #s(literal -1 binary64) (*.f64 (/.f64 d c) b)) |
(*.f64 (*.f64 (/.f64 d c) b) #s(literal -1 binary64)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 (neg.f64 b) d))) (neg.f64 (neg.f64 c))) |
(/.f64 (neg.f64 (*.f64 (neg.f64 b) d)) (neg.f64 c)) |
(/.f64 (*.f64 (neg.f64 b) d) c) |
(neg.f64 (*.f64 (/.f64 d c) b)) |
(*.f64 (neg.f64 b) d) |
(*.f64 #s(literal -1 binary64) (*.f64 d b)) |
(*.f64 (*.f64 d b) #s(literal -1 binary64)) |
(*.f64 d (neg.f64 b)) |
(neg.f64 (*.f64 d b)) |
(*.f64 #s(literal -1 binary64) b) |
(*.f64 b #s(literal -1 binary64)) |
(neg.f64 b) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (/.f64 c (fma.f64 d d (*.f64 c c))) a)) |
(*.f64 (/.f64 c (fma.f64 d d (*.f64 c c))) a) |
(*.f64 (*.f64 c a) (/.f64 #s(literal 1 binary64) (fma.f64 d d (*.f64 c c)))) |
(*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c)))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 c a))) (neg.f64 (neg.f64 (fma.f64 d d (*.f64 c c))))) |
(/.f64 (neg.f64 (*.f64 c a)) (neg.f64 (fma.f64 d d (*.f64 c c)))) |
(/.f64 (*.f64 c a) (fma.f64 d d (*.f64 c c))) |
(*.f64 c (/.f64 #s(literal 1 binary64) (fma.f64 d d (*.f64 c c)))) |
(/.f64 (neg.f64 (neg.f64 c)) (neg.f64 (neg.f64 (fma.f64 d d (*.f64 c c))))) |
(/.f64 (neg.f64 c) (neg.f64 (fma.f64 d d (*.f64 c c)))) |
(/.f64 c (fma.f64 d d (*.f64 c c))) |
(fma.f64 (fabs.f64 (fabs.f64 c)) (fabs.f64 (fabs.f64 c)) (*.f64 d d)) |
(fma.f64 (fabs.f64 (fabs.f64 d)) (fabs.f64 (fabs.f64 d)) (*.f64 c c)) |
(fma.f64 (neg.f64 (fabs.f64 c)) (neg.f64 (fabs.f64 c)) (*.f64 d d)) |
(fma.f64 (neg.f64 (neg.f64 c)) (neg.f64 (neg.f64 c)) (*.f64 d d)) |
(fma.f64 (neg.f64 (fabs.f64 d)) (neg.f64 (fabs.f64 d)) (*.f64 c c)) |
(fma.f64 (neg.f64 (neg.f64 d)) (neg.f64 (neg.f64 d)) (*.f64 c c)) |
(fma.f64 (fabs.f64 d) (fabs.f64 d) (*.f64 c c)) |
(fma.f64 (fabs.f64 c) (fabs.f64 c) (*.f64 d d)) |
(fma.f64 (neg.f64 d) (neg.f64 d) (*.f64 c c)) |
(fma.f64 (neg.f64 c) (neg.f64 c) (*.f64 d d)) |
(fma.f64 d d (*.f64 c c)) |
(fma.f64 c c (*.f64 d d)) |
(-.f64 (*.f64 d d) (*.f64 (neg.f64 c) c)) |
(-.f64 (*.f64 d d) (neg.f64 (*.f64 c c))) |
(-.f64 (*.f64 c c) (*.f64 (neg.f64 d) d)) |
(-.f64 (*.f64 c c) (neg.f64 (*.f64 d d))) |
(+.f64 (*.f64 d d) (*.f64 c c)) |
(+.f64 (*.f64 c c) (*.f64 d d)) |
(*.f64 (fabs.f64 (fabs.f64 c)) (fabs.f64 (fabs.f64 c))) |
(*.f64 (neg.f64 (fabs.f64 c)) (neg.f64 (fabs.f64 c))) |
(*.f64 (neg.f64 (neg.f64 c)) (neg.f64 (neg.f64 c))) |
(*.f64 (fabs.f64 c) (fabs.f64 c)) |
(*.f64 (neg.f64 c) (neg.f64 c)) |
(*.f64 c c) |
(pow.f64 (fabs.f64 (fabs.f64 c)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 c)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 c)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 c) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 c) #s(literal 2 binary64)) |
(pow.f64 c #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 c c) (*.f64 c c))) |
(fabs.f64 (neg.f64 (*.f64 c c))) |
(fabs.f64 (*.f64 c c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 d b (*.f64 c a)) (fma.f64 d d (*.f64 c c)))) |
#s(approx (/ (+ (* a (/ c d)) b) d) (/.f64 b d)) |
#s(approx (/ (+ (* a (/ c d)) b) d) (fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))) |
#s(approx (+ (* a (/ c d)) b) b) |
#s(approx (+ (* a (/ c d)) b) (fma.f64 (/.f64 c d) a b)) |
#s(approx a a) |
#s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 b (/.f64 d (*.f64 c c)))) |
#s(approx (/ (+ (* b (/ d c)) a) c) (fma.f64 b (/.f64 d (*.f64 c c)) (/.f64 a c))) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) |
#s(approx (+ (* b (/ d c)) a) (fma.f64 (/.f64 d c) b a)) |
#s(approx (+ (* b (/ d c)) a) (fma.f64 (/.f64 d c) b a)) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (*.f64 (/.f64 c (fma.f64 d d (*.f64 c c))) a)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 b (/.f64 d (*.f64 (fma.f64 d d (*.f64 c c)) a)) (/.f64 c (fma.f64 d d (*.f64 c c)))) a)) |
#s(approx (/ (+ (* a (/ c d)) b) d) (*.f64 a (/.f64 c (*.f64 d d)))) |
#s(approx (/ (+ (* a (/ c d)) b) d) (*.f64 (+.f64 (/.f64 c (*.f64 d d)) (/.f64 b (*.f64 d a))) a)) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (+.f64 (/.f64 b a) (/.f64 c d)) a)) |
#s(approx (/ (+ (* b (/ d c)) a) c) (/.f64 a c)) |
#s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 (fma.f64 b (/.f64 d (*.f64 (*.f64 c c) a)) (/.f64 #s(literal 1 binary64) c)) a)) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (fma.f64 b (/.f64 d (*.f64 c a)) #s(literal 1 binary64)) a)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (neg.f64 a) (+.f64 (/.f64 (*.f64 (neg.f64 b) d) (*.f64 (fma.f64 d d (*.f64 c c)) a)) (neg.f64 (/.f64 c (fma.f64 d d (*.f64 c c))))))) |
#s(approx (/ (+ (* a (/ c d)) b) d) (*.f64 (neg.f64 a) (+.f64 (neg.f64 (/.f64 c (*.f64 d d))) (/.f64 (neg.f64 b) (*.f64 d a))))) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (neg.f64 a) (+.f64 (neg.f64 (/.f64 c d)) (/.f64 (neg.f64 b) a)))) |
#s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 (neg.f64 a) (neg.f64 (fma.f64 b (/.f64 d (*.f64 (*.f64 c c) a)) (/.f64 #s(literal 1 binary64) c))))) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (neg.f64 a) (neg.f64 (fma.f64 b (/.f64 d (*.f64 c a)) #s(literal 1 binary64))))) |
#s(approx (/ (* (neg b) d) c) (*.f64 (neg.f64 b) (/.f64 d c))) |
#s(approx (* (neg b) d) (*.f64 (neg.f64 b) d)) |
#s(approx (neg b) (neg.f64 b)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 a (/.f64 c (*.f64 (fma.f64 d d (*.f64 c c)) b)) (/.f64 d (fma.f64 d d (*.f64 c c)))) b)) |
#s(approx (/ (+ (* a (/ c d)) b) d) (*.f64 (fma.f64 a (/.f64 c (*.f64 (*.f64 d d) b)) (/.f64 #s(literal 1 binary64) d)) b)) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (fma.f64 a (/.f64 c (*.f64 d b)) #s(literal 1 binary64)) b)) |
#s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 (+.f64 (/.f64 d (*.f64 c c)) (/.f64 a (*.f64 b c))) b)) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 a b) (/.f64 d c)) b)) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 a b) (/.f64 d c)) b)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (neg.f64 b) (+.f64 (neg.f64 (*.f64 a (/.f64 c (*.f64 (fma.f64 d d (*.f64 c c)) b)))) (neg.f64 (/.f64 d (fma.f64 d d (*.f64 c c))))))) |
#s(approx (/ (+ (* a (/ c d)) b) d) (*.f64 (neg.f64 b) (neg.f64 (fma.f64 a (/.f64 c (*.f64 (*.f64 d d) b)) (/.f64 #s(literal 1 binary64) d))))) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (neg.f64 b) (neg.f64 (fma.f64 a (/.f64 c (*.f64 d b)) #s(literal 1 binary64))))) |
#s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 (neg.f64 b) (+.f64 (neg.f64 (/.f64 d (*.f64 c c))) (/.f64 (neg.f64 a) (*.f64 b c))))) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (neg.f64 b) (-.f64 (/.f64 (neg.f64 a) b) (/.f64 d c)))) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (neg.f64 b) (-.f64 (/.f64 (neg.f64 a) b) (/.f64 d c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (+.f64 (/.f64 a (*.f64 d d)) (neg.f64 (*.f64 b (/.f64 c (*.f64 (*.f64 d d) d))))) c (/.f64 b d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (fma.f64 (-.f64 (neg.f64 (/.f64 (*.f64 c a) (*.f64 (*.f64 d d) (*.f64 d d)))) (/.f64 b (*.f64 (*.f64 d d) d))) c (/.f64 a (*.f64 d d))) c (/.f64 b d))) |
#s(approx (/ c d) (/.f64 c d)) |
#s(approx c c) |
#s(approx (/ (+ (* b (/ d c)) a) c) (/.f64 (fma.f64 d b (*.f64 c a)) (*.f64 c c))) |
#s(approx (+ (* b (/ d c)) a) (/.f64 (fma.f64 d b (*.f64 c a)) c)) |
#s(approx (/ d c) (/.f64 d c)) |
#s(approx (+ (* b (/ d c)) a) (/.f64 (fma.f64 d b (*.f64 c a)) c)) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (*.f64 (+.f64 (neg.f64 (*.f64 a (/.f64 (*.f64 c c) (*.f64 (*.f64 d d) (*.f64 d d))))) (/.f64 a (*.f64 d d))) c)) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (*.f64 (fma.f64 (-.f64 (*.f64 a (/.f64 (*.f64 c c) (*.f64 (*.f64 (*.f64 d d) (*.f64 d d)) (*.f64 d d)))) (/.f64 a (*.f64 (*.f64 d d) (*.f64 d d)))) (*.f64 c c) (/.f64 a (*.f64 d d))) c)) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (*.f64 (fma.f64 (-.f64 (*.f64 (-.f64 (neg.f64 (*.f64 (*.f64 (*.f64 c c) a) (pow.f64 d #s(literal -8 binary64)))) (/.f64 (neg.f64 a) (*.f64 (*.f64 (*.f64 d d) (*.f64 d d)) (*.f64 d d)))) (*.f64 c c)) (/.f64 a (*.f64 (*.f64 d d) (*.f64 d d)))) (*.f64 c c) (/.f64 a (*.f64 d d))) c)) |
#s(approx (/ c (+ (* d d) (* c c))) (/.f64 c (*.f64 d d))) |
#s(approx (/ c (+ (* d d) (* c c))) (fma.f64 c (neg.f64 (/.f64 (*.f64 c c) (*.f64 (*.f64 d d) (*.f64 d d)))) (/.f64 c (*.f64 d d)))) |
#s(approx (/ c (+ (* d d) (* c c))) (*.f64 (fma.f64 (-.f64 (/.f64 (*.f64 c c) (*.f64 (*.f64 (*.f64 d d) (*.f64 d d)) (*.f64 d d))) (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 d d) (*.f64 d d)))) (*.f64 c c) (/.f64 #s(literal 1 binary64) (*.f64 d d))) c)) |
#s(approx (/ c (+ (* d d) (* c c))) (fma.f64 c (*.f64 (-.f64 (*.f64 (+.f64 (pow.f64 d #s(literal -6 binary64)) (neg.f64 (*.f64 (*.f64 c c) (pow.f64 d #s(literal -8 binary64))))) (*.f64 c c)) (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 d d) (*.f64 d d)))) (*.f64 c c)) (/.f64 c (*.f64 d d)))) |
#s(approx (+ (* d d) (* c c)) (*.f64 d d)) |
#s(approx (+ (* d d) (* c c)) (fma.f64 d d (*.f64 c c))) |
#s(approx (* c c) (*.f64 c c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (/.f64 d c) b a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (fma.f64 (/.f64 d c) b (/.f64 (*.f64 (neg.f64 a) (*.f64 d d)) (*.f64 c c))) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (+.f64 (fma.f64 (/.f64 d c) b (neg.f64 (*.f64 b (/.f64 (*.f64 (*.f64 d d) d) (*.f64 (*.f64 c c) c))))) a) (/.f64 (*.f64 (*.f64 d d) a) (*.f64 c c))) c)) |
#s(approx (/ (+ (* a (/ c d)) b) d) (*.f64 (+.f64 (/.f64 b (*.f64 d c)) (/.f64 a (*.f64 d d))) c)) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (+.f64 (/.f64 b c) (/.f64 a d)) c)) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (/.f64 (+.f64 (/.f64 (*.f64 (neg.f64 a) (*.f64 d d)) (*.f64 c c)) a) c)) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (/.f64 (-.f64 (fma.f64 a (/.f64 (*.f64 (*.f64 d d) (*.f64 d d)) (*.f64 (*.f64 c c) (*.f64 c c))) a) (/.f64 (*.f64 (*.f64 d d) a) (*.f64 c c))) c)) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (/.f64 (+.f64 (fma.f64 a (/.f64 (*.f64 (*.f64 d d) (*.f64 d d)) (*.f64 (*.f64 c c) (*.f64 c c))) a) (-.f64 (neg.f64 (*.f64 a (pow.f64 (/.f64 (*.f64 d d) (*.f64 c c)) #s(literal 3 binary64)))) (/.f64 (*.f64 (*.f64 d d) a) (*.f64 c c)))) c)) |
#s(approx (/ c (+ (* d d) (* c c))) (/.f64 #s(literal 1 binary64) c)) |
#s(approx (/ c (+ (* d d) (* c c))) (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 d d) (*.f64 c c))) #s(literal 1 binary64)) c)) |
#s(approx (/ c (+ (* d d) (* c c))) (/.f64 (-.f64 (+.f64 (/.f64 (*.f64 (*.f64 d d) (*.f64 d d)) (*.f64 (*.f64 c c) (*.f64 c c))) #s(literal 1 binary64)) (/.f64 (*.f64 d d) (*.f64 c c))) c)) |
#s(approx (/ c (+ (* d d) (* c c))) (/.f64 (+.f64 (+.f64 (/.f64 (*.f64 (*.f64 d d) (*.f64 d d)) (*.f64 (*.f64 c c) (*.f64 c c))) #s(literal 1 binary64)) (-.f64 (pow.f64 (neg.f64 (/.f64 (*.f64 d d) (*.f64 c c))) #s(literal 3 binary64)) (/.f64 (*.f64 d d) (*.f64 c c)))) c)) |
#s(approx (+ (* d d) (* c c)) (*.f64 (+.f64 (/.f64 (*.f64 d d) (*.f64 c c)) #s(literal 1 binary64)) (*.f64 c c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (fma.f64 (neg.f64 b) (/.f64 d c) (neg.f64 a)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 d b (neg.f64 (/.f64 (*.f64 (*.f64 d d) a) c))) c)) (neg.f64 a)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 d b (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 d d) d) b) c) (*.f64 (neg.f64 a) (*.f64 d d))) c))) c)) (neg.f64 a)) c))) |
#s(approx (/ (+ (* a (/ c d)) b) d) (neg.f64 (*.f64 (+.f64 (/.f64 (neg.f64 b) (*.f64 d c)) (/.f64 (neg.f64 a) (*.f64 d d))) c))) |
#s(approx (+ (* a (/ c d)) b) (neg.f64 (*.f64 (-.f64 (/.f64 (neg.f64 a) d) (/.f64 b c)) c))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (neg.f64 (/.f64 (fma.f64 a (/.f64 (*.f64 d d) (*.f64 c c)) (neg.f64 a)) c))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (neg.f64 (/.f64 (+.f64 (neg.f64 a) (fma.f64 a (/.f64 (*.f64 d d) (*.f64 c c)) (neg.f64 (*.f64 a (/.f64 (*.f64 (*.f64 d d) (*.f64 d d)) (*.f64 (*.f64 c c) (*.f64 c c))))))) c))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (neg.f64 (/.f64 (+.f64 (+.f64 (neg.f64 a) (neg.f64 (*.f64 a (/.f64 (*.f64 (*.f64 d d) (*.f64 d d)) (*.f64 (*.f64 c c) (*.f64 c c)))))) (fma.f64 a (pow.f64 (/.f64 (*.f64 d d) (*.f64 c c)) #s(literal 3 binary64)) (/.f64 (*.f64 (*.f64 d d) a) (*.f64 c c)))) c))) |
#s(approx (/ c (+ (* d d) (* c c))) (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 d d) (*.f64 c c)) #s(literal 1 binary64)) c))) |
#s(approx (/ c (+ (* d d) (* c c))) (neg.f64 (/.f64 (-.f64 (-.f64 (neg.f64 (/.f64 (*.f64 (*.f64 d d) (*.f64 d d)) (*.f64 (*.f64 c c) (*.f64 c c)))) #s(literal 1 binary64)) (neg.f64 (/.f64 (*.f64 d d) (*.f64 c c)))) c))) |
#s(approx (/ c (+ (* d d) (* c c))) (neg.f64 (/.f64 (-.f64 (-.f64 (pow.f64 (/.f64 (*.f64 d d) (*.f64 c c)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (/.f64 (*.f64 (*.f64 d d) (*.f64 d d)) (*.f64 (*.f64 c c) (*.f64 c c))) (neg.f64 (/.f64 (*.f64 d d) (*.f64 c c))))) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (+.f64 (/.f64 b (*.f64 c c)) (neg.f64 (*.f64 a (/.f64 d (*.f64 (*.f64 c c) c))))) d (/.f64 a c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 (neg.f64 b) d) (*.f64 (*.f64 c c) (*.f64 c c))) (/.f64 a (*.f64 (*.f64 c c) c))) d (/.f64 b (*.f64 c c))) d (/.f64 a c))) |
#s(approx (/ (+ (* a (/ c d)) b) d) (/.f64 (fma.f64 d b (*.f64 c a)) (*.f64 d d))) |
#s(approx (+ (* a (/ c d)) b) (/.f64 (fma.f64 d b (*.f64 c a)) d)) |
#s(approx d d) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (+.f64 (/.f64 (*.f64 (neg.f64 a) (*.f64 d d)) (*.f64 (*.f64 c c) c)) (/.f64 a c))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (fma.f64 (-.f64 (*.f64 (*.f64 (*.f64 d d) a) (pow.f64 c #s(literal -5 binary64))) (/.f64 a (*.f64 (*.f64 c c) c))) (*.f64 d d) (/.f64 a c))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (fma.f64 (-.f64 (*.f64 (-.f64 (neg.f64 (*.f64 (*.f64 (*.f64 d d) a) (pow.f64 c #s(literal -7 binary64)))) (neg.f64 (*.f64 a (pow.f64 c #s(literal -5 binary64))))) (*.f64 d d)) (/.f64 a (*.f64 (*.f64 c c) c))) (*.f64 d d) (/.f64 a c))) |
#s(approx (/ c (+ (* d d) (* c c))) (+.f64 (neg.f64 (/.f64 (*.f64 d d) (*.f64 (*.f64 c c) c))) (/.f64 #s(literal 1 binary64) c))) |
#s(approx (/ c (+ (* d d) (* c c))) (fma.f64 (-.f64 (*.f64 (*.f64 d d) (pow.f64 c #s(literal -5 binary64))) (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 c c) c))) (*.f64 d d) (/.f64 #s(literal 1 binary64) c))) |
#s(approx (/ c (+ (* d d) (* c c))) (fma.f64 (-.f64 (*.f64 (+.f64 (pow.f64 c #s(literal -5 binary64)) (neg.f64 (*.f64 (*.f64 d d) (pow.f64 c #s(literal -7 binary64))))) (*.f64 d d)) (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 c c) c))) (*.f64 d d) (/.f64 #s(literal 1 binary64) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (/.f64 c d) a b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (fma.f64 (/.f64 c d) a (/.f64 (*.f64 (neg.f64 b) (*.f64 c c)) (*.f64 d d))) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (+.f64 (fma.f64 (/.f64 c d) a (neg.f64 (*.f64 a (/.f64 (*.f64 (*.f64 c c) c) (*.f64 (*.f64 d d) d))))) b) (/.f64 (*.f64 (*.f64 c c) b) (*.f64 d d))) d)) |
#s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 (+.f64 (/.f64 a (*.f64 d c)) (/.f64 b (*.f64 c c))) d)) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 b c) (/.f64 a d)) d)) |
#s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 b c) (/.f64 a d)) d)) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (/.f64 (fma.f64 c a (neg.f64 (/.f64 (*.f64 (*.f64 (*.f64 c c) c) a) (*.f64 d d)))) (*.f64 d d))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (/.f64 (-.f64 (fma.f64 c a (/.f64 (*.f64 (pow.f64 c #s(literal 5 binary64)) a) (*.f64 (*.f64 d d) (*.f64 d d)))) (/.f64 (*.f64 (*.f64 (*.f64 c c) c) a) (*.f64 d d))) (*.f64 d d))) |
#s(approx (* a (/ c (+ (* d d) (* c c)))) (/.f64 (-.f64 (fma.f64 c a (neg.f64 (/.f64 (*.f64 (pow.f64 c #s(literal 7 binary64)) a) (*.f64 (*.f64 (*.f64 d d) (*.f64 d d)) (*.f64 d d))))) (fma.f64 a (/.f64 (*.f64 (*.f64 c c) c) (*.f64 d d)) (neg.f64 (/.f64 (*.f64 (pow.f64 c #s(literal 5 binary64)) a) (*.f64 (*.f64 d d) (*.f64 d d)))))) (*.f64 d d))) |
#s(approx (/ c (+ (* d d) (* c c))) (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c c) c) (*.f64 d d))) c) (*.f64 d d))) |
#s(approx (/ c (+ (* d d) (* c c))) (/.f64 (-.f64 (+.f64 (/.f64 (pow.f64 c #s(literal 5 binary64)) (*.f64 (*.f64 d d) (*.f64 d d))) c) (/.f64 (*.f64 (*.f64 c c) c) (*.f64 d d))) (*.f64 d d))) |
#s(approx (/ c (+ (* d d) (* c c))) (/.f64 (+.f64 (+.f64 (/.f64 (pow.f64 c #s(literal 5 binary64)) (*.f64 (*.f64 d d) (*.f64 d d))) c) (-.f64 (neg.f64 (/.f64 (pow.f64 c #s(literal 7 binary64)) (*.f64 (*.f64 (*.f64 d d) (*.f64 d d)) (*.f64 d d)))) (/.f64 (*.f64 (*.f64 c c) c) (*.f64 d d)))) (*.f64 d d))) |
#s(approx (+ (* d d) (* c c)) (*.f64 (+.f64 (/.f64 (*.f64 c c) (*.f64 d d)) #s(literal 1 binary64)) (*.f64 d d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 (/.f64 c d) a)) (neg.f64 b)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 c a (neg.f64 (/.f64 (*.f64 (*.f64 c c) b) d))) d)) (neg.f64 b)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 c a (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 c c) c) a) d) (*.f64 (neg.f64 b) (*.f64 c c))) d))) d)) (neg.f64 b)) d))) |
#s(approx (/ (+ (* b (/ d c)) a) c) (neg.f64 (*.f64 (+.f64 (/.f64 (neg.f64 b) (*.f64 c c)) (/.f64 (neg.f64 a) (*.f64 d c))) d))) |
#s(approx (+ (* b (/ d c)) a) (neg.f64 (*.f64 (-.f64 (/.f64 (neg.f64 a) d) (/.f64 b c)) d))) |
#s(approx (+ (* b (/ d c)) a) (neg.f64 (*.f64 (-.f64 (/.f64 (neg.f64 a) d) (/.f64 b c)) d))) |
Compiled 2 324 to 1 074 computations (53.8% saved)
21 alts after pruning (14 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 204 | 7 | 211 |
| Fresh | 3 | 7 | 10 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 3 | 3 |
| Total | 208 | 21 | 229 |
| Status | Accuracy | Program |
|---|---|---|
| 38.0% | (/.f64 (fma.f64 c a (*.f64 d b)) #s(approx (+ (* c c) (* d d)) (*.f64 d d))) | |
| ✓ | 51.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))) |
| ✓ | 51.8% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
| ✓ | 56.6% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
| ▶ | 56.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) d)) |
| ▶ | 51.8% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c)) |
| 20.6% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (/.f64 (*.f64 d b) c)) c)) | |
| ✓ | 21.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c)) |
| 44.3% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 b c) (/.f64 a d)) d)) c)) | |
| ▶ | 25.9% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d)) |
| ✓ | 41.8% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
| ✓ | 41.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
| 51.7% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 (/.f64 d c) b a) (/.f64 #s(literal 1 binary64) c))) | |
| 21.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) (/.f64 #s(literal 1 binary64) c))) | |
| ▶ | 40.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
| ▶ | 41.6% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) d))) |
| ✓ | 44.7% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
| 23.5% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c #s(approx (+ (* d d) (* c c)) (*.f64 d d))))) | |
| 23.4% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 #s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d))))) | |
| 34.9% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (/.f64 (fma.f64 d b (*.f64 c a)) (*.f64 c c)))) | |
| 19.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 b (/.f64 d (*.f64 c c))))) |
Compiled 621 to 617 computations (0.6% saved)
| Inputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) d)) |
(/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) d) |
(-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) |
(/.f64 (*.f64 a c) d) |
(*.f64 a c) |
a |
c |
d |
(neg.f64 b) |
b |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) d))) |
(*.f64 b (/.f64 #s(literal 1 binary64) d)) |
(/.f64 #s(literal 1 binary64) d) |
#s(literal 1 binary64) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d)) |
(/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) |
(*.f64 (/.f64 c d) a) |
(/.f64 c d) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c)) |
(/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c) |
(+.f64 (*.f64 (/.f64 d c) b) a) |
(*.f64 (/.f64 d c) b) |
(/.f64 d c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
(*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c)))) |
(/.f64 d (fma.f64 d d (*.f64 c c))) |
(fma.f64 d d (*.f64 c c)) |
(*.f64 c c) |
| Outputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* b d) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (/ (* a c) (+ (pow c 2) (pow d 2))) (/ (* b d) (+ (pow c 2) (pow d 2)))))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (/ b d))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (+ (/ b d) (/ (* a c) (pow d 2))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 b)) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (+ b (/ (* a c) d)))) |
#s(approx (/ (* a c) d) #s(hole binary64 (/ (* a c) d))) |
#s(approx (* a c) #s(hole binary64 (* a c))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (/ (* b d) (pow c 2)))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (+ (/ a c) (/ (* b d) (pow c 2))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (/ (* b d) c))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (+ a (/ (* b d) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* a c) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* a (+ (/ c (+ (pow c 2) (pow d 2))) (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (/ (* a c) (pow d 2)))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (* a (+ (/ b (* a d)) (/ c (pow d 2)))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (* a (+ (/ b a) (/ c d))))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (/ a c))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (* a (+ (/ 1 c) (/ (* b d) (* a (pow c 2))))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (* a (+ 1 (/ (* b d) (* a c)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* a (+ (* -1 (/ c (+ (pow c 2) (pow d 2)))) (* -1 (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (* -1 (* a (+ (* -1 (/ b (* a d))) (* -1 (/ c (pow d 2)))))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (* -1 (* a (+ (* -1 (/ b a)) (* -1 (/ c d))))))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (* b d) (* a (pow c 2)))) (/ 1 c)))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (* -1 (* a (- (* -1 (/ (* b d) (* a c))) 1))))) |
#s(approx (neg b) #s(hole binary64 (* -1 b))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* b (+ (/ d (+ (pow c 2) (pow d 2))) (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (* b (+ (/ 1 d) (/ (* a c) (* b (pow d 2))))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (* b (+ 1 (/ (* a c) (* b d)))))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (* b (+ (/ a (* b c)) (/ d (pow c 2)))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (* b (+ (/ a b) (/ d c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ d (+ (pow c 2) (pow d 2)))) (* -1 (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (* -1 (* b (- (* -1 (/ (* a c) (* b (pow d 2)))) (/ 1 d)))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (* -1 (* b (- (* -1 (/ (* a c) (* b d))) 1))))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (* -1 (* b (+ (* -1 (/ a (* b c))) (* -1 (/ d (pow c 2)))))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (* -1 (* b (+ (* -1 (/ a b)) (* -1 (/ d c))))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* -1 (/ (* b c) (pow d 3))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* c (- (* -1 (/ (* a c) (pow d 4))) (/ b (pow d 3)))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx c #s(hole binary64 c)) |
#s(approx (/ c d) #s(hole binary64 (/ c d))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (/ (+ (* a c) (* b d)) (pow c 2)))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (/ (+ (* a c) (* b d)) c))) |
#s(approx (/ d c) #s(hole binary64 (/ d c))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (+ (* -1 (/ (* b (pow c 2)) (pow d 3))) (/ b d)))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (+ (* (pow c 2) (- (/ (* b (pow c 2)) (pow d 5)) (/ b (pow d 3)))) (/ b d)))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (+ (* (pow c 2) (- (* (pow c 2) (- (* -1 (/ (* b (pow c 2)) (pow d 7))) (* -1 (/ b (pow d 5))))) (/ b (pow d 3)))) (/ b d)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ 1 d))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (+ (* -1 (/ (pow c 2) (pow d 3))) (/ 1 d)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (+ (* (pow c 2) (- (/ (pow c 2) (pow d 5)) (/ 1 (pow d 3)))) (/ 1 d)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (+ (* (pow c 2) (- (* (pow c 2) (+ (* -1 (/ (pow c 2) (pow d 7))) (/ 1 (pow d 5)))) (/ 1 (pow d 3)))) (/ 1 d)))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (pow d 2))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (+ (pow c 2) (pow d 2)))) |
#s(approx (* c c) #s(hole binary64 (pow c 2))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (/ (* b d) c)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (+ (* -1 (/ (* a (pow d 2)) (pow c 2))) (/ (* b d) c))) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ a (+ (* -1 (/ (* b (pow d 3)) (pow c 3))) (/ (* b d) c))) (/ (* a (pow d 2)) (pow c 2))) c))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (* c (+ (/ a (pow d 2)) (/ b (* c d)))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (* c (+ (/ a d) (/ b c))))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (/ (+ (* -1 (/ (* b (pow d 3)) (pow c 2))) (* b d)) (pow c 2)))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ (* b d) (/ (* b (pow d 5)) (pow c 4))) (/ (* b (pow d 3)) (pow c 2))) (pow c 2)))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ (* -1 (/ (* b (pow d 7)) (pow c 6))) (* b d)) (+ (* -1 (/ (* b (pow d 5)) (pow c 4))) (/ (* b (pow d 3)) (pow c 2)))) (pow c 2)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ d (pow c 2)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ (+ d (* -1 (/ (pow d 3) (pow c 2)))) (pow c 2)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ d (/ (pow d 5) (pow c 4))) (/ (pow d 3) (pow c 2))) (pow c 2)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ d (* -1 (/ (pow d 7) (pow c 6)))) (+ (* -1 (/ (pow d 5) (pow c 4))) (/ (pow d 3) (pow c 2)))) (pow c 2)))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (* (pow c 2) (+ 1 (/ (pow d 2) (pow c 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (* b d) c))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (* a (pow d 2)) c)) (* b d)) c))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (- (/ (* b (pow d 3)) c) (* -1 (* a (pow d 2)))) c)) (* b d)) c))) c)))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (* -1 (* c (+ (* -1 (/ a (pow d 2))) (* -1 (/ b (* c d)))))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (* -1 (* c (+ (* -1 (/ a d)) (* -1 (/ b c))))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* -1 (/ (* a d) (pow c 3))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* d (- (* -1 (/ (* b d) (pow c 4))) (/ a (pow c 3)))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (/ (+ (* a c) (* b d)) (pow d 2)))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (/ (+ (* a c) (* b d)) d))) |
#s(approx d #s(hole binary64 d)) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (* d (+ (* -1 (/ (* b (pow d 2)) (pow c 4))) (/ b (pow c 2)))))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (* d (+ (* (pow d 2) (- (/ (* b (pow d 2)) (pow c 6)) (/ b (pow c 4)))) (/ b (pow c 2)))))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (* d (+ (* (pow d 2) (- (* (pow d 2) (- (* -1 (/ (* b (pow d 2)) (pow c 8))) (* -1 (/ b (pow c 6))))) (/ b (pow c 4)))) (/ b (pow c 2)))))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (* d (+ (* -1 (/ (pow d 2) (pow c 4))) (/ 1 (pow c 2)))))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (* d (+ (* (pow d 2) (- (/ (pow d 2) (pow c 6)) (/ 1 (pow c 4)))) (/ 1 (pow c 2)))))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (* d (+ (* (pow d 2) (- (* (pow d 2) (+ (* -1 (/ (pow d 2) (pow c 8))) (/ 1 (pow c 6)))) (/ 1 (pow c 4)))) (/ 1 (pow c 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (/ (* a c) d)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (+ (* -1 (/ (* b (pow c 2)) (pow d 2))) (/ (* a c) d))) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ b (+ (* -1 (/ (* a (pow c 3)) (pow d 3))) (/ (* a c) d))) (/ (* b (pow c 2)) (pow d 2))) d))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (* d (+ (/ a (* c d)) (/ b (pow c 2)))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (* d (+ (/ a d) (/ b c))))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (/ (+ b (* -1 (/ (* b (pow c 2)) (pow d 2)))) d))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ b (/ (* b (pow c 4)) (pow d 4))) (/ (* b (pow c 2)) (pow d 2))) d))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ b (* -1 (/ (* b (pow c 6)) (pow d 6)))) (+ (* -1 (/ (* b (pow c 4)) (pow d 4))) (/ (* b (pow c 2)) (pow d 2)))) d))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ (+ 1 (* -1 (/ (pow c 2) (pow d 2)))) d))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ 1 (/ (pow c 4) (pow d 4))) (/ (pow c 2) (pow d 2))) d))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ 1 (* -1 (/ (pow c 6) (pow d 6)))) (+ (* -1 (/ (pow c 4) (pow d 4))) (/ (pow c 2) (pow d 2)))) d))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (* (pow d 2) (+ 1 (/ (pow c 2) (pow d 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (* a c) d))) d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (* b (pow c 2)) d)) (* a c)) d))) d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (- (/ (* a (pow c 3)) d) (* -1 (* b (pow c 2)))) d)) (* a c)) d))) d)))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (* -1 (* d (+ (* -1 (/ a (* c d))) (* -1 (/ b (pow c 2)))))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (* -1 (* d (+ (* -1 (/ a d)) (* -1 (/ b c))))))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (/ (* b (pow c 2)) (pow d 2))) d)))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (+ (* -1 (/ (* b (pow c 4)) (pow d 4))) (/ (* b (pow c 2)) (pow d 2)))) d)))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (+ (* -1 (/ (* b (pow c 4)) (pow d 4))) (+ (/ (* b (pow c 2)) (pow d 2)) (/ (* b (pow c 6)) (pow d 6))))) d)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (* -1 (/ (- (/ (pow c 2) (pow d 2)) 1) d)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (* -1 (/ (- (* -1 (/ (pow c 4) (pow d 4))) (+ 1 (* -1 (/ (pow c 2) (pow d 2))))) d)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (* -1 (/ (- (/ (pow c 6) (pow d 6)) (+ 1 (+ (* -1 (/ (pow c 2) (pow d 2))) (/ (pow c 4) (pow d 4))))) d)))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 63.0ms | b | @ | 0 | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (- (/ (* a c) d) (neg b)) d) (- (/ (* a c) d) (neg b)) (/ (* a c) d) (* a c) a c d (neg b) b (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* b (/ 1 d)) (/ 1 d) 1 (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* a (/ c d)) b) d) (+ (* a (/ c d)) b) (* (/ c d) a) (/ c d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* (/ d c) b) a) c) (+ (* (/ d c) b) a) (* (/ d c) b) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* b (/ d (+ (* d d) (* c c)))) (/ d (+ (* d d) (* c c))) (+ (* d d) (* c c)) (* c c)) |
| 16.0ms | d | @ | 0 | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (- (/ (* a c) d) (neg b)) d) (- (/ (* a c) d) (neg b)) (/ (* a c) d) (* a c) a c d (neg b) b (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* b (/ 1 d)) (/ 1 d) 1 (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* a (/ c d)) b) d) (+ (* a (/ c d)) b) (* (/ c d) a) (/ c d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* (/ d c) b) a) c) (+ (* (/ d c) b) a) (* (/ d c) b) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* b (/ d (+ (* d d) (* c c)))) (/ d (+ (* d d) (* c c))) (+ (* d d) (* c c)) (* c c)) |
| 4.0ms | d | @ | -inf | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (- (/ (* a c) d) (neg b)) d) (- (/ (* a c) d) (neg b)) (/ (* a c) d) (* a c) a c d (neg b) b (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* b (/ 1 d)) (/ 1 d) 1 (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* a (/ c d)) b) d) (+ (* a (/ c d)) b) (* (/ c d) a) (/ c d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* (/ d c) b) a) c) (+ (* (/ d c) b) a) (* (/ d c) b) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* b (/ d (+ (* d d) (* c c)))) (/ d (+ (* d d) (* c c))) (+ (* d d) (* c c)) (* c c)) |
| 3.0ms | b | @ | -inf | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (- (/ (* a c) d) (neg b)) d) (- (/ (* a c) d) (neg b)) (/ (* a c) d) (* a c) a c d (neg b) b (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* b (/ 1 d)) (/ 1 d) 1 (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* a (/ c d)) b) d) (+ (* a (/ c d)) b) (* (/ c d) a) (/ c d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* (/ d c) b) a) c) (+ (* (/ d c) b) a) (* (/ d c) b) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* b (/ d (+ (* d d) (* c c)))) (/ d (+ (* d d) (* c c))) (+ (* d d) (* c c)) (* c c)) |
| 3.0ms | c | @ | -inf | ((/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (- (/ (* a c) d) (neg b)) d) (- (/ (* a c) d) (neg b)) (/ (* a c) d) (* a c) a c d (neg b) b (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* b (/ 1 d)) (/ 1 d) 1 (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* a (/ c d)) b) d) (+ (* a (/ c d)) b) (* (/ c d) a) (/ c d) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ (+ (* (/ d c) b) a) c) (+ (* (/ d c) b) a) (* (/ d c) b) (/ d c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* b (/ d (+ (* d d) (* c c)))) (/ d (+ (* d d) (* c c))) (+ (* d d) (* c c)) (* c c)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 574 | 3163 |
| 0 | 601 | 2961 |
| 1 | 4112 | 2957 |
| 0 | 8294 | 2807 |
| 1 | 24876 | 2807 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) d)) |
(/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) d) |
(-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) |
(/.f64 (*.f64 a c) d) |
(*.f64 a c) |
a |
c |
d |
(neg.f64 b) |
b |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) d))) |
(*.f64 b (/.f64 #s(literal 1 binary64) d)) |
(/.f64 #s(literal 1 binary64) d) |
#s(literal 1 binary64) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d)) |
(/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) |
(*.f64 (/.f64 c d) a) |
(/.f64 c d) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c)) |
(/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c) |
(+.f64 (*.f64 (/.f64 d c) b) a) |
(*.f64 (/.f64 d c) b) |
(/.f64 d c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
(*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c)))) |
(/.f64 d (fma.f64 d d (*.f64 c c))) |
(fma.f64 d d (*.f64 c c)) |
(*.f64 c c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* b d) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (/ (* a c) (+ (pow c 2) (pow d 2))) (/ (* b d) (+ (pow c 2) (pow d 2)))))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (/ b d))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (+ (/ b d) (/ (* a c) (pow d 2))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 b)) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (+ b (/ (* a c) d)))) |
#s(approx (/ (* a c) d) #s(hole binary64 (/ (* a c) d))) |
#s(approx (* a c) #s(hole binary64 (* a c))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (/ (* b d) (pow c 2)))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (+ (/ a c) (/ (* b d) (pow c 2))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (/ (* b d) c))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (+ a (/ (* b d) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (* a c) (+ (pow c 2) (pow d 2))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* a (+ (/ c (+ (pow c 2) (pow d 2))) (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (/ (* a c) (pow d 2)))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (* a (+ (/ b (* a d)) (/ c (pow d 2)))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (* a (+ (/ b a) (/ c d))))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (/ a c))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (* a (+ (/ 1 c) (/ (* b d) (* a (pow c 2))))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (* a (+ 1 (/ (* b d) (* a c)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* a (+ (* -1 (/ c (+ (pow c 2) (pow d 2)))) (* -1 (/ (* b d) (* a (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (* -1 (* a (+ (* -1 (/ b (* a d))) (* -1 (/ c (pow d 2)))))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (* -1 (* a (+ (* -1 (/ b a)) (* -1 (/ c d))))))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (* b d) (* a (pow c 2)))) (/ 1 c)))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (* -1 (* a (- (* -1 (/ (* b d) (* a c))) 1))))) |
#s(approx (neg b) #s(hole binary64 (* -1 b))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* b (+ (/ d (+ (pow c 2) (pow d 2))) (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (* b (+ (/ 1 d) (/ (* a c) (* b (pow d 2))))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (* b (+ 1 (/ (* a c) (* b d)))))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (* b (+ (/ a (* b c)) (/ d (pow c 2)))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (* b (+ (/ a b) (/ d c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ d (+ (pow c 2) (pow d 2)))) (* -1 (/ (* a c) (* b (+ (pow c 2) (pow d 2)))))))))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (* -1 (* b (- (* -1 (/ (* a c) (* b (pow d 2)))) (/ 1 d)))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (* -1 (* b (- (* -1 (/ (* a c) (* b d))) 1))))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (* -1 (* b (+ (* -1 (/ a (* b c))) (* -1 (/ d (pow c 2)))))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (* -1 (* b (+ (* -1 (/ a b)) (* -1 (/ d c))))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* -1 (/ (* b c) (pow d 3))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* c (+ (* c (- (* -1 (/ (* a c) (pow d 4))) (/ b (pow d 3)))) (/ a (pow d 2)))) (/ b d)))) |
#s(approx c #s(hole binary64 c)) |
#s(approx (/ c d) #s(hole binary64 (/ c d))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (/ (+ (* a c) (* b d)) (pow c 2)))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (/ (+ (* a c) (* b d)) c))) |
#s(approx (/ d c) #s(hole binary64 (/ d c))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (+ (* -1 (/ (* b (pow c 2)) (pow d 3))) (/ b d)))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (+ (* (pow c 2) (- (/ (* b (pow c 2)) (pow d 5)) (/ b (pow d 3)))) (/ b d)))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (+ (* (pow c 2) (- (* (pow c 2) (- (* -1 (/ (* b (pow c 2)) (pow d 7))) (* -1 (/ b (pow d 5))))) (/ b (pow d 3)))) (/ b d)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ 1 d))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (+ (* -1 (/ (pow c 2) (pow d 3))) (/ 1 d)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (+ (* (pow c 2) (- (/ (pow c 2) (pow d 5)) (/ 1 (pow d 3)))) (/ 1 d)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (+ (* (pow c 2) (- (* (pow c 2) (+ (* -1 (/ (pow c 2) (pow d 7))) (/ 1 (pow d 5)))) (/ 1 (pow d 3)))) (/ 1 d)))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (pow d 2))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (+ (pow c 2) (pow d 2)))) |
#s(approx (* c c) #s(hole binary64 (pow c 2))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (/ (* b d) c)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ a (+ (* -1 (/ (* a (pow d 2)) (pow c 2))) (/ (* b d) c))) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ a (+ (* -1 (/ (* b (pow d 3)) (pow c 3))) (/ (* b d) c))) (/ (* a (pow d 2)) (pow c 2))) c))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (* c (+ (/ a (pow d 2)) (/ b (* c d)))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (* c (+ (/ a d) (/ b c))))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (/ (+ (* -1 (/ (* b (pow d 3)) (pow c 2))) (* b d)) (pow c 2)))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ (* b d) (/ (* b (pow d 5)) (pow c 4))) (/ (* b (pow d 3)) (pow c 2))) (pow c 2)))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ (* -1 (/ (* b (pow d 7)) (pow c 6))) (* b d)) (+ (* -1 (/ (* b (pow d 5)) (pow c 4))) (/ (* b (pow d 3)) (pow c 2)))) (pow c 2)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ d (pow c 2)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ (+ d (* -1 (/ (pow d 3) (pow c 2)))) (pow c 2)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ d (/ (pow d 5) (pow c 4))) (/ (pow d 3) (pow c 2))) (pow c 2)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ d (* -1 (/ (pow d 7) (pow c 6)))) (+ (* -1 (/ (pow d 5) (pow c 4))) (/ (pow d 3) (pow c 2)))) (pow c 2)))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (* (pow c 2) (+ 1 (/ (pow d 2) (pow c 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (* b d) c))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (* a (pow d 2)) c)) (* b d)) c))) c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 a) (* -1 (/ (+ (* -1 (/ (- (/ (* b (pow d 3)) c) (* -1 (* a (pow d 2)))) c)) (* b d)) c))) c)))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (* -1 (* c (+ (* -1 (/ a (pow d 2))) (* -1 (/ b (* c d)))))))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (* -1 (* c (+ (* -1 (/ a d)) (* -1 (/ b c))))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* -1 (/ (* a d) (pow c 3))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (+ (* d (+ (* d (- (* -1 (/ (* b d) (pow c 4))) (/ a (pow c 3)))) (/ b (pow c 2)))) (/ a c)))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) #s(hole binary64 (/ (+ (* a c) (* b d)) (pow d 2)))) |
#s(approx (- (/ (* a c) d) (neg b)) #s(hole binary64 (/ (+ (* a c) (* b d)) d))) |
#s(approx d #s(hole binary64 d)) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (* d (+ (* -1 (/ (* b (pow d 2)) (pow c 4))) (/ b (pow c 2)))))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (* d (+ (* (pow d 2) (- (/ (* b (pow d 2)) (pow c 6)) (/ b (pow c 4)))) (/ b (pow c 2)))))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (* d (+ (* (pow d 2) (- (* (pow d 2) (- (* -1 (/ (* b (pow d 2)) (pow c 8))) (* -1 (/ b (pow c 6))))) (/ b (pow c 4)))) (/ b (pow c 2)))))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (* d (+ (* -1 (/ (pow d 2) (pow c 4))) (/ 1 (pow c 2)))))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (* d (+ (* (pow d 2) (- (/ (pow d 2) (pow c 6)) (/ 1 (pow c 4)))) (/ 1 (pow c 2)))))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (* d (+ (* (pow d 2) (- (* (pow d 2) (+ (* -1 (/ (pow d 2) (pow c 8))) (/ 1 (pow c 6)))) (/ 1 (pow c 4)))) (/ 1 (pow c 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (/ (* a c) d)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (+ b (+ (* -1 (/ (* b (pow c 2)) (pow d 2))) (/ (* a c) d))) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (/ (- (+ b (+ (* -1 (/ (* a (pow c 3)) (pow d 3))) (/ (* a c) d))) (/ (* b (pow c 2)) (pow d 2))) d))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (* d (+ (/ a (* c d)) (/ b (pow c 2)))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (* d (+ (/ a d) (/ b c))))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (/ (+ b (* -1 (/ (* b (pow c 2)) (pow d 2)))) d))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ b (/ (* b (pow c 4)) (pow d 4))) (/ (* b (pow c 2)) (pow d 2))) d))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (/ (- (+ b (* -1 (/ (* b (pow c 6)) (pow d 6)))) (+ (* -1 (/ (* b (pow c 4)) (pow d 4))) (/ (* b (pow c 2)) (pow d 2)))) d))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ (+ 1 (* -1 (/ (pow c 2) (pow d 2)))) d))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ 1 (/ (pow c 4) (pow d 4))) (/ (pow c 2) (pow d 2))) d))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (/ (- (+ 1 (* -1 (/ (pow c 6) (pow d 6)))) (+ (* -1 (/ (pow c 4) (pow d 4))) (/ (pow c 2) (pow d 2)))) d))) |
#s(approx (+ (* d d) (* c c)) #s(hole binary64 (* (pow d 2) (+ 1 (/ (pow c 2) (pow d 2)))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (* a c) d))) d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (* b (pow c 2)) d)) (* a c)) d))) d)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (* -1 (/ (+ (* -1 (/ (- (/ (* a (pow c 3)) d) (* -1 (* b (pow c 2)))) d)) (* a c)) d))) d)))) |
#s(approx (/ (+ (* (/ d c) b) a) c) #s(hole binary64 (* -1 (* d (+ (* -1 (/ a (* c d))) (* -1 (/ b (pow c 2)))))))) |
#s(approx (+ (* (/ d c) b) a) #s(hole binary64 (* -1 (* d (+ (* -1 (/ a d)) (* -1 (/ b c))))))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (/ (* b (pow c 2)) (pow d 2))) d)))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (+ (* -1 (/ (* b (pow c 4)) (pow d 4))) (/ (* b (pow c 2)) (pow d 2)))) d)))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) #s(hole binary64 (* -1 (/ (+ (* -1 b) (+ (* -1 (/ (* b (pow c 4)) (pow d 4))) (+ (/ (* b (pow c 2)) (pow d 2)) (/ (* b (pow c 6)) (pow d 6))))) d)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (* -1 (/ (- (/ (pow c 2) (pow d 2)) 1) d)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (* -1 (/ (- (* -1 (/ (pow c 4) (pow d 4))) (+ 1 (* -1 (/ (pow c 2) (pow d 2))))) d)))) |
#s(approx (/ d (+ (* d d) (* c c))) #s(hole binary64 (* -1 (/ (- (/ (pow c 6) (pow d 6)) (+ 1 (+ (* -1 (/ (pow c 2) (pow d 2))) (/ (pow c 4) (pow d 4))))) d)))) |
| Outputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (/.f64 c d) a b) d)) |
(*.f64 (fma.f64 (/.f64 c d) a b) (/.f64 #s(literal 1 binary64) d)) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 (/.f64 c d) a b))) (neg.f64 (neg.f64 d))) |
(/.f64 (neg.f64 (fma.f64 (/.f64 c d) a b)) (neg.f64 d)) |
(/.f64 (fma.f64 (/.f64 c d) a b) d) |
(fma.f64 (/.f64 #s(literal 1 binary64) d) b (/.f64 (*.f64 (/.f64 c d) a) d)) |
(fma.f64 b (/.f64 #s(literal 1 binary64) d) (/.f64 (*.f64 (/.f64 c d) a) d)) |
(-.f64 (/.f64 (*.f64 (/.f64 c d) a) d) (/.f64 (neg.f64 b) d)) |
(+.f64 (/.f64 b d) (/.f64 (*.f64 (/.f64 c d) a) d)) |
(neg.f64 (-.f64 (neg.f64 b) (*.f64 (/.f64 c d) a))) |
(fma.f64 (/.f64 c d) a (neg.f64 (neg.f64 b))) |
(fma.f64 (/.f64 c d) a b) |
(fma.f64 (*.f64 c a) (/.f64 #s(literal 1 binary64) d) (neg.f64 (neg.f64 b))) |
(fma.f64 (*.f64 c a) (/.f64 #s(literal 1 binary64) d) b) |
(fma.f64 a (/.f64 c d) (neg.f64 (neg.f64 b))) |
(fma.f64 a (/.f64 c d) b) |
(-.f64 (*.f64 (/.f64 c d) a) (neg.f64 b)) |
(-.f64 b (neg.f64 (*.f64 (/.f64 c d) a))) |
(+.f64 (*.f64 (/.f64 c d) a) (neg.f64 (neg.f64 b))) |
(+.f64 (*.f64 (/.f64 c d) a) b) |
(+.f64 b (*.f64 (/.f64 c d) a)) |
(*.f64 (/.f64 c d) a) |
(*.f64 (*.f64 c a) (/.f64 #s(literal 1 binary64) d)) |
(*.f64 a (/.f64 c d)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 c a))) (neg.f64 (neg.f64 d))) |
(/.f64 (neg.f64 (*.f64 c a)) (neg.f64 d)) |
(/.f64 (*.f64 c a) d) |
(*.f64 c a) |
(*.f64 a c) |
a |
c |
d |
(*.f64 #s(literal -1 binary64) b) |
(*.f64 b #s(literal -1 binary64)) |
(neg.f64 b) |
b |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
(*.f64 (/.f64 #s(literal 1 binary64) d) b) |
(*.f64 b (/.f64 #s(literal 1 binary64) d)) |
(/.f64 (neg.f64 (*.f64 b #s(literal 1 binary64))) (neg.f64 d)) |
(/.f64 (*.f64 b #s(literal 1 binary64)) d) |
(/.f64 (neg.f64 (neg.f64 b)) (neg.f64 (neg.f64 d))) |
(/.f64 (neg.f64 b) (neg.f64 d)) |
(/.f64 b d) |
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) d)) |
(pow.f64 d #s(literal -1 binary64)) |
(/.f64 #s(literal -1 binary64) (neg.f64 d)) |
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 d))) |
(/.f64 #s(literal 1 binary64) d) |
#s(literal 1 binary64) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d)) |
(*.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) (/.f64 #s(literal 1 binary64) d)) |
(/.f64 (neg.f64 (neg.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)))) (neg.f64 (neg.f64 d))) |
(/.f64 (neg.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a))) (neg.f64 d)) |
(/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) |
(*.f64 (/.f64 c d) a) |
(*.f64 (*.f64 c a) (/.f64 #s(literal 1 binary64) d)) |
(*.f64 a (/.f64 c d)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 c a))) (neg.f64 (neg.f64 d))) |
(/.f64 (neg.f64 (*.f64 c a)) (neg.f64 d)) |
(/.f64 (*.f64 c a) d) |
(*.f64 c (/.f64 #s(literal 1 binary64) d)) |
(/.f64 (neg.f64 (neg.f64 c)) (neg.f64 (neg.f64 d))) |
(/.f64 (neg.f64 c) (neg.f64 d)) |
(/.f64 c d) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (/.f64 d c) b a) c)) |
(*.f64 (fma.f64 (/.f64 d c) b a) (/.f64 #s(literal 1 binary64) c)) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 (/.f64 d c) b a))) (neg.f64 (neg.f64 c))) |
(/.f64 (neg.f64 (fma.f64 (/.f64 d c) b a)) (neg.f64 c)) |
(/.f64 (fma.f64 (/.f64 d c) b a) c) |
(fma.f64 a (/.f64 #s(literal 1 binary64) c) (/.f64 (*.f64 (/.f64 d c) b) c)) |
(+.f64 (/.f64 (*.f64 (/.f64 d c) b) c) (/.f64 a c)) |
(+.f64 (/.f64 a c) (/.f64 (*.f64 (/.f64 d c) b) c)) |
(fma.f64 (/.f64 d c) b a) |
(fma.f64 (*.f64 d b) (/.f64 #s(literal 1 binary64) c) a) |
(fma.f64 b (/.f64 d c) a) |
(-.f64 (*.f64 (/.f64 d c) b) (neg.f64 a)) |
(-.f64 a (neg.f64 (*.f64 (/.f64 d c) b))) |
(+.f64 (*.f64 (/.f64 d c) b) a) |
(+.f64 a (*.f64 (/.f64 d c) b)) |
(*.f64 (/.f64 d c) b) |
(*.f64 (*.f64 d b) (/.f64 #s(literal 1 binary64) c)) |
(*.f64 b (/.f64 d c)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 d b))) (neg.f64 (neg.f64 c))) |
(/.f64 (neg.f64 (*.f64 d b)) (neg.f64 c)) |
(/.f64 (*.f64 d b) c) |
(*.f64 d (/.f64 #s(literal 1 binary64) c)) |
(/.f64 (neg.f64 (neg.f64 d)) (neg.f64 (neg.f64 c))) |
(/.f64 (neg.f64 d) (neg.f64 c)) |
(/.f64 d c) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (/.f64 d (fma.f64 d d (*.f64 c c))) b)) |
(*.f64 (/.f64 d (fma.f64 d d (*.f64 c c))) b) |
(*.f64 (*.f64 d b) (/.f64 #s(literal 1 binary64) (fma.f64 d d (*.f64 c c)))) |
(*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c)))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 d b))) (neg.f64 (neg.f64 (fma.f64 d d (*.f64 c c))))) |
(/.f64 (neg.f64 (*.f64 d b)) (neg.f64 (fma.f64 d d (*.f64 c c)))) |
(/.f64 (*.f64 d b) (fma.f64 d d (*.f64 c c))) |
(*.f64 d (/.f64 #s(literal 1 binary64) (fma.f64 d d (*.f64 c c)))) |
(/.f64 (neg.f64 (neg.f64 d)) (neg.f64 (neg.f64 (fma.f64 d d (*.f64 c c))))) |
(/.f64 (neg.f64 d) (neg.f64 (fma.f64 d d (*.f64 c c)))) |
(/.f64 d (fma.f64 d d (*.f64 c c))) |
(fma.f64 (fabs.f64 (fabs.f64 d)) (fabs.f64 (fabs.f64 d)) (*.f64 c c)) |
(fma.f64 (fabs.f64 (fabs.f64 c)) (fabs.f64 (fabs.f64 c)) (*.f64 d d)) |
(fma.f64 (neg.f64 (fabs.f64 d)) (neg.f64 (fabs.f64 d)) (*.f64 c c)) |
(fma.f64 (neg.f64 (neg.f64 d)) (neg.f64 (neg.f64 d)) (*.f64 c c)) |
(fma.f64 (neg.f64 (fabs.f64 c)) (neg.f64 (fabs.f64 c)) (*.f64 d d)) |
(fma.f64 (neg.f64 (neg.f64 c)) (neg.f64 (neg.f64 c)) (*.f64 d d)) |
(fma.f64 (fabs.f64 d) (fabs.f64 d) (*.f64 c c)) |
(fma.f64 (fabs.f64 c) (fabs.f64 c) (*.f64 d d)) |
(fma.f64 (neg.f64 d) (neg.f64 d) (*.f64 c c)) |
(fma.f64 (neg.f64 c) (neg.f64 c) (*.f64 d d)) |
(fma.f64 d d (*.f64 c c)) |
(fma.f64 c c (*.f64 d d)) |
(-.f64 (*.f64 d d) (*.f64 (neg.f64 c) c)) |
(-.f64 (*.f64 d d) (neg.f64 (*.f64 c c))) |
(-.f64 (*.f64 c c) (*.f64 (neg.f64 d) d)) |
(-.f64 (*.f64 c c) (neg.f64 (*.f64 d d))) |
(+.f64 (*.f64 d d) (*.f64 c c)) |
(+.f64 (*.f64 c c) (*.f64 d d)) |
(*.f64 (fabs.f64 (fabs.f64 c)) (fabs.f64 (fabs.f64 c))) |
(*.f64 (neg.f64 (fabs.f64 c)) (neg.f64 (fabs.f64 c))) |
(*.f64 (neg.f64 (neg.f64 c)) (neg.f64 (neg.f64 c))) |
(*.f64 (fabs.f64 c) (fabs.f64 c)) |
(*.f64 (neg.f64 c) (neg.f64 c)) |
(*.f64 c c) |
(pow.f64 (fabs.f64 (fabs.f64 c)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 c)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 c)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 c) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 c) #s(literal 2 binary64)) |
(pow.f64 c #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 c c) (*.f64 c c))) |
(fabs.f64 (neg.f64 (*.f64 c c))) |
(fabs.f64 (*.f64 c c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (/.f64 d (fma.f64 d d (*.f64 c c))) b)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 d b (*.f64 c a)) (fma.f64 d d (*.f64 c c)))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) (/.f64 b d)) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) (fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))) |
#s(approx (+ (* a (/ c d)) b) b) |
#s(approx (+ (* a (/ c d)) b) (fma.f64 (/.f64 c d) a b)) |
#s(approx (/ (* a c) d) (*.f64 (/.f64 c d) a)) |
#s(approx (* a c) (*.f64 c a)) |
#s(approx a a) |
#s(approx (/ (+ (* (/ d c) b) a) c) (*.f64 b (/.f64 d (*.f64 c c)))) |
#s(approx (/ (+ (* (/ d c) b) a) c) (fma.f64 b (/.f64 d (*.f64 c c)) (/.f64 a c))) |
#s(approx (+ (* (/ d c) b) a) (*.f64 (/.f64 d c) b)) |
#s(approx (+ (* (/ d c) b) a) (fma.f64 (/.f64 d c) b a)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 b (/.f64 d (*.f64 (fma.f64 d d (*.f64 c c)) a)) (/.f64 c (fma.f64 d d (*.f64 c c)))) a)) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) (*.f64 a (/.f64 c (*.f64 d d)))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) (*.f64 (+.f64 (/.f64 c (*.f64 d d)) (/.f64 b (*.f64 d a))) a)) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (+.f64 (/.f64 b a) (/.f64 c d)) a)) |
#s(approx (/ (+ (* (/ d c) b) a) c) (/.f64 a c)) |
#s(approx (/ (+ (* (/ d c) b) a) c) (*.f64 (fma.f64 b (/.f64 d (*.f64 (*.f64 c c) a)) (/.f64 #s(literal 1 binary64) c)) a)) |
#s(approx (+ (* (/ d c) b) a) (*.f64 (fma.f64 b (/.f64 d (*.f64 c a)) #s(literal 1 binary64)) a)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (neg.f64 a) (+.f64 (neg.f64 (*.f64 b (/.f64 d (*.f64 (fma.f64 d d (*.f64 c c)) a)))) (neg.f64 (/.f64 c (fma.f64 d d (*.f64 c c))))))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) (*.f64 (neg.f64 a) (+.f64 (neg.f64 (/.f64 c (*.f64 d d))) (/.f64 (neg.f64 b) (*.f64 d a))))) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (neg.f64 a) (+.f64 (neg.f64 (/.f64 c d)) (/.f64 (neg.f64 b) a)))) |
#s(approx (/ (+ (* (/ d c) b) a) c) (*.f64 (neg.f64 a) (neg.f64 (fma.f64 b (/.f64 d (*.f64 (*.f64 c c) a)) (/.f64 #s(literal 1 binary64) c))))) |
#s(approx (+ (* (/ d c) b) a) (*.f64 (neg.f64 a) (neg.f64 (fma.f64 b (/.f64 d (*.f64 c a)) #s(literal 1 binary64))))) |
#s(approx (neg b) (neg.f64 b)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 a (/.f64 c (*.f64 (fma.f64 d d (*.f64 c c)) b)) (/.f64 d (fma.f64 d d (*.f64 c c)))) b)) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) (*.f64 (fma.f64 a (/.f64 c (*.f64 (*.f64 d d) b)) (/.f64 #s(literal 1 binary64) d)) b)) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (fma.f64 a (/.f64 c (*.f64 d b)) #s(literal 1 binary64)) b)) |
#s(approx (/ (+ (* (/ d c) b) a) c) (*.f64 (+.f64 (/.f64 d (*.f64 c c)) (/.f64 a (*.f64 b c))) b)) |
#s(approx (+ (* (/ d c) b) a) (*.f64 (+.f64 (/.f64 a b) (/.f64 d c)) b)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (neg.f64 b) (+.f64 (neg.f64 (*.f64 a (/.f64 c (*.f64 (fma.f64 d d (*.f64 c c)) b)))) (neg.f64 (/.f64 d (fma.f64 d d (*.f64 c c))))))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) (*.f64 (neg.f64 b) (neg.f64 (fma.f64 a (/.f64 c (*.f64 (*.f64 d d) b)) (/.f64 #s(literal 1 binary64) d))))) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (neg.f64 b) (neg.f64 (fma.f64 a (/.f64 c (*.f64 d b)) #s(literal 1 binary64))))) |
#s(approx (/ (+ (* (/ d c) b) a) c) (*.f64 (neg.f64 b) (+.f64 (neg.f64 (/.f64 d (*.f64 c c))) (/.f64 (neg.f64 a) (*.f64 b c))))) |
#s(approx (+ (* (/ d c) b) a) (*.f64 (neg.f64 b) (+.f64 (neg.f64 (/.f64 d c)) (/.f64 (neg.f64 a) b)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (+.f64 (/.f64 a (*.f64 d d)) (neg.f64 (*.f64 b (/.f64 c (*.f64 (*.f64 d d) d))))) c (/.f64 b d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (fma.f64 (-.f64 (neg.f64 (/.f64 (*.f64 c a) (*.f64 (*.f64 d d) (*.f64 d d)))) (/.f64 b (*.f64 (*.f64 d d) d))) c (/.f64 a (*.f64 d d))) c (/.f64 b d))) |
#s(approx c c) |
#s(approx (/ c d) (/.f64 c d)) |
#s(approx (/ (+ (* (/ d c) b) a) c) (/.f64 (fma.f64 d b (*.f64 c a)) (*.f64 c c))) |
#s(approx (+ (* (/ d c) b) a) (/.f64 (fma.f64 d b (*.f64 c a)) c)) |
#s(approx (/ d c) (/.f64 d c)) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (+.f64 (/.f64 (*.f64 (neg.f64 b) (*.f64 c c)) (*.f64 (*.f64 d d) d)) (/.f64 b d))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (fma.f64 (-.f64 (*.f64 (*.f64 (*.f64 c c) b) (pow.f64 d #s(literal -5 binary64))) (/.f64 b (*.f64 (*.f64 d d) d))) (*.f64 c c) (/.f64 b d))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (fma.f64 (-.f64 (*.f64 (-.f64 (neg.f64 (*.f64 (*.f64 (*.f64 c c) b) (pow.f64 d #s(literal -7 binary64)))) (neg.f64 (*.f64 b (pow.f64 d #s(literal -5 binary64))))) (*.f64 c c)) (/.f64 b (*.f64 (*.f64 d d) d))) (*.f64 c c) (/.f64 b d))) |
#s(approx (/ d (+ (* d d) (* c c))) (/.f64 #s(literal 1 binary64) d)) |
#s(approx (/ d (+ (* d d) (* c c))) (+.f64 (neg.f64 (/.f64 (*.f64 c c) (*.f64 (*.f64 d d) d))) (/.f64 #s(literal 1 binary64) d))) |
#s(approx (/ d (+ (* d d) (* c c))) (fma.f64 (-.f64 (*.f64 (*.f64 c c) (pow.f64 d #s(literal -5 binary64))) (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 d d) d))) (*.f64 c c) (/.f64 #s(literal 1 binary64) d))) |
#s(approx (/ d (+ (* d d) (* c c))) (fma.f64 (-.f64 (*.f64 (+.f64 (pow.f64 d #s(literal -5 binary64)) (neg.f64 (*.f64 (*.f64 c c) (pow.f64 d #s(literal -7 binary64))))) (*.f64 c c)) (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 d d) d))) (*.f64 c c) (/.f64 #s(literal 1 binary64) d))) |
#s(approx (+ (* d d) (* c c)) (*.f64 d d)) |
#s(approx (+ (* d d) (* c c)) (fma.f64 d d (*.f64 c c))) |
#s(approx (* c c) (*.f64 c c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (/.f64 d c) b a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (fma.f64 (/.f64 d c) b (/.f64 (*.f64 (neg.f64 a) (*.f64 d d)) (*.f64 c c))) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (+.f64 (fma.f64 (/.f64 d c) b (neg.f64 (*.f64 b (/.f64 (*.f64 (*.f64 d d) d) (*.f64 (*.f64 c c) c))))) a) (/.f64 (*.f64 (*.f64 d d) a) (*.f64 c c))) c)) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) (*.f64 (+.f64 (/.f64 b (*.f64 d c)) (/.f64 a (*.f64 d d))) c)) |
#s(approx (+ (* a (/ c d)) b) (*.f64 (+.f64 (/.f64 b c) (/.f64 a d)) c)) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (/.f64 (fma.f64 d b (neg.f64 (/.f64 (*.f64 (*.f64 (*.f64 d d) d) b) (*.f64 c c)))) (*.f64 c c))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (/.f64 (-.f64 (fma.f64 d b (/.f64 (*.f64 (pow.f64 d #s(literal 5 binary64)) b) (*.f64 (*.f64 c c) (*.f64 c c)))) (/.f64 (*.f64 (*.f64 (*.f64 d d) d) b) (*.f64 c c))) (*.f64 c c))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (/.f64 (-.f64 (fma.f64 d b (neg.f64 (/.f64 (*.f64 (pow.f64 d #s(literal 7 binary64)) b) (*.f64 (*.f64 (*.f64 c c) (*.f64 c c)) (*.f64 c c))))) (fma.f64 b (/.f64 (*.f64 (*.f64 d d) d) (*.f64 c c)) (neg.f64 (/.f64 (*.f64 (pow.f64 d #s(literal 5 binary64)) b) (*.f64 (*.f64 c c) (*.f64 c c)))))) (*.f64 c c))) |
#s(approx (/ d (+ (* d d) (* c c))) (/.f64 d (*.f64 c c))) |
#s(approx (/ d (+ (* d d) (* c c))) (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 (*.f64 d d) d) (*.f64 c c))) d) (*.f64 c c))) |
#s(approx (/ d (+ (* d d) (* c c))) (/.f64 (-.f64 (+.f64 (/.f64 (pow.f64 d #s(literal 5 binary64)) (*.f64 (*.f64 c c) (*.f64 c c))) d) (/.f64 (*.f64 (*.f64 d d) d) (*.f64 c c))) (*.f64 c c))) |
#s(approx (/ d (+ (* d d) (* c c))) (/.f64 (+.f64 (+.f64 (/.f64 (pow.f64 d #s(literal 5 binary64)) (*.f64 (*.f64 c c) (*.f64 c c))) d) (-.f64 (neg.f64 (/.f64 (pow.f64 d #s(literal 7 binary64)) (*.f64 (*.f64 (*.f64 c c) (*.f64 c c)) (*.f64 c c)))) (/.f64 (*.f64 (*.f64 d d) d) (*.f64 c c)))) (*.f64 c c))) |
#s(approx (+ (* d d) (* c c)) (*.f64 (+.f64 (/.f64 (*.f64 d d) (*.f64 c c)) #s(literal 1 binary64)) (*.f64 c c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 (/.f64 d c) b)) (neg.f64 a)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 d b (neg.f64 (/.f64 (*.f64 (*.f64 d d) a) c))) c)) (neg.f64 a)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 d b (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 d d) d) b) c) (*.f64 (neg.f64 a) (*.f64 d d))) c))) c)) (neg.f64 a)) c))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) (neg.f64 (*.f64 (+.f64 (/.f64 (neg.f64 b) (*.f64 d c)) (/.f64 (neg.f64 a) (*.f64 d d))) c))) |
#s(approx (+ (* a (/ c d)) b) (neg.f64 (*.f64 (+.f64 (/.f64 (neg.f64 b) c) (/.f64 (neg.f64 a) d)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (+.f64 (/.f64 b (*.f64 c c)) (neg.f64 (*.f64 a (/.f64 d (*.f64 (*.f64 c c) c))))) d (/.f64 a c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 (fma.f64 (-.f64 (neg.f64 (/.f64 (*.f64 d b) (*.f64 (*.f64 c c) (*.f64 c c)))) (/.f64 a (*.f64 (*.f64 c c) c))) d (/.f64 b (*.f64 c c))) d (/.f64 a c))) |
#s(approx (/ (- (/ (* a c) d) (neg b)) d) (/.f64 (fma.f64 d b (*.f64 c a)) (*.f64 d d))) |
#s(approx (+ (* a (/ c d)) b) (/.f64 (fma.f64 d b (*.f64 c a)) d)) |
#s(approx d d) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (*.f64 (+.f64 (neg.f64 (*.f64 b (/.f64 (*.f64 d d) (*.f64 (*.f64 c c) (*.f64 c c))))) (/.f64 b (*.f64 c c))) d)) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (*.f64 (fma.f64 (-.f64 (*.f64 b (/.f64 (*.f64 d d) (*.f64 (*.f64 (*.f64 c c) (*.f64 c c)) (*.f64 c c)))) (/.f64 b (*.f64 (*.f64 c c) (*.f64 c c)))) (*.f64 d d) (/.f64 b (*.f64 c c))) d)) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (*.f64 (fma.f64 (-.f64 (*.f64 (-.f64 (neg.f64 (*.f64 (*.f64 (*.f64 d d) b) (pow.f64 c #s(literal -8 binary64)))) (/.f64 (neg.f64 b) (*.f64 (*.f64 (*.f64 c c) (*.f64 c c)) (*.f64 c c)))) (*.f64 d d)) (/.f64 b (*.f64 (*.f64 c c) (*.f64 c c)))) (*.f64 d d) (/.f64 b (*.f64 c c))) d)) |
#s(approx (/ d (+ (* d d) (* c c))) (fma.f64 d (neg.f64 (/.f64 (*.f64 d d) (*.f64 (*.f64 c c) (*.f64 c c)))) (/.f64 d (*.f64 c c)))) |
#s(approx (/ d (+ (* d d) (* c c))) (*.f64 (fma.f64 (-.f64 (/.f64 (*.f64 d d) (*.f64 (*.f64 (*.f64 c c) (*.f64 c c)) (*.f64 c c))) (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 c c) (*.f64 c c)))) (*.f64 d d) (/.f64 #s(literal 1 binary64) (*.f64 c c))) d)) |
#s(approx (/ d (+ (* d d) (* c c))) (fma.f64 d (*.f64 (-.f64 (*.f64 (+.f64 (pow.f64 c #s(literal -6 binary64)) (neg.f64 (*.f64 (*.f64 d d) (pow.f64 c #s(literal -8 binary64))))) (*.f64 d d)) (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 c c) (*.f64 c c)))) (*.f64 d d)) (/.f64 d (*.f64 c c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (/.f64 c d) a b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (fma.f64 (/.f64 c d) a (/.f64 (*.f64 (neg.f64 b) (*.f64 c c)) (*.f64 d d))) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (+.f64 (fma.f64 (/.f64 c d) a (neg.f64 (*.f64 a (/.f64 (*.f64 (*.f64 c c) c) (*.f64 (*.f64 d d) d))))) b) (/.f64 (*.f64 (*.f64 c c) b) (*.f64 d d))) d)) |
#s(approx (/ (+ (* (/ d c) b) a) c) (*.f64 (+.f64 (/.f64 a (*.f64 d c)) (/.f64 b (*.f64 c c))) d)) |
#s(approx (+ (* (/ d c) b) a) (*.f64 (+.f64 (/.f64 b c) (/.f64 a d)) d)) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (/.f64 (+.f64 (/.f64 (*.f64 (neg.f64 b) (*.f64 c c)) (*.f64 d d)) b) d)) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (/.f64 (-.f64 (fma.f64 b (/.f64 (*.f64 (*.f64 c c) (*.f64 c c)) (*.f64 (*.f64 d d) (*.f64 d d))) b) (/.f64 (*.f64 (*.f64 c c) b) (*.f64 d d))) d)) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (/.f64 (+.f64 (fma.f64 b (/.f64 (*.f64 (*.f64 c c) (*.f64 c c)) (*.f64 (*.f64 d d) (*.f64 d d))) b) (-.f64 (neg.f64 (*.f64 b (pow.f64 (/.f64 (*.f64 c c) (*.f64 d d)) #s(literal 3 binary64)))) (/.f64 (*.f64 (*.f64 c c) b) (*.f64 d d)))) d)) |
#s(approx (/ d (+ (* d d) (* c c))) (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 c c) (*.f64 d d))) #s(literal 1 binary64)) d)) |
#s(approx (/ d (+ (* d d) (* c c))) (/.f64 (-.f64 (+.f64 (/.f64 (*.f64 (*.f64 c c) (*.f64 c c)) (*.f64 (*.f64 d d) (*.f64 d d))) #s(literal 1 binary64)) (/.f64 (*.f64 c c) (*.f64 d d))) d)) |
#s(approx (/ d (+ (* d d) (* c c))) (/.f64 (+.f64 (+.f64 (/.f64 (*.f64 (*.f64 c c) (*.f64 c c)) (*.f64 (*.f64 d d) (*.f64 d d))) #s(literal 1 binary64)) (-.f64 (pow.f64 (neg.f64 (/.f64 (*.f64 c c) (*.f64 d d))) #s(literal 3 binary64)) (/.f64 (*.f64 c c) (*.f64 d d)))) d)) |
#s(approx (+ (* d d) (* c c)) (*.f64 (+.f64 (/.f64 (*.f64 c c) (*.f64 d d)) #s(literal 1 binary64)) (*.f64 d d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 (/.f64 c d) a)) (neg.f64 b)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 c a (neg.f64 (/.f64 (*.f64 (*.f64 c c) b) d))) d)) (neg.f64 b)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 c a (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 c c) c) a) d) (*.f64 (neg.f64 b) (*.f64 c c))) d))) d)) (neg.f64 b)) d))) |
#s(approx (/ (+ (* (/ d c) b) a) c) (neg.f64 (*.f64 (+.f64 (/.f64 (neg.f64 b) (*.f64 c c)) (/.f64 (neg.f64 a) (*.f64 d c))) d))) |
#s(approx (+ (* (/ d c) b) a) (neg.f64 (*.f64 (+.f64 (/.f64 (neg.f64 b) c) (/.f64 (neg.f64 a) d)) d))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (neg.f64 (/.f64 (fma.f64 b (/.f64 (*.f64 c c) (*.f64 d d)) (neg.f64 b)) d))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (neg.f64 (/.f64 (+.f64 (fma.f64 b (/.f64 (*.f64 c c) (*.f64 d d)) (neg.f64 (*.f64 b (/.f64 (*.f64 (*.f64 c c) (*.f64 c c)) (*.f64 (*.f64 d d) (*.f64 d d)))))) (neg.f64 b)) d))) |
#s(approx (* b (/ d (+ (* d d) (* c c)))) (neg.f64 (/.f64 (+.f64 (+.f64 (neg.f64 b) (neg.f64 (*.f64 b (/.f64 (*.f64 (*.f64 c c) (*.f64 c c)) (*.f64 (*.f64 d d) (*.f64 d d)))))) (fma.f64 b (pow.f64 (/.f64 (*.f64 c c) (*.f64 d d)) #s(literal 3 binary64)) (/.f64 (*.f64 (*.f64 c c) b) (*.f64 d d)))) d))) |
#s(approx (/ d (+ (* d d) (* c c))) (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 c c) (*.f64 d d)) #s(literal 1 binary64)) d))) |
#s(approx (/ d (+ (* d d) (* c c))) (neg.f64 (/.f64 (-.f64 (-.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c c) (*.f64 c c)) (*.f64 (*.f64 d d) (*.f64 d d)))) #s(literal 1 binary64)) (neg.f64 (/.f64 (*.f64 c c) (*.f64 d d)))) d))) |
#s(approx (/ d (+ (* d d) (* c c))) (neg.f64 (/.f64 (-.f64 (-.f64 (pow.f64 (/.f64 (*.f64 c c) (*.f64 d d)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (/.f64 (*.f64 (*.f64 c c) (*.f64 c c)) (*.f64 (*.f64 d d) (*.f64 d d))) (neg.f64 (/.f64 (*.f64 c c) (*.f64 d d))))) d))) |
Compiled 2 350 to 1 082 computations (54% saved)
21 alts after pruning (9 fresh and 12 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 212 | 3 | 215 |
| Fresh | 3 | 6 | 9 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 7 | 7 |
| Total | 215 | 21 | 236 |
| Status | Accuracy | Program |
|---|---|---|
| 38.0% | (/.f64 (fma.f64 c a (*.f64 d b)) #s(approx (+ (* c c) (* d d)) (*.f64 d d))) | |
| ✓ | 51.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))) |
| ✓ | 51.8% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
| ✓ | 56.6% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
| ✓ | 56.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) d)) |
| ✓ | 51.8% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c)) |
| 44.3% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* (/ d c) b) a) (*.f64 (+.f64 (/.f64 b c) (/.f64 a d)) d)) c)) | |
| 20.6% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (/.f64 (*.f64 d b) c)) c)) | |
| ✓ | 21.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c)) |
| ✓ | 25.9% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d)) |
| ✓ | 41.8% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
| ✓ | 41.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
| 51.7% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 (/.f64 d c) b a) (/.f64 #s(literal 1 binary64) c))) | |
| 21.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) (/.f64 #s(literal 1 binary64) c))) | |
| ✓ | 40.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
| ✓ | 41.6% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) d))) |
| 19.2% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b #s(approx (/ d (+ (* d d) (* c c))) (/.f64 d (*.f64 c c))))) | |
| ✓ | 44.7% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
| 23.5% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c #s(approx (+ (* d d) (* c c)) (*.f64 d d))))) | |
| 23.4% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 #s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d))))) | |
| 34.9% | #s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* (/ d c) b) a) c) (/.f64 (fma.f64 d b (*.f64 c a)) (*.f64 c c)))) |
Compiled 687 to 528 computations (23.1% saved)
| Inputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (/.f64 c (*.f64 d d)) a))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 b (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c #s(approx (+ (* d d) (* c c)) (*.f64 d d))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b #s(approx (/ d (+ (* d d) (* c c))) (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (/.f64 (*.f64 d b) c)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 #s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) (/.f64 #s(literal 1 binary64) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 a (/.f64 (*.f64 (neg.f64 b) d) c)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (/.f64 (fma.f64 b d (*.f64 a c)) (*.f64 c c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (/.f64 (fma.f64 d b (*.f64 c a)) (*.f64 c c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* (/ d c) b) a) c) (/.f64 (fma.f64 d b (*.f64 c a)) (*.f64 c c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
(/.f64 (fma.f64 c a (*.f64 d b)) #s(approx (+ (* c c) (* d d)) (*.f64 d d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 (/.f64 d c) b a) (/.f64 #s(literal 1 binary64) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))) |
(/.f64 #s(approx (+ (* a c) (* b d)) (*.f64 d b)) (+.f64 (*.f64 c c) (*.f64 d d))) |
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) #s(approx (+ (* c c) (* d d)) (*.f64 d d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 d b) c)) (neg.f64 a)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 a d) (/.f64 b c)) d)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 b c) (/.f64 a d)) d)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* (/ d c) b) a) (*.f64 (+.f64 (/.f64 b c) (/.f64 a d)) d)) c)) |
(/.f64 (fma.f64 d b (*.f64 c a)) (fma.f64 d d (*.f64 c c))) |
(/.f64 (fma.f64 c a (*.f64 d b)) (+.f64 (*.f64 c c) (*.f64 d d))) |
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (/.f64 (fma.f64 b (/.f64 d a) c) (fma.f64 d d (*.f64 c c))) a)) |
| Outputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
(/.f64 (fma.f64 d b (*.f64 c a)) (fma.f64 d d (*.f64 c c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c)) |
(/.f64 (fma.f64 c a (*.f64 d b)) (+.f64 (*.f64 c c) (*.f64 d d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
5 calls:
| 36.0ms | d |
| 9.0ms | a |
| 9.0ms | b |
| 9.0ms | c |
| 8.0ms | (/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 76.1% | 3 | (/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d))) |
| 68.0% | 4 | a |
| 69.3% | 3 | b |
| 84.4% | 5 | c |
| 85.6% | 5 | d |
Compiled 15 to 27 computations (-80% saved)
| Inputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (/.f64 c (*.f64 d d)) a))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 b (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c #s(approx (+ (* d d) (* c c)) (*.f64 d d))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b #s(approx (/ d (+ (* d d) (* c c))) (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (/.f64 (*.f64 d b) c)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 #s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) (/.f64 #s(literal 1 binary64) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 a (/.f64 (*.f64 (neg.f64 b) d) c)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (/.f64 (fma.f64 b d (*.f64 a c)) (*.f64 c c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (/.f64 (fma.f64 d b (*.f64 c a)) (*.f64 c c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* (/ d c) b) a) c) (/.f64 (fma.f64 d b (*.f64 c a)) (*.f64 c c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
(/.f64 (fma.f64 c a (*.f64 d b)) #s(approx (+ (* c c) (* d d)) (*.f64 d d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 (/.f64 d c) b a) (/.f64 #s(literal 1 binary64) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))) |
(/.f64 #s(approx (+ (* a c) (* b d)) (*.f64 d b)) (+.f64 (*.f64 c c) (*.f64 d d))) |
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) #s(approx (+ (* c c) (* d d)) (*.f64 d d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 d b) c)) (neg.f64 a)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 a d) (/.f64 b c)) d)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 b c) (/.f64 a d)) d)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* (/ d c) b) a) (*.f64 (+.f64 (/.f64 b c) (/.f64 a d)) d)) c)) |
(/.f64 (fma.f64 d b (*.f64 c a)) (fma.f64 d d (*.f64 c c))) |
| Outputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
(/.f64 (fma.f64 d b (*.f64 c a)) (fma.f64 d d (*.f64 c c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c)) |
(/.f64 (fma.f64 d b (*.f64 c a)) (fma.f64 d d (*.f64 c c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
1 calls:
| 84.0ms | d |
| Accuracy | Segments | Branch |
|---|---|---|
| 85.6% | 5 | d |
Compiled 1 to 4 computations (-300% saved)
| Inputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (/.f64 c (*.f64 d d)) a))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 b (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c #s(approx (+ (* d d) (* c c)) (*.f64 d d))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b #s(approx (/ d (+ (* d d) (* c c))) (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (/.f64 (*.f64 d b) c)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 #s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) (/.f64 #s(literal 1 binary64) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 a (/.f64 (*.f64 (neg.f64 b) d) c)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (/.f64 (fma.f64 b d (*.f64 a c)) (*.f64 c c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (/.f64 (fma.f64 d b (*.f64 c a)) (*.f64 c c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* (/ d c) b) a) c) (/.f64 (fma.f64 d b (*.f64 c a)) (*.f64 c c)))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c (fma.f64 d d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))))) |
(/.f64 (fma.f64 c a (*.f64 d b)) #s(approx (+ (* c c) (* d d)) (*.f64 d d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 (/.f64 d c) b a) (/.f64 #s(literal 1 binary64) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))) |
(/.f64 #s(approx (+ (* a c) (* b d)) (*.f64 d b)) (+.f64 (*.f64 c c) (*.f64 d d))) |
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) #s(approx (+ (* c c) (* d d)) (*.f64 d d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 c a) d)) (neg.f64 b)) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 d b) c)) (neg.f64 a)) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 a d) (/.f64 b c)) d)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (+.f64 (/.f64 b c) (/.f64 a d)) d)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* (/ d c) b) a) (*.f64 (+.f64 (/.f64 b c) (/.f64 a d)) d)) c)) |
| Outputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 a c) d) (neg.f64 b)) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c)) |
2 calls:
| 8.0ms | d |
| 8.0ms | c |
| Accuracy | Segments | Branch |
|---|---|---|
| 80.1% | 3 | c |
| 79.3% | 3 | d |
Compiled 2 to 8 computations (-300% saved)
| Inputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (/.f64 c (*.f64 d d)) a))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 b (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c #s(approx (+ (* d d) (* c c)) (*.f64 d d))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b #s(approx (/ d (+ (* d d) (* c c))) (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (/.f64 (*.f64 d b) c)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 #s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) (/.f64 #s(literal 1 binary64) c))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (-.f64 a (/.f64 (*.f64 (neg.f64 b) d) c)) c)) |
| Outputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (*.f64 (/.f64 d c) b) a) c)) |
1 calls:
| 5.0ms | c |
| Accuracy | Segments | Branch |
|---|---|---|
| 79.7% | 3 | c |
Compiled 1 to 4 computations (-300% saved)
| Inputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (/.f64 c (*.f64 d d)) a))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 b (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c #s(approx (+ (* d d) (* c c)) (*.f64 d d))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b #s(approx (/ d (+ (* d d) (* c c))) (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (/.f64 (*.f64 d b) c)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 #s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
| Outputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 d c) a) c)) |
1 calls:
| 4.0ms | c |
| Accuracy | Segments | Branch |
|---|---|---|
| 79.7% | 3 | c |
Compiled 1 to 4 computations (-300% saved)
| Inputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (/.f64 c (*.f64 d d)) a))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 b (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c #s(approx (+ (* d d) (* c c)) (*.f64 d d))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b #s(approx (/ d (+ (* d d) (* c c))) (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (/.f64 (*.f64 d b) c)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 #s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
| Outputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 a (/.f64 c d) b) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
3 calls:
| 4.0ms | d |
| 4.0ms | c |
| 3.0ms | (/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 56.6% | 1 | (/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d))) |
| 70.0% | 3 | d |
| 75.9% | 3 | c |
Compiled 13 to 19 computations (-46.2% saved)
| Inputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) d))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (+ (* a (/ c (* d d))) (/ b d)) (*.f64 (/.f64 c (*.f64 d d)) a))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* b (/ d c)) a) c) (*.f64 b (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 a (/.f64 c #s(approx (+ (* d d) (* c c)) (*.f64 d d))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (*.f64 b #s(approx (/ d (+ (* d d) (* c c))) (/.f64 d (*.f64 c c))))) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* a (/ c d)) b) (*.f64 (/.f64 c d) a)) d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (*.f64 (/.f64 d c) b)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* b (/ d c)) a) (/.f64 (*.f64 d b) c)) c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (neg.f64 #s(approx (/ (+ (neg (/ (* c a) d)) (neg b)) d) (/.f64 (*.f64 (neg.f64 a) c) (*.f64 d d))))) |
| Outputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 b d)) |
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
4 calls:
| 7.0ms | c |
| 4.0ms | a |
| 3.0ms | d |
| 3.0ms | b |
| Accuracy | Segments | Branch |
|---|---|---|
| 55.3% | 3 | a |
| 56.8% | 5 | b |
| 62.3% | 3 | d |
| 63.8% | 3 | c |
Compiled 4 to 16 computations (-300% saved)
Total 0.0b remaining (0%)
Threshold costs 0b (0%)
| Inputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
| Outputs |
|---|
#s(approx (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/.f64 a c)) |
5 calls:
| 3.0ms | (/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d))) |
| 1.0ms | a |
| 1.0ms | b |
| 1.0ms | d |
| 1.0ms | c |
| Accuracy | Segments | Branch |
|---|---|---|
| 41.2% | 1 | b |
| 41.2% | 1 | a |
| 41.2% | 1 | (/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d))) |
| 41.2% | 1 | d |
| 41.2% | 1 | c |
Compiled 15 to 27 computations (-80% saved)
| 4× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 95.0ms | 1.1106269722670594e+73 | 1.830876946299238e+80 |
| 16.0ms | 1.4771594655393316e-113 | 7.986941861849608e-100 |
| 8.0ms | -1.6559705991703523e-97 | -1.3818373703338114e-98 |
| 7.0ms | -2.8795742843033533e+128 | -7.251369103592183e+127 |
| 26.0ms | 480× | 0 | valid |
Compiled 773 to 833 computations (-7.8% saved)
ival-mult!: 10.0ms (70.7% of total)ival-add!: 2.0ms (14.1% of total)ival-div!: 2.0ms (14.1% of total)adjust: 0.0ms (0% of total)| 4× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 1.1106269722670594e+73 | 1.830876946299238e+80 |
| 1.0ms | 1.4771594655393316e-113 | 7.986941861849608e-100 |
| 1.0ms | -1.6559705991703523e-97 | -1.3818373703338114e-98 |
| 1.0ms | -2.8795742843033533e+128 | -7.251369103592183e+127 |
Compiled 754 to 814 computations (-8% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 20.0ms | 1.0099454805500754e+47 | 8.816146220296738e+55 |
| 11.0ms | -3.850612121432327e-52 | -2.7417492395861117e-55 |
| 14.0ms | 272× | 0 | valid |
Compiled 571 to 605 computations (-6% saved)
ival-mult!: 5.0ms (72.3% of total)ival-add!: 1.0ms (14.5% of total)ival-div!: 1.0ms (14.5% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 1.0099454805500754e+47 | 8.816146220296738e+55 |
| 1.0ms | -3.850612121432327e-52 | -2.7417492395861117e-55 |
Compiled 537 to 571 computations (-6.3% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 1.0099454805500754e+47 | 8.816146220296738e+55 |
| 1.0ms | -3.850612121432327e-52 | -2.7417492395861117e-55 |
Compiled 528 to 562 computations (-6.4% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 6.0ms | 1.0099454805500754e+47 | 8.816146220296738e+55 |
| 7.0ms | -1.3351655633305073e-51 | -5.8095627713560665e-52 |
| 8.0ms | 112× | 0 | valid |
Compiled 410 to 438 computations (-6.8% saved)
ival-div!: 3.0ms (53.6% of total)ival-mult!: 2.0ms (35.7% of total)adjust: 0.0ms (0% of total)ival-add!: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 2.459590760161308e-7 | 1.1510399618466787 |
| 10.0ms | -3.850612121432327e-52 | -2.7417492395861117e-55 |
| 15.0ms | 256× | 0 | valid |
Compiled 460 to 494 computations (-7.4% saved)
ival-mult!: 7.0ms (81.9% of total)ival-add!: 1.0ms (11.7% of total)ival-div!: 1.0ms (11.7% of total)adjust: 0.0ms (0% of total)| 1× | fuel |
Compiled 127 to 81 computations (36.2% saved)
Compiled 160 to 112 computations (30% saved)
Loading profile data...