Complex division, real part

Time bar (total: 3.2s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

analyze28.0ms (0.9%)

Memory
23.2MiB live, 77.3MiB allocated; 9ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
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
Compiler

Compiled 17 to 13 computations (23.5% saved)

sample805.0ms (25.3%)

Memory
44.2MiB live, 958.0MiB allocated; 189ms collecting garbage
Samples
520.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 231.0ms
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)
Bogosity

preprocess59.0ms (1.9%)

Memory
-17.3MiB live, 71.5MiB allocated; 17ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
062229
1292225
2951225
32562225
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
62.9%
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
Compiler

Compiled 22 to 22 computations (0% saved)

series18.0ms (0.6%)

Memory
38.7MiB live, 38.7MiB allocated; 0ms collecting garbage
Counts
11 → 47
Calls
Call 1
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)))))))
Calls

12 calls:

TimeVariablePointExpression
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))

rewrite265.0ms (8.3%)

Memory
8.7MiB live, 189.3MiB allocated; 70ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02441314
02511256
117331220
084901102
1294091102
Stop Event
saturated
node-limit
iter-limit
Counts
58 → 134
Calls
Call 1
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))))

eval36.0ms (1.1%)

Memory
-42.7MiB live, 18.1MiB allocated; 15ms collecting garbage
Compiler

Compiled 1 174 to 464 computations (60.5% saved)

prune8.0ms (0.3%)

Memory
11.2MiB live, 11.2MiB allocated; 0ms collecting garbage
Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New11114125
Fresh000
Picked101
Done000
Total11214126
Accuracy
99.6%
Counts
126 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
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)))
Compiler

Compiled 410 to 410 computations (0% saved)

series99.0ms (3.1%)

Memory
-6.5MiB live, 82.3MiB allocated; 16ms collecting garbage
Counts
28 → 107
Calls
Call 1
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))))
Calls

12 calls:

TimeVariablePointExpression
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))

rewrite214.0ms (6.7%)

Memory
2.4MiB live, 204.0MiB allocated; 59ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04722783
05012565
131412549
083802412
1248482412
Stop Event
saturated
node-limit
iter-limit
Counts
135 → 305
Calls
Call 1
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))

eval47.0ms (1.5%)

Memory
-12.9MiB live, 88.3MiB allocated; 14ms collecting garbage
Compiler

Compiled 2 662 to 1 162 computations (56.3% saved)

prune13.0ms (0.4%)

Memory
28.7MiB live, 28.7MiB allocated; 0ms collecting garbage
Pruning

18 alts after pruning (15 fresh and 3 done)

PrunedKeptTotal
New29411305
Fresh549
Picked235
Done000
Total30118319
Accuracy
99.6%
Counts
319 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
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)))
Compiler

Compiled 574 to 572 computations (0.3% saved)

series106.0ms (3.3%)

Memory
16.8MiB live, 105.6MiB allocated; 15ms collecting garbage
Counts
26 → 113
Calls
Call 1
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))))))
Calls

12 calls:

TimeVariablePointExpression
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))

rewrite233.0ms (7.3%)

Memory
-8.7MiB live, 272.1MiB allocated; 62ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05953246
06193042
142463038
084612906
1252812906
Stop Event
saturated
node-limit
iter-limit
Counts
139 → 236
Calls
Call 1
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)))

eval48.0ms (1.5%)

Memory
-24.0MiB live, 67.4MiB allocated; 8ms collecting garbage
Compiler

Compiled 2 324 to 1 074 computations (53.8% saved)

prune12.0ms (0.4%)

Memory
29.0MiB live, 29.0MiB allocated; 0ms collecting garbage
Pruning

21 alts after pruning (14 fresh and 7 done)

PrunedKeptTotal
New2047211
Fresh3710
Picked145
Done033
Total20821229
Accuracy
99.6%
Counts
229 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
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)))))
Compiler

Compiled 621 to 617 computations (0.6% saved)

series108.0ms (3.4%)

Memory
-1.9MiB live, 101.3MiB allocated; 37ms collecting garbage
Counts
29 → 106
Calls
Call 1
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))))
Calls

12 calls:

TimeVariablePointExpression
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))

rewrite200.0ms (6.3%)

Memory
10.1MiB live, 290.6MiB allocated; 27ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05743163
06012961
141122957
082942807
1248762807
Stop Event
saturated
node-limit
iter-limit
Counts
135 → 241
Calls
Call 1
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)))

eval35.0ms (1.1%)

Memory
-16.2MiB live, 77.9MiB allocated; 24ms collecting garbage
Compiler

Compiled 2 350 to 1 082 computations (54% saved)

prune32.0ms (1%)

Memory
22.4MiB live, 59.3MiB allocated; 22ms collecting garbage
Pruning

21 alts after pruning (9 fresh and 12 done)

PrunedKeptTotal
New2123215
Fresh369
Picked055
Done077
Total21521236
Accuracy
99.6%
Counts
236 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
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))))
Compiler

Compiled 687 to 528 computations (23.1% saved)

regimes75.0ms (2.4%)

Memory
17.7MiB live, 60.2MiB allocated; 13ms collecting garbage
Counts
36 → 5
Calls
Call 1
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))
Calls

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)))
Results
AccuracySegmentsBranch
76.1%3(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
68.0%4a
69.3%3b
84.4%5c
85.6%5d
Compiler

Compiled 15 to 27 computations (-80% saved)

regimes86.0ms (2.7%)

Memory
-29.4MiB live, 17.3MiB allocated; 4ms collecting garbage
Counts
33 → 5
Calls
Call 1
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))
Calls

1 calls:

84.0ms
d
Results
AccuracySegmentsBranch
85.6%5d
Compiler

Compiled 1 to 4 computations (-300% saved)

regimes40.0ms (1.2%)

Memory
-22.5MiB live, 35.3MiB allocated; 29ms collecting garbage
Counts
32 → 3
Calls
Call 1
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))
Calls

2 calls:

8.0ms
d
8.0ms
c
Results
AccuracySegmentsBranch
80.1%3c
79.3%3d
Compiler

Compiled 2 to 8 computations (-300% saved)

regimes6.0ms (0.2%)

Memory
8.5MiB live, 8.5MiB allocated; 0ms collecting garbage
Counts
16 → 3
Calls
Call 1
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))
Calls

1 calls:

5.0ms
c
Results
AccuracySegmentsBranch
79.7%3c
Compiler

Compiled 1 to 4 computations (-300% saved)

regimes5.0ms (0.2%)

Memory
9.1MiB live, 9.1MiB allocated; 0ms collecting garbage
Counts
13 → 3
Calls
Call 1
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))
Calls

1 calls:

4.0ms
c
Results
AccuracySegmentsBranch
79.7%3c
Compiler

Compiled 1 to 4 computations (-300% saved)

regimes12.0ms (0.4%)

Memory
28.9MiB live, 28.9MiB allocated; 0ms collecting garbage
Counts
12 → 3
Calls
Call 1
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))
Calls

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)))
Results
AccuracySegmentsBranch
56.6%1(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
70.0%3d
75.9%3c
Compiler

Compiled 13 to 19 computations (-46.2% saved)

regimes19.0ms (0.6%)

Memory
-6.6MiB live, 37.8MiB allocated; 8ms collecting garbage
Counts
11 → 3
Calls
Call 1
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))
Calls

4 calls:

7.0ms
c
4.0ms
a
3.0ms
d
3.0ms
b
Results
AccuracySegmentsBranch
55.3%3a
56.8%5b
62.3%3d
63.8%3c
Compiler

Compiled 4 to 16 computations (-300% saved)

regimes8.0ms (0.2%)

Memory
-23.0MiB live, 21.0MiB allocated; 5ms collecting garbage
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
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))
Calls

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
Results
AccuracySegmentsBranch
41.2%1b
41.2%1a
41.2%1(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
41.2%1d
41.2%1c
Compiler

Compiled 15 to 27 computations (-80% saved)

bsearch130.0ms (4.1%)

Memory
-53.4MiB live, 95.9MiB allocated; 123ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
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
Samples
26.0ms480×0valid
Compiler

Compiled 773 to 833 computations (-7.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
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)

bsearch3.0ms (0.1%)

Memory
6.1MiB live, 6.1MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
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
Compiler

Compiled 754 to 814 computations (-8% saved)

bsearch34.0ms (1.1%)

Memory
0.6MiB live, 54.1MiB allocated; 13ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
1.0099454805500754e+47
8.816146220296738e+55
11.0ms
-3.850612121432327e-52
-2.7417492395861117e-55
Samples
14.0ms272×0valid
Compiler

Compiled 571 to 605 computations (-6% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
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)

bsearch2.0ms (0.1%)

Memory
3.9MiB live, 3.9MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.0099454805500754e+47
8.816146220296738e+55
1.0ms
-3.850612121432327e-52
-2.7417492395861117e-55
Compiler

Compiled 537 to 571 computations (-6.3% saved)

bsearch2.0ms (0.1%)

Memory
4.3MiB live, 4.3MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.0099454805500754e+47
8.816146220296738e+55
1.0ms
-3.850612121432327e-52
-2.7417492395861117e-55
Compiler

Compiled 528 to 562 computations (-6.4% saved)

bsearch14.0ms (0.5%)

Memory
-18.5MiB live, 27.4MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
6.0ms
1.0099454805500754e+47
8.816146220296738e+55
7.0ms
-1.3351655633305073e-51
-5.8095627713560665e-52
Samples
8.0ms112×0valid
Compiler

Compiled 410 to 438 computations (-6.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
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)

bsearch26.0ms (0.8%)

Memory
7.3MiB live, 53.4MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
2.459590760161308e-7
1.1510399618466787
10.0ms
-3.850612121432327e-52
-2.7417492395861117e-55
Samples
15.0ms256×0valid
Compiler

Compiled 460 to 494 computations (-7.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
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)

derivations227.0ms (7.1%)

Memory
12.0MiB live, 204.8MiB allocated; 16ms collecting garbage
Stop Event
fuel
Compiler

Compiled 127 to 81 computations (36.2% saved)

preprocess122.0ms (3.8%)

Memory
24.5MiB live, 116.7MiB allocated; 14ms collecting garbage
Compiler

Compiled 160 to 112 computations (30% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...