Complex division, imag part

Time bar (total: 2.6s)

start0.0ms (0%)

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

analyze22.0ms (0.9%)

Memory
10.7MiB live, 10.7MiB allocated; 0ms 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)

sample779.0ms (29.8%)

Memory
9.0MiB live, 475.0MiB allocated; 187ms collecting garbage
Samples
515.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 279.0ms
ival-mult!: 205.0ms (73.5% of total)
ival-div!: 34.0ms (12.2% of total)
ival-add!: 21.0ms (7.5% of total)
ival-sub!: 18.0ms (6.5% of total)
adjust: 1.0ms (0.4% of total)
Bogosity

preprocess45.0ms (1.7%)

Memory
31.9MiB live, 31.9MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
062229
1308229
2996229
33077229
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.4%
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (+.f64 (*.f64 c c) (*.f64 d d)))
Compiler

Compiled 30 to 22 computations (26.7% saved)

series122.0ms (4.7%)

Memory
-20.6MiB live, 77.8MiB allocated; 24ms collecting garbage
Counts
11 → 49
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (+.f64 (*.f64 c c) (*.f64 d d)))
(-.f64 (*.f64 b c) (*.f64 a d))
(*.f64 b c)
b
c
(*.f64 a d)
a
d
(+.f64 (*.f64 c c) (*.f64 d d))
(*.f64 c c)
(*.f64 d d)
Outputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (*.f64 b c) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))) (/.f64 (*.f64 b c) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))
#s(approx (- (* b c) (* a d)) (*.f64 b c))
#s(approx (- (* b c) (* a d)) (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)))
#s(approx (* a d) (*.f64 a d))
#s(approx a a)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 d (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))) (/.f64 (*.f64 b c) (*.f64 a (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 a d)))
#s(approx (- (* b c) (* a d)) (*.f64 a (-.f64 (/.f64 (*.f64 b c) a) d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (*.f64 a (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))) (/.f64 d (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) a)) (*.f64 #s(literal -1 binary64) d)))))
#s(approx (- (* b c) (* a d)) (-.f64 (*.f64 b c) (*.f64 a d)))
#s(approx b b)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))) (/.f64 c (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))))
#s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 c (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))) (/.f64 (*.f64 a d) (*.f64 b (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))))))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) c (/.f64 (*.f64 a d) b)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 a d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (/.f64 (*.f64 b c) (pow.f64 d #s(literal 2 binary64)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (*.f64 c (+.f64 (/.f64 b (pow.f64 d #s(literal 2 binary64))) (/.f64 (*.f64 a c) (pow.f64 d #s(literal 3 binary64)))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (*.f64 c (fma.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (pow.f64 d #s(literal 4 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 d #s(literal 3 binary64))))) (/.f64 b (pow.f64 d #s(literal 2 binary64)))))))
#s(approx c c)
#s(approx (+ (* c c) (* d d)) (pow.f64 d #s(literal 2 binary64)))
#s(approx (+ (* c c) (* d d)) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))
#s(approx (* c c) (pow.f64 c #s(literal 2 binary64)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (pow.f64 d #s(literal 2 binary64))) (pow.f64 c #s(literal 2 binary64)))))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (+.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c) (/.f64 (*.f64 a (pow.f64 d #s(literal 3 binary64))) (pow.f64 c #s(literal 3 binary64))))) (/.f64 (*.f64 b (pow.f64 d #s(literal 2 binary64))) (pow.f64 c #s(literal 2 binary64)))) c))
#s(approx (- (* b c) (* a d)) (*.f64 c (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c)))))
#s(approx (+ (* c c) (* d d)) (*.f64 (pow.f64 c #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 d #s(literal 2 binary64)) (pow.f64 c #s(literal 2 binary64))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (/.f64 (*.f64 a d) c)) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (pow.f64 d #s(literal 2 binary64))) c))) c))) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (pow.f64 d #s(literal 3 binary64))) c)) (*.f64 #s(literal -1 binary64) (*.f64 b (pow.f64 d #s(literal 2 binary64))))) c))) c))) c)))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) b (/.f64 (*.f64 a d) c)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (pow.f64 c #s(literal 2 binary64))) (/.f64 b c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (fma.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 c #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b d) (pow.f64 c #s(literal 3 binary64))))) (/.f64 b c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (fma.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 c #s(literal 2 binary64))) (*.f64 d (-.f64 (/.f64 (*.f64 a d) (pow.f64 c #s(literal 4 binary64))) (/.f64 b (pow.f64 c #s(literal 3 binary64)))))) (/.f64 b c)))
#s(approx d d)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 #s(literal -1 binary64) a (+.f64 (/.f64 (*.f64 a (pow.f64 c #s(literal 2 binary64))) (pow.f64 d #s(literal 2 binary64))) (/.f64 (*.f64 b c) d))) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) a (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (pow.f64 c #s(literal 3 binary64))) (pow.f64 d #s(literal 3 binary64))) (/.f64 (*.f64 b c) d))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (pow.f64 c #s(literal 2 binary64))) (pow.f64 d #s(literal 2 binary64))))) d))
#s(approx (- (* b c) (* a d)) (*.f64 d (-.f64 (/.f64 (*.f64 b c) d) a)))
#s(approx (+ (* c c) (* d d)) (*.f64 (pow.f64 d #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) d))) d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 b c (/.f64 (*.f64 a (pow.f64 c #s(literal 2 binary64))) d)) d))) d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 b (pow.f64 c #s(literal 3 binary64))) d) (*.f64 a (pow.f64 c #s(literal 2 binary64)))) d) (*.f64 b c)) d))) d)))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) d)) (*.f64 #s(literal -1 binary64) a)))))
Calls

12 calls:

TimeVariablePoint
9.0ms
a
inf
3.0ms
d
inf
2.0ms
b
inf
2.0ms
c
-inf
1.0ms
a
0

rewrite177.0ms (6.8%)

Memory
-3.6MiB live, 132.9MiB allocated; 43ms collecting garbage
Counts
11 → 38
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (+.f64 (*.f64 c c) (*.f64 d d)))
(-.f64 (*.f64 b c) (*.f64 a d))
(*.f64 b c)
b
c
(*.f64 a d)
a
d
(+.f64 (*.f64 c c) (*.f64 d d))
(*.f64 c c)
(*.f64 d d)
Outputs
(*.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (/.f64 #s(literal 1 binary64) (fma.f64 c c (*.f64 d d))))
(-.f64 (/.f64 (*.f64 b c) (fma.f64 c c (*.f64 d d))) (/.f64 (*.f64 a d) (fma.f64 c c (*.f64 d d))))
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (fma.f64 c c (*.f64 d d)))
(/.f64 (neg.f64 (-.f64 (*.f64 b c) (*.f64 a d))) (neg.f64 (fma.f64 c c (*.f64 d d))))
(+.f64 (*.f64 b c) (neg.f64 (*.f64 a d)))
(+.f64 (*.f64 b c) (*.f64 (neg.f64 a) d))
(-.f64 (*.f64 b c) (*.f64 a d))
(fma.f64 b c (neg.f64 (*.f64 a d)))
(fma.f64 c b (neg.f64 (*.f64 a d)))
(fma.f64 b c (*.f64 (neg.f64 a) d))
(fma.f64 c b (*.f64 (neg.f64 a) d))
(neg.f64 (-.f64 (*.f64 a d) (*.f64 b c)))
(*.f64 b c)
(*.f64 c b)
b
c
(*.f64 a d)
(*.f64 d a)
a
d
(+.f64 (*.f64 c c) (*.f64 d d))
(+.f64 (*.f64 d d) (*.f64 c c))
(-.f64 (*.f64 c c) (neg.f64 (*.f64 d d)))
(-.f64 (*.f64 c c) (*.f64 (neg.f64 d) d))
(fma.f64 (neg.f64 c) (neg.f64 c) (*.f64 d d))
(fma.f64 (fabs.f64 c) (fabs.f64 c) (*.f64 d d))
(fma.f64 (neg.f64 d) (neg.f64 d) (*.f64 c c))
(fma.f64 (fabs.f64 d) (fabs.f64 d) (*.f64 c c))
(fma.f64 c c (*.f64 d d))
(fma.f64 d d (*.f64 c c))
(*.f64 c c)
(*.f64 (fabs.f64 c) (fabs.f64 c))
(*.f64 (neg.f64 c) (neg.f64 c))
(pow.f64 c #s(literal 2 binary64))
(*.f64 d d)
(*.f64 (fabs.f64 d) (fabs.f64 d))
(*.f64 (neg.f64 d) (neg.f64 d))
(pow.f64 d #s(literal 2 binary64))

eval7.0ms (0.3%)

Memory
12.1MiB live, 12.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 1 947 to 345 computations (82.3% saved)

prune8.0ms (0.3%)

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

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New661177
Fresh000
Picked101
Done000
Total671178
Accuracy
95.8%
Counts
78 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.4%
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (fma.f64 d d (*.f64 c c)))
60.9%
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))))) (+.f64 (*.f64 c c) (*.f64 d d)))
41.6%
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b c)) (+.f64 (*.f64 c c) (*.f64 d d)))
36.3%
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 a d))) (+.f64 (*.f64 c c) (*.f64 d d)))
36.7%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (fma.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 c #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b d) (pow.f64 c #s(literal 3 binary64))))) (/.f64 b c)))
41.1%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (*.f64 c (+.f64 (/.f64 b (pow.f64 d #s(literal 2 binary64))) (/.f64 (*.f64 a c) (pow.f64 d #s(literal 3 binary64)))))))
55.0%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)) d))
50.8%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))) c))
40.7%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
54.9%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))) (/.f64 c (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))))
39.7%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 a d)))
Compiler

Compiled 578 to 380 computations (34.3% saved)

series180.0ms (6.9%)

Memory
10.5MiB live, 192.8MiB allocated; 66ms collecting garbage
Counts
30 → 99
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (fma.f64 d d (*.f64 c c)))
(-.f64 (*.f64 b c) (*.f64 a d))
(*.f64 b c)
b
c
(*.f64 a d)
a
d
(fma.f64 d d (*.f64 c c))
(*.f64 c c)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
(/.f64 b c)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)) d))
(/.f64 (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)) d)
(fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d))
#s(literal -1 binary64)
(/.f64 (*.f64 b c) d)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))) c))
(/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))) c)
(+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c)))
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))
(/.f64 (*.f64 a d) c)
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))))) (+.f64 (*.f64 c c) (*.f64 d d)))
#s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b)))))
(*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))))
(+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b)))
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))
(/.f64 (*.f64 a d) b)
(+.f64 (*.f64 c c) (*.f64 d d))
(*.f64 d d)
Outputs
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (*.f64 b c) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))) (/.f64 (*.f64 b c) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))
#s(approx (- (* b c) (* a d)) (*.f64 b c))
#s(approx (- (* b c) (* a d)) (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)))
#s(approx (* a d) (*.f64 a d))
#s(approx a a)
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (/.f64 (*.f64 b c) (pow.f64 d #s(literal 2 binary64))))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (/.f64 (*.f64 b c) (pow.f64 d #s(literal 2 binary64)))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (/.f64 (*.f64 b c) d))
#s(approx (+ (* -1 a) (/ (* b c) d)) (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)))
#s(approx (/ (+ b (* -1 (/ (* a d) c))) c) (/.f64 b c))
#s(approx (/ (+ b (* -1 (/ (* a d) c))) c) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (pow.f64 c #s(literal 2 binary64))) (/.f64 b c)))
#s(approx (+ b (* -1 (/ (* a d) c))) b)
#s(approx (+ b (* -1 (/ (* a d) c))) (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))))
#s(approx (* -1 (/ (* a d) c)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c)))
#s(approx (/ (* a d) c) (/.f64 (*.f64 a d) c))
#s(approx (+ c (* -1 (/ (* a d) b))) c)
#s(approx (+ c (* -1 (/ (* a d) b))) (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))))
#s(approx (* -1 (/ (* a d) b)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b)))
#s(approx (/ (* a d) b) (/.f64 (*.f64 a d) b))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 d (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))) (/.f64 (*.f64 b c) (*.f64 a (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 a d)))
#s(approx (- (* b c) (* a d)) (*.f64 a (-.f64 (/.f64 (*.f64 b c) a) d)))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 #s(literal -1 binary64) (/.f64 a d)))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 a (-.f64 (/.f64 (*.f64 b c) (*.f64 a (pow.f64 d #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) d))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a))
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 a (-.f64 (/.f64 (*.f64 b c) (*.f64 a d)) #s(literal 1 binary64))))
#s(approx (/ (+ b (* -1 (/ (* a d) c))) c) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (pow.f64 c #s(literal 2 binary64)))))
#s(approx (/ (+ b (* -1 (/ (* a d) c))) c) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 d (pow.f64 c #s(literal 2 binary64))) (/.f64 b (*.f64 a c)))))
#s(approx (+ b (* -1 (/ (* a d) c))) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 d c) (/.f64 b a))))
#s(approx (* b (+ c (* -1 (/ (* a d) b)))) (*.f64 a (fma.f64 #s(literal -1 binary64) d (/.f64 (*.f64 b c) a))))
#s(approx (+ c (* -1 (/ (* a d) b))) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 d b) (/.f64 c a))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (*.f64 a (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))) (/.f64 d (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) a)) (*.f64 #s(literal -1 binary64) d)))))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (*.f64 a (pow.f64 d #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) d)))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 a (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (*.f64 a d)))))))
#s(approx (/ (+ b (* -1 (/ (* a d) c))) c) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 b (*.f64 a c)) (/.f64 d (pow.f64 c #s(literal 2 binary64)))))))
#s(approx (+ b (* -1 (/ (* a d) c))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 b a) (/.f64 d c)))))
#s(approx (* b (+ c (* -1 (/ (* a d) b)))) (*.f64 #s(literal -1 binary64) (*.f64 a (+.f64 d (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) a))))))
#s(approx (+ c (* -1 (/ (* a d) b))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 c a) (/.f64 d b)))))
#s(approx (- (* b c) (* a d)) (-.f64 (*.f64 b c) (*.f64 a d)))
#s(approx (+ c (* -1 (/ (* a d) b))) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) b))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))) (/.f64 c (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))))
#s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b)))))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 a (*.f64 b d)) (/.f64 c (pow.f64 d #s(literal 2 binary64))))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 a b) (/.f64 c d))))
#s(approx (/ (+ b (* -1 (/ (* a d) c))) c) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b (pow.f64 c #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) c))))
#s(approx (+ b (* -1 (/ (* a d) c))) (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b c))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 c (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))) (/.f64 (*.f64 a d) (*.f64 b (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))))))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) c (/.f64 (*.f64 a d) b)))))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 c (pow.f64 d #s(literal 2 binary64))) (/.f64 a (*.f64 b d))))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 c d) (/.f64 a b)))))
#s(approx (/ (+ b (* -1 (/ (* a d) c))) c) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (/.f64 (*.f64 a d) (*.f64 b (pow.f64 c #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) c)))))
#s(approx (+ b (* -1 (/ (* a d) c))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (/.f64 (*.f64 a d) (*.f64 b c)) #s(literal 1 binary64)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (*.f64 c (+.f64 (/.f64 b (pow.f64 d #s(literal 2 binary64))) (/.f64 (*.f64 a c) (pow.f64 d #s(literal 3 binary64)))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (*.f64 c (fma.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (pow.f64 d #s(literal 4 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 d #s(literal 3 binary64))))) (/.f64 b (pow.f64 d #s(literal 2 binary64)))))))
#s(approx (+ (* d d) (* c c)) (pow.f64 d #s(literal 2 binary64)))
#s(approx (+ (* d d) (* c c)) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))
#s(approx (* c c) (pow.f64 c #s(literal 2 binary64)))
#s(approx (/ (+ b (* -1 (/ (* a d) c))) c) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) (pow.f64 c #s(literal 2 binary64))))
#s(approx (+ b (* -1 (/ (* a d) c))) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (+.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (pow.f64 d #s(literal 2 binary64))) (pow.f64 c #s(literal 2 binary64)))))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (-.f64 (+.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c) (/.f64 (*.f64 a (pow.f64 d #s(literal 3 binary64))) (pow.f64 c #s(literal 3 binary64))))) (/.f64 (*.f64 b (pow.f64 d #s(literal 2 binary64))) (pow.f64 c #s(literal 2 binary64)))) c))
#s(approx (- (* b c) (* a d)) (*.f64 c (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c)))))
#s(approx (+ (* d d) (* c c)) (*.f64 (pow.f64 c #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 d #s(literal 2 binary64)) (pow.f64 c #s(literal 2 binary64))))))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a (*.f64 c d)) (/.f64 b (pow.f64 d #s(literal 2 binary64))))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a c) (/.f64 b d))))
#s(approx (+ c (* -1 (/ (* a d) b))) (*.f64 c (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b c))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (/.f64 (*.f64 a d) c)) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (pow.f64 d #s(literal 2 binary64))) c))) c))) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (pow.f64 d #s(literal 3 binary64))) c)) (*.f64 #s(literal -1 binary64) (*.f64 b (pow.f64 d #s(literal 2 binary64))))) c))) c))) c)))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) b (/.f64 (*.f64 a d) c)))))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 b (pow.f64 d #s(literal 2 binary64))) (/.f64 a (*.f64 c d))))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 b d) (/.f64 a c)))))
#s(approx (+ c (* -1 (/ (* a d) b))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (/.f64 (*.f64 a d) (*.f64 b c)) #s(literal 1 binary64)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 c #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b d) (pow.f64 c #s(literal 3 binary64))))) (/.f64 b c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 c #s(literal 2 binary64))) (*.f64 d (-.f64 (/.f64 (*.f64 a d) (pow.f64 c #s(literal 4 binary64))) (/.f64 b (pow.f64 c #s(literal 3 binary64)))))) (/.f64 b c)))
#s(approx d d)
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) (pow.f64 d #s(literal 2 binary64))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (fma.f64 #s(literal -1 binary64) a (+.f64 (/.f64 (*.f64 a (pow.f64 c #s(literal 2 binary64))) (pow.f64 d #s(literal 2 binary64))) (/.f64 (*.f64 b c) d))) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) a (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (pow.f64 c #s(literal 3 binary64))) (pow.f64 d #s(literal 3 binary64))) (/.f64 (*.f64 b c) d))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (pow.f64 c #s(literal 2 binary64))) (pow.f64 d #s(literal 2 binary64))))) d))
#s(approx (- (* b c) (* a d)) (*.f64 d (-.f64 (/.f64 (*.f64 b c) d) a)))
#s(approx (+ (* d d) (* c c)) (*.f64 (pow.f64 d #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))
#s(approx (/ (+ b (* -1 (/ (* a d) c))) c) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 c #s(literal 2 binary64))) (/.f64 b (*.f64 c d)))))
#s(approx (+ b (* -1 (/ (* a d) c))) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a c) (/.f64 b d))))
#s(approx (* b (+ c (* -1 (/ (* a d) b)))) (*.f64 d (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d))))
#s(approx (+ c (* -1 (/ (* a d) b))) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a b) (/.f64 c d))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) d))) d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 b c (/.f64 (*.f64 a (pow.f64 c #s(literal 2 binary64))) d)) d))) d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 b (pow.f64 c #s(literal 3 binary64))) d) (*.f64 a (pow.f64 c #s(literal 2 binary64)))) d) (*.f64 b c)) d))) d)))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) d)) (*.f64 #s(literal -1 binary64) a)))))
#s(approx (/ (+ b (* -1 (/ (* a d) c))) c) (*.f64 #s(literal -1 binary64) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 b (*.f64 c d)) (/.f64 a (pow.f64 c #s(literal 2 binary64)))))))
#s(approx (+ b (* -1 (/ (* a d) c))) (*.f64 #s(literal -1 binary64) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 b d) (/.f64 a c)))))
#s(approx (* b (+ c (* -1 (/ (* a d) b)))) (*.f64 #s(literal -1 binary64) (*.f64 d (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) d))))))
#s(approx (+ c (* -1 (/ (* a d) b))) (*.f64 #s(literal -1 binary64) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 c d) (/.f64 a b)))))
Calls

12 calls:

TimeVariablePoint
7.0ms
d
inf
7.0ms
a
-inf
5.0ms
b
0
3.0ms
c
-inf
3.0ms
d
-inf

rewrite223.0ms (8.5%)

Memory
-29.6MiB live, 182.0MiB allocated; 158ms collecting garbage
Counts
30 → 118
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (fma.f64 d d (*.f64 c c)))
(-.f64 (*.f64 b c) (*.f64 a d))
(*.f64 b c)
b
c
(*.f64 a d)
a
d
(fma.f64 d d (*.f64 c c))
(*.f64 c c)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
(/.f64 b c)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)) d))
(/.f64 (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)) d)
(fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d))
#s(literal -1 binary64)
(/.f64 (*.f64 b c) d)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))) c))
(/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))) c)
(+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c)))
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))
(/.f64 (*.f64 a d) c)
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))))) (+.f64 (*.f64 c c) (*.f64 d d)))
#s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b)))))
(*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))))
(+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b)))
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))
(/.f64 (*.f64 a d) b)
(+.f64 (*.f64 c c) (*.f64 d d))
(*.f64 d d)
Outputs
(*.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (/.f64 #s(literal 1 binary64) (fma.f64 d d (*.f64 c c))))
(-.f64 (/.f64 (*.f64 b c) (fma.f64 d d (*.f64 c c))) (/.f64 (*.f64 a d) (fma.f64 d d (*.f64 c c))))
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (fma.f64 d d (*.f64 c c)))
(/.f64 (neg.f64 (-.f64 (*.f64 b c) (*.f64 a d))) (neg.f64 (fma.f64 d d (*.f64 c c))))
(+.f64 (*.f64 b c) (neg.f64 (*.f64 a d)))
(+.f64 (*.f64 b c) (*.f64 (neg.f64 a) d))
(-.f64 (*.f64 b c) (*.f64 a d))
(fma.f64 b c (neg.f64 (*.f64 a d)))
(fma.f64 c b (neg.f64 (*.f64 a d)))
(fma.f64 b c (*.f64 (neg.f64 a) d))
(fma.f64 c b (*.f64 (neg.f64 a) d))
(neg.f64 (-.f64 (*.f64 a d) (*.f64 b c)))
(*.f64 b c)
(*.f64 c b)
b
c
(*.f64 a d)
(*.f64 d a)
a
d
(+.f64 (*.f64 c c) (*.f64 d d))
(+.f64 (*.f64 d d) (*.f64 c c))
(-.f64 (*.f64 c c) (neg.f64 (*.f64 d d)))
(-.f64 (*.f64 d d) (neg.f64 (*.f64 c c)))
(-.f64 (*.f64 c c) (*.f64 (neg.f64 d) d))
(-.f64 (*.f64 d d) (*.f64 (neg.f64 c) c))
(fma.f64 d d (*.f64 c c))
(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 c c (*.f64 d d))
(*.f64 c c)
(*.f64 (fabs.f64 c) (fabs.f64 c))
(*.f64 (neg.f64 c) (neg.f64 c))
(pow.f64 c #s(literal 2 binary64))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
(*.f64 b (/.f64 #s(literal 1 binary64) c))
(/.f64 b c)
(/.f64 (neg.f64 b) (neg.f64 c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) d))
(*.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) (/.f64 #s(literal 1 binary64) d))
(+.f64 (/.f64 (neg.f64 a) d) (/.f64 (/.f64 (*.f64 b c) d) d))
(/.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) d)
(/.f64 (neg.f64 (fma.f64 b (/.f64 c d) (neg.f64 a))) (neg.f64 d))
(+.f64 (/.f64 (*.f64 b c) d) (neg.f64 a))
(+.f64 (neg.f64 a) (/.f64 (*.f64 b c) d))
(-.f64 (neg.f64 a) (neg.f64 (/.f64 (*.f64 b c) d)))
(/.f64 (fma.f64 (neg.f64 a) d (*.f64 b c)) d)
(fma.f64 (*.f64 b c) (/.f64 #s(literal 1 binary64) d) (neg.f64 a))
(fma.f64 b (/.f64 c d) (neg.f64 a))
(fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d))
(fma.f64 a #s(literal -1 binary64) (/.f64 (*.f64 b c) d))
#s(literal -1 binary64)
(*.f64 (*.f64 b c) (/.f64 #s(literal 1 binary64) d))
(*.f64 b (/.f64 c d))
(/.f64 (*.f64 b c) d)
(/.f64 (neg.f64 (*.f64 b c)) (neg.f64 d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 b (neg.f64 (/.f64 (*.f64 a d) c))) c))
(*.f64 (+.f64 b (neg.f64 (/.f64 (*.f64 a d) c))) (/.f64 #s(literal 1 binary64) c))
(+.f64 (/.f64 b c) (/.f64 (neg.f64 (/.f64 (*.f64 a d) c)) c))
(/.f64 (+.f64 b (neg.f64 (/.f64 (*.f64 a d) c))) c)
(/.f64 (neg.f64 (+.f64 b (neg.f64 (/.f64 (*.f64 a d) c)))) (neg.f64 c))
(fma.f64 b (/.f64 #s(literal 1 binary64) c) (/.f64 (neg.f64 (/.f64 (*.f64 a d) c)) c))
(+.f64 b (neg.f64 (/.f64 (*.f64 a d) c)))
(+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b)
(-.f64 b (*.f64 #s(literal 1 binary64) (/.f64 (*.f64 a d) c)))
(-.f64 b (neg.f64 (neg.f64 (/.f64 (*.f64 a d) c))))
(fma.f64 (/.f64 (*.f64 a d) c) #s(literal -1 binary64) b)
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c) b)
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))
(*.f64 (/.f64 (*.f64 a d) c) #s(literal -1 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) (*.f64 a d)) c)
(neg.f64 (/.f64 (*.f64 a d) c))
(*.f64 (*.f64 a d) (/.f64 #s(literal 1 binary64) c))
(*.f64 a (/.f64 d c))
(/.f64 (*.f64 a d) c)
(/.f64 (neg.f64 (*.f64 a d)) (neg.f64 c))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (neg.f64 (/.f64 (*.f64 a d) b))))) (fma.f64 d d (*.f64 c c)))
#s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (neg.f64 (/.f64 (*.f64 a d) b)))))
(*.f64 b (+.f64 c (neg.f64 (/.f64 (*.f64 a d) b))))
(*.f64 (+.f64 c (neg.f64 (/.f64 (*.f64 a d) b))) b)
(+.f64 (*.f64 b c) (*.f64 (neg.f64 (/.f64 (*.f64 a d) b)) b))
(+.f64 (*.f64 b c) (*.f64 b (neg.f64 (/.f64 (*.f64 a d) b))))
(fma.f64 b c (*.f64 (neg.f64 (/.f64 (*.f64 a d) b)) b))
(fma.f64 c b (*.f64 (neg.f64 (/.f64 (*.f64 a d) b)) b))
(fma.f64 b c (*.f64 b (neg.f64 (/.f64 (*.f64 a d) b))))
(fma.f64 c b (*.f64 b (neg.f64 (/.f64 (*.f64 a d) b))))
(+.f64 c (neg.f64 (/.f64 (*.f64 a d) b)))
(+.f64 (neg.f64 (/.f64 (*.f64 a d) b)) c)
(-.f64 c (*.f64 #s(literal 1 binary64) (/.f64 (*.f64 a d) b)))
(-.f64 c (neg.f64 (neg.f64 (/.f64 (*.f64 a d) b))))
(fma.f64 (/.f64 (*.f64 a d) b) #s(literal -1 binary64) c)
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b) c)
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))
(*.f64 (/.f64 (*.f64 a d) b) #s(literal -1 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) (*.f64 a d)) b)
(neg.f64 (/.f64 (*.f64 a d) b))
(*.f64 (*.f64 a d) (/.f64 #s(literal 1 binary64) b))
(*.f64 a (/.f64 d b))
(/.f64 (*.f64 a d) b)
(/.f64 (neg.f64 (*.f64 a d)) (neg.f64 b))
(+.f64 (*.f64 c c) (*.f64 d d))
(+.f64 (*.f64 d d) (*.f64 c c))
(-.f64 (*.f64 c c) (neg.f64 (*.f64 d d)))
(-.f64 (*.f64 d d) (neg.f64 (*.f64 c c)))
(-.f64 (*.f64 c c) (*.f64 (neg.f64 d) d))
(-.f64 (*.f64 d d) (*.f64 (neg.f64 c) c))
(fma.f64 d d (*.f64 c c))
(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 c c (*.f64 d d))
(*.f64 d d)
(*.f64 (fabs.f64 d) (fabs.f64 d))
(*.f64 (neg.f64 d) (neg.f64 d))
(pow.f64 d #s(literal 2 binary64))

eval22.0ms (0.8%)

Memory
0.4MiB live, 48.1MiB allocated; 6ms collecting garbage
Compiler

Compiled 5 966 to 873 computations (85.4% saved)

prune20.0ms (0.8%)

Memory
-12.4MiB live, 30.3MiB allocated; 9ms collecting garbage
Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New18416200
Fresh606
Picked415
Done000
Total19417211
Accuracy
99.8%
Counts
211 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.3%
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d b)))))) (+.f64 (*.f64 c c) (*.f64 d d)))
60.9%
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (neg.f64 (/.f64 (*.f64 a d) b))))) (fma.f64 d d (*.f64 c c)))
41.6%
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b c)) (fma.f64 d d (*.f64 c c)))
55.0%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (*.f64 b c) (/.f64 #s(literal 1 binary64) d) (neg.f64 a)) d))
58.1%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) d))
58.1%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 #s(literal -1 binary64) a (*.f64 b (/.f64 c d))) d))
50.8%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b) c))
53.3%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d c)))) c))
24.4%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (/.f64 (*.f64 b c) d)) d))
49.4%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a c) (/.f64 b d)))) d))
39.7%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a)) d))
45.6%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ b (* -1 (/ (* a d) c))) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a c) (/.f64 b d)))) c))
40.7%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
57.9%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) (/.f64 #s(literal 1 binary64) d)))
40.6%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) c)))
42.1%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a (*.f64 c d)) (/.f64 b (pow.f64 d #s(literal 2 binary64)))))))
40.7%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) #s(approx (/ (+ b (* -1 (/ (* a d) c))) c) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) (pow.f64 c #s(literal 2 binary64)))))
Compiler

Compiled 961 to 617 computations (35.8% saved)

series218.0ms (8.3%)

Memory
28.6MiB live, 263.8MiB allocated; 40ms collecting garbage
Counts
38 → 111
Calls
Call 1
Inputs
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (neg.f64 (/.f64 (*.f64 a d) b))))) (fma.f64 d d (*.f64 c c)))
#s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (neg.f64 (/.f64 (*.f64 a d) b)))))
(*.f64 b (+.f64 c (neg.f64 (/.f64 (*.f64 a d) b))))
b
(+.f64 c (neg.f64 (/.f64 (*.f64 a d) b)))
c
(neg.f64 (/.f64 (*.f64 a d) b))
(/.f64 (*.f64 a d) b)
(*.f64 a d)
a
d
(fma.f64 d d (*.f64 c c))
(*.f64 c c)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) c)))
(*.f64 b (/.f64 #s(literal 1 binary64) c))
(/.f64 #s(literal 1 binary64) c)
#s(literal 1 binary64)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b) c))
(/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b) c)
(+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b)
(neg.f64 (/.f64 (*.f64 a d) c))
(/.f64 (*.f64 a d) c)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) (/.f64 #s(literal 1 binary64) d)))
(*.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) (/.f64 #s(literal 1 binary64) d))
(fma.f64 b (/.f64 c d) (neg.f64 a))
(/.f64 c d)
(neg.f64 a)
(/.f64 #s(literal 1 binary64) d)
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d b)))))) (+.f64 (*.f64 c c) (*.f64 d d)))
#s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d b))))))
(*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d b)))))
(+.f64 c (*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d b))))
(*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d b)))
#s(literal -1 binary64)
(*.f64 a (/.f64 d b))
(/.f64 d b)
(+.f64 (*.f64 c c) (*.f64 d d))
(*.f64 d d)
Outputs
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (*.f64 b c) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))) (/.f64 (*.f64 b c) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))
#s(approx (- (* b c) (* a d)) (*.f64 b c))
#s(approx (- (* b c) (* a d)) (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)))
#s(approx (+ c (neg (/ (* a d) b))) c)
#s(approx (+ c (neg (/ (* a d) b))) (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))))
#s(approx (neg (/ (* a d) b)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b)))
#s(approx (/ (* a d) b) (/.f64 (*.f64 a d) b))
#s(approx (* a d) (*.f64 a d))
#s(approx a a)
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (/.f64 b c))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (pow.f64 c #s(literal 2 binary64))) (/.f64 b c)))
#s(approx (+ (neg (/ (* a d) c)) b) b)
#s(approx (+ (neg (/ (* a d) c)) b) (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))))
#s(approx (neg (/ (* a d) c)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c)))
#s(approx (/ (* a d) c) (/.f64 (*.f64 a d) c))
#s(approx (* (+ (* b (/ c d)) (neg a)) (/ 1 d)) (/.f64 (*.f64 b c) (pow.f64 d #s(literal 2 binary64))))
#s(approx (* (+ (* b (/ c d)) (neg a)) (/ 1 d)) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (/.f64 (*.f64 b c) (pow.f64 d #s(literal 2 binary64)))))
#s(approx (+ (* b (/ c d)) (neg a)) (/.f64 (*.f64 b c) d))
#s(approx (+ (* b (/ c d)) (neg a)) (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)))
#s(approx (neg a) (*.f64 #s(literal -1 binary64) a))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 d (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))) (/.f64 (*.f64 b c) (*.f64 a (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 a d)))
#s(approx (- (* b c) (* a d)) (*.f64 a (-.f64 (/.f64 (*.f64 b c) a) d)))
#s(approx (* b (+ c (neg (/ (* a d) b)))) (*.f64 a (fma.f64 #s(literal -1 binary64) d (/.f64 (*.f64 b c) a))))
#s(approx (+ c (neg (/ (* a d) b))) (*.f64 a (-.f64 (/.f64 c a) (/.f64 d b))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (pow.f64 c #s(literal 2 binary64)))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 d (pow.f64 c #s(literal 2 binary64))) (/.f64 b (*.f64 a c)))))
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 a (-.f64 (/.f64 b a) (/.f64 d c))))
#s(approx (* (+ (* b (/ c d)) (neg a)) (/ 1 d)) (*.f64 #s(literal -1 binary64) (/.f64 a d)))
#s(approx (* (+ (* b (/ c d)) (neg a)) (/ 1 d)) (*.f64 a (-.f64 (/.f64 (*.f64 b c) (*.f64 a (pow.f64 d #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) d))))
#s(approx (+ (* b (/ c d)) (neg a)) (*.f64 a (-.f64 (/.f64 (*.f64 b c) (*.f64 a d)) #s(literal 1 binary64))))
#s(approx (+ c (* -1 (* a (/ d b)))) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 d b) (/.f64 c a))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (*.f64 a (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))) (/.f64 d (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) a)) (*.f64 #s(literal -1 binary64) d)))))
#s(approx (* b (+ c (neg (/ (* a d) b)))) (*.f64 #s(literal -1 binary64) (*.f64 a (+.f64 d (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) a))))))
#s(approx (+ c (neg (/ (* a d) b))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c a)) (*.f64 #s(literal -1 binary64) (/.f64 d b))))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 b (*.f64 a c)) (/.f64 d (pow.f64 c #s(literal 2 binary64)))))))
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b a)) (*.f64 #s(literal -1 binary64) (/.f64 d c))))))
#s(approx (* (+ (* b (/ c d)) (neg a)) (/ 1 d)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (*.f64 a (pow.f64 d #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) d)))))
#s(approx (+ (* b (/ c d)) (neg a)) (*.f64 #s(literal -1 binary64) (*.f64 a (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (*.f64 a d)))))))
#s(approx (+ c (* -1 (* a (/ d b)))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 c a) (/.f64 d b)))))
#s(approx (- (* b c) (* a d)) (-.f64 (*.f64 b c) (*.f64 a d)))
#s(approx (+ c (neg (/ (* a d) b))) (/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) b))
#s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c)))
#s(approx (+ (* b (/ c d)) (neg a)) (-.f64 (/.f64 (*.f64 b c) d) a))
#s(approx (+ c (* -1 (* a (/ d b)))) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) b))
#s(approx (/ d b) (/.f64 d b))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))) (/.f64 c (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))))
#s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b)))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b (pow.f64 c #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) c))))
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b c))))))
#s(approx (* (+ (* b (/ c d)) (neg a)) (/ 1 d)) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 a (*.f64 b d)) (/.f64 c (pow.f64 d #s(literal 2 binary64))))))
#s(approx (+ (* b (/ c d)) (neg a)) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 a b) (/.f64 c d))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 c (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))) (/.f64 (*.f64 a d) (*.f64 b (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))))))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) c (/.f64 (*.f64 a d) b)))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (/.f64 (*.f64 a d) (*.f64 b (pow.f64 c #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) c)))))
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (/.f64 (*.f64 a d) (*.f64 b c)) #s(literal 1 binary64)))))
#s(approx (* (+ (* b (/ c d)) (neg a)) (/ 1 d)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 c (pow.f64 d #s(literal 2 binary64))) (/.f64 a (*.f64 b d))))))
#s(approx (+ (* b (/ c d)) (neg a)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 c d) (/.f64 a b)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (*.f64 c (+.f64 (/.f64 b (pow.f64 d #s(literal 2 binary64))) (/.f64 (*.f64 a c) (pow.f64 d #s(literal 3 binary64)))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (*.f64 c (fma.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (pow.f64 d #s(literal 4 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 d #s(literal 3 binary64))))) (/.f64 b (pow.f64 d #s(literal 2 binary64)))))))
#s(approx (+ c (neg (/ (* a d) b))) (-.f64 c (/.f64 (*.f64 a d) b)))
#s(approx (+ (* d d) (* c c)) (pow.f64 d #s(literal 2 binary64)))
#s(approx (+ (* d d) (* c c)) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))
#s(approx (* c c) (pow.f64 c #s(literal 2 binary64)))
#s(approx (/ 1 c) (/.f64 #s(literal 1 binary64) c))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) (pow.f64 c #s(literal 2 binary64))))
#s(approx (+ (neg (/ (* a d) c)) b) (/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) c))
#s(approx (/ c d) (/.f64 c d))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (+.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (pow.f64 d #s(literal 2 binary64))) (pow.f64 c #s(literal 2 binary64)))))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (-.f64 (+.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c) (/.f64 (*.f64 a (pow.f64 d #s(literal 3 binary64))) (pow.f64 c #s(literal 3 binary64))))) (/.f64 (*.f64 b (pow.f64 d #s(literal 2 binary64))) (pow.f64 c #s(literal 2 binary64)))) c))
#s(approx (- (* b c) (* a d)) (*.f64 c (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c)))))
#s(approx (+ c (neg (/ (* a d) b))) (*.f64 c (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b c))))))
#s(approx (+ (* d d) (* c c)) (*.f64 (pow.f64 c #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 d #s(literal 2 binary64)) (pow.f64 c #s(literal 2 binary64))))))
#s(approx (* (+ (* b (/ c d)) (neg a)) (/ 1 d)) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a (*.f64 c d)) (/.f64 b (pow.f64 d #s(literal 2 binary64))))))
#s(approx (+ (* b (/ c d)) (neg a)) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a c) (/.f64 b d))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (/.f64 (*.f64 a d) c)) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (pow.f64 d #s(literal 2 binary64))) c))) c))) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (pow.f64 d #s(literal 3 binary64))) c)) (*.f64 #s(literal -1 binary64) (*.f64 b (pow.f64 d #s(literal 2 binary64))))) c))) c))) c)))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) b (/.f64 (*.f64 a d) c)))))
#s(approx (+ c (neg (/ (* a d) b))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (/.f64 (*.f64 a d) (*.f64 b c)) #s(literal 1 binary64)))))
#s(approx (* (+ (* b (/ c d)) (neg a)) (/ 1 d)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 b (pow.f64 d #s(literal 2 binary64))) (/.f64 a (*.f64 c d))))))
#s(approx (+ (* b (/ c d)) (neg a)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 b d) (/.f64 a c)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 c #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b d) (pow.f64 c #s(literal 3 binary64))))) (/.f64 b c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 c #s(literal 2 binary64))) (*.f64 d (-.f64 (/.f64 (*.f64 a d) (pow.f64 c #s(literal 4 binary64))) (/.f64 b (pow.f64 c #s(literal 3 binary64)))))) (/.f64 b c)))
#s(approx d d)
#s(approx (* (+ (* b (/ c d)) (neg a)) (/ 1 d)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) (pow.f64 d #s(literal 2 binary64))))
#s(approx (+ (* b (/ c d)) (neg a)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) d))
#s(approx (/ 1 d) (/.f64 #s(literal 1 binary64) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (fma.f64 #s(literal -1 binary64) a (+.f64 (/.f64 (*.f64 a (pow.f64 c #s(literal 2 binary64))) (pow.f64 d #s(literal 2 binary64))) (/.f64 (*.f64 b c) d))) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) a (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (pow.f64 c #s(literal 3 binary64))) (pow.f64 d #s(literal 3 binary64))) (/.f64 (*.f64 b c) d))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (pow.f64 c #s(literal 2 binary64))) (pow.f64 d #s(literal 2 binary64))))) d))
#s(approx (- (* b c) (* a d)) (*.f64 d (-.f64 (/.f64 (*.f64 b c) d) a)))
#s(approx (* b (+ c (neg (/ (* a d) b)))) (*.f64 d (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d))))
#s(approx (+ c (neg (/ (* a d) b))) (*.f64 d (-.f64 (/.f64 c d) (/.f64 a b))))
#s(approx (+ (* d d) (* c c)) (*.f64 (pow.f64 d #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 c #s(literal 2 binary64))) (/.f64 b (*.f64 c d)))))
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c))))
#s(approx (+ c (* -1 (* a (/ d b)))) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a b) (/.f64 c d))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) d))) d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 b c (/.f64 (*.f64 a (pow.f64 c #s(literal 2 binary64))) d)) d))) d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 b (pow.f64 c #s(literal 3 binary64))) d) (*.f64 a (pow.f64 c #s(literal 2 binary64)))) d) (*.f64 b c)) d))) d)))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) d)) (*.f64 #s(literal -1 binary64) a)))))
#s(approx (* b (+ c (neg (/ (* a d) b)))) (*.f64 #s(literal -1 binary64) (*.f64 d (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) d))))))
#s(approx (+ c (neg (/ (* a d) b))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c d)) (*.f64 #s(literal -1 binary64) (/.f64 a b))))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 #s(literal -1 binary64) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 b (*.f64 c d)) (/.f64 a (pow.f64 c #s(literal 2 binary64)))))))
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b d)) (*.f64 #s(literal -1 binary64) (/.f64 a c))))))
#s(approx (+ c (* -1 (* a (/ d b)))) (*.f64 #s(literal -1 binary64) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 c d) (/.f64 a b)))))
Calls

12 calls:

TimeVariablePoint
9.0ms
d
inf
8.0ms
b
-inf
7.0ms
c
0
4.0ms
d
-inf
3.0ms
c
-inf

rewrite154.0ms (5.9%)

Memory
13.8MiB live, 107.1MiB allocated; 42ms collecting garbage
Counts
38 → 148
Calls
Call 1
Inputs
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (neg.f64 (/.f64 (*.f64 a d) b))))) (fma.f64 d d (*.f64 c c)))
#s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (neg.f64 (/.f64 (*.f64 a d) b)))))
(*.f64 b (+.f64 c (neg.f64 (/.f64 (*.f64 a d) b))))
b
(+.f64 c (neg.f64 (/.f64 (*.f64 a d) b)))
c
(neg.f64 (/.f64 (*.f64 a d) b))
(/.f64 (*.f64 a d) b)
(*.f64 a d)
a
d
(fma.f64 d d (*.f64 c c))
(*.f64 c c)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) c)))
(*.f64 b (/.f64 #s(literal 1 binary64) c))
(/.f64 #s(literal 1 binary64) c)
#s(literal 1 binary64)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b) c))
(/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b) c)
(+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b)
(neg.f64 (/.f64 (*.f64 a d) c))
(/.f64 (*.f64 a d) c)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) (/.f64 #s(literal 1 binary64) d)))
(*.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) (/.f64 #s(literal 1 binary64) d))
(fma.f64 b (/.f64 c d) (neg.f64 a))
(/.f64 c d)
(neg.f64 a)
(/.f64 #s(literal 1 binary64) d)
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d b)))))) (+.f64 (*.f64 c c) (*.f64 d d)))
#s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d b))))))
(*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d b)))))
(+.f64 c (*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d b))))
(*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d b)))
#s(literal -1 binary64)
(*.f64 a (/.f64 d b))
(/.f64 d b)
(+.f64 (*.f64 c c) (*.f64 d d))
(*.f64 d d)
Outputs
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b)) (fma.f64 d d (*.f64 c c)))
#s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b))
(*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b)
(*.f64 b (-.f64 c (/.f64 (*.f64 a d) b)))
(+.f64 (*.f64 c b) (*.f64 (neg.f64 (/.f64 (*.f64 a d) b)) b))
(+.f64 (*.f64 c b) (*.f64 b (neg.f64 (/.f64 (*.f64 a d) b))))
(fma.f64 b c (*.f64 (neg.f64 (/.f64 (*.f64 a d) b)) b))
(fma.f64 c b (*.f64 (neg.f64 (/.f64 (*.f64 a d) b)) b))
(fma.f64 b c (*.f64 b (neg.f64 (/.f64 (*.f64 a d) b))))
(fma.f64 c b (*.f64 b (neg.f64 (/.f64 (*.f64 a d) b))))
b
(+.f64 c (neg.f64 (/.f64 (*.f64 a d) b)))
(+.f64 (neg.f64 (/.f64 (*.f64 a d) b)) c)
(-.f64 c (/.f64 (*.f64 a d) b))
(-.f64 c (neg.f64 (neg.f64 (/.f64 (*.f64 a d) b))))
(-.f64 c (*.f64 #s(literal 1 binary64) (/.f64 (*.f64 a d) b)))
(fma.f64 (*.f64 #s(literal -1 binary64) a) (/.f64 d b) c)
(fma.f64 (/.f64 (*.f64 a d) b) #s(literal -1 binary64) c)
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b) c)
c
(*.f64 (*.f64 #s(literal -1 binary64) a) (/.f64 d b))
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))
(*.f64 (/.f64 (*.f64 a d) b) #s(literal -1 binary64))
(/.f64 (*.f64 a d) (neg.f64 b))
(/.f64 (neg.f64 (*.f64 a d)) b)
(neg.f64 (/.f64 (*.f64 a d) b))
(*.f64 a (/.f64 d b))
(*.f64 (*.f64 a d) (/.f64 #s(literal 1 binary64) b))
(*.f64 (/.f64 d b) a)
(/.f64 (*.f64 a d) b)
(/.f64 (neg.f64 (*.f64 a d)) (neg.f64 b))
(*.f64 a d)
(*.f64 d a)
a
d
(+.f64 (*.f64 c c) (*.f64 d d))
(+.f64 (*.f64 d d) (*.f64 c c))
(-.f64 (*.f64 c c) (neg.f64 (*.f64 d d)))
(-.f64 (*.f64 d d) (neg.f64 (*.f64 c c)))
(-.f64 (*.f64 c c) (*.f64 (neg.f64 d) d))
(-.f64 (*.f64 d d) (*.f64 (neg.f64 c) c))
(fma.f64 d d (*.f64 c c))
(fma.f64 (neg.f64 c) (neg.f64 c) (*.f64 d d))
(fma.f64 (fabs.f64 c) (fabs.f64 c) (*.f64 d d))
(fma.f64 (neg.f64 d) (neg.f64 d) (*.f64 c c))
(fma.f64 (fabs.f64 d) (fabs.f64 d) (*.f64 c c))
(fma.f64 c c (*.f64 d d))
(*.f64 c c)
(*.f64 (fabs.f64 c) (fabs.f64 c))
(*.f64 (neg.f64 c) (neg.f64 c))
(pow.f64 c #s(literal 2 binary64))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
(*.f64 b (/.f64 #s(literal 1 binary64) c))
(*.f64 (/.f64 #s(literal 1 binary64) c) b)
(/.f64 b c)
(/.f64 (*.f64 b #s(literal 1 binary64)) c)
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) c))
(/.f64 #s(literal 1 binary64) c)
(/.f64 #s(literal -1 binary64) (neg.f64 c))
(pow.f64 c #s(literal -1 binary64))
#s(literal 1 binary64)
(cosh.f64 #s(literal 0 binary64))
(exp.f64 #s(literal 0 binary64))
(neg.f64 #s(literal -1 binary64))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b) c))
(*.f64 (+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b) (/.f64 #s(literal 1 binary64) c))
(+.f64 (/.f64 (neg.f64 (/.f64 (*.f64 a d) c)) c) (/.f64 b c))
(/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b) c)
(/.f64 (neg.f64 (+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b)) (neg.f64 c))
(+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b)
(+.f64 b (neg.f64 (/.f64 (*.f64 a d) c)))
(-.f64 (neg.f64 (/.f64 (*.f64 a d) c)) (neg.f64 b))
(/.f64 (*.f64 a d) (neg.f64 c))
(/.f64 (neg.f64 (*.f64 a d)) c)
(neg.f64 (/.f64 (*.f64 a d) c))
(*.f64 (*.f64 a d) (/.f64 #s(literal 1 binary64) c))
(*.f64 a (/.f64 d c))
(/.f64 (*.f64 a d) c)
(/.f64 (neg.f64 (*.f64 a d)) (neg.f64 c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 c b) d) a) d))
(*.f64 (-.f64 (/.f64 (*.f64 c b) d) a) (/.f64 #s(literal 1 binary64) d))
(*.f64 (/.f64 #s(literal 1 binary64) d) (-.f64 (/.f64 (*.f64 c b) d) a))
(/.f64 (-.f64 (/.f64 (*.f64 c b) d) a) d)
(/.f64 (*.f64 (-.f64 (/.f64 (*.f64 c b) d) a) #s(literal 1 binary64)) d)
(+.f64 (/.f64 (*.f64 c b) d) (neg.f64 a))
(+.f64 (neg.f64 a) (/.f64 (*.f64 c b) d))
(-.f64 (/.f64 (*.f64 c b) d) (neg.f64 (neg.f64 a)))
(-.f64 (/.f64 (*.f64 c b) d) a)
(fma.f64 b (/.f64 c d) (neg.f64 a))
(fma.f64 (/.f64 c d) b (neg.f64 a))
(*.f64 c (/.f64 #s(literal 1 binary64) d))
(/.f64 c d)
(/.f64 (neg.f64 c) (neg.f64 d))
(neg.f64 a)
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) d))
(/.f64 #s(literal 1 binary64) d)
(/.f64 #s(literal -1 binary64) (neg.f64 d))
(pow.f64 d #s(literal -1 binary64))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b)) (fma.f64 d d (*.f64 c c)))
#s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b))
(*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b)
(*.f64 b (-.f64 c (/.f64 (*.f64 a d) b)))
(+.f64 (*.f64 c b) (*.f64 (neg.f64 (/.f64 (*.f64 a d) b)) b))
(+.f64 (*.f64 c b) (*.f64 b (neg.f64 (/.f64 (*.f64 a d) b))))
(fma.f64 b c (*.f64 (neg.f64 (/.f64 (*.f64 a d) b)) b))
(fma.f64 c b (*.f64 (neg.f64 (/.f64 (*.f64 a d) b)) b))
(fma.f64 b c (*.f64 b (neg.f64 (/.f64 (*.f64 a d) b))))
(fma.f64 c b (*.f64 b (neg.f64 (/.f64 (*.f64 a d) b))))
(+.f64 c (neg.f64 (/.f64 (*.f64 a d) b)))
(+.f64 (neg.f64 (/.f64 (*.f64 a d) b)) c)
(-.f64 c (/.f64 (*.f64 a d) b))
(-.f64 c (neg.f64 (neg.f64 (/.f64 (*.f64 a d) b))))
(-.f64 c (*.f64 #s(literal 1 binary64) (/.f64 (*.f64 a d) b)))
(fma.f64 (*.f64 #s(literal -1 binary64) a) (/.f64 d b) c)
(fma.f64 (/.f64 (*.f64 a d) b) #s(literal -1 binary64) c)
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b) c)
(*.f64 (*.f64 #s(literal -1 binary64) a) (/.f64 d b))
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))
(*.f64 (/.f64 (*.f64 a d) b) #s(literal -1 binary64))
(/.f64 (*.f64 a d) (neg.f64 b))
(/.f64 (neg.f64 (*.f64 a d)) b)
(neg.f64 (/.f64 (*.f64 a d) b))
#s(literal -1 binary64)
(neg.f64 #s(literal 1 binary64))
(*.f64 a (/.f64 d b))
(*.f64 (*.f64 a d) (/.f64 #s(literal 1 binary64) b))
(*.f64 (/.f64 d b) a)
(/.f64 (*.f64 a d) b)
(/.f64 (neg.f64 (*.f64 a d)) (neg.f64 b))
(*.f64 d (/.f64 #s(literal 1 binary64) b))
(/.f64 d b)
(/.f64 (neg.f64 d) (neg.f64 b))
(+.f64 (*.f64 c c) (*.f64 d d))
(+.f64 (*.f64 d d) (*.f64 c c))
(-.f64 (*.f64 c c) (neg.f64 (*.f64 d d)))
(-.f64 (*.f64 d d) (neg.f64 (*.f64 c c)))
(-.f64 (*.f64 c c) (*.f64 (neg.f64 d) d))
(-.f64 (*.f64 d d) (*.f64 (neg.f64 c) c))
(fma.f64 d d (*.f64 c c))
(fma.f64 (neg.f64 c) (neg.f64 c) (*.f64 d d))
(fma.f64 (fabs.f64 c) (fabs.f64 c) (*.f64 d d))
(fma.f64 (neg.f64 d) (neg.f64 d) (*.f64 c c))
(fma.f64 (fabs.f64 d) (fabs.f64 d) (*.f64 c c))
(fma.f64 c c (*.f64 d d))
(*.f64 d d)
(*.f64 (fabs.f64 d) (fabs.f64 d))
(*.f64 (neg.f64 d) (neg.f64 d))
(pow.f64 d #s(literal 2 binary64))

eval23.0ms (0.9%)

Memory
-5.7MiB live, 40.4MiB allocated; 5ms collecting garbage
Compiler

Compiled 6 507 to 986 computations (84.8% saved)

prune16.0ms (0.6%)

Memory
-25.9MiB live, 21.7MiB allocated; 1ms collecting garbage
Pruning

18 alts after pruning (15 fresh and 3 done)

PrunedKeptTotal
New1978205
Fresh4711
Picked325
Done011
Total20418222
Accuracy
99.8%
Counts
222 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.9%
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b)) (fma.f64 d d (*.f64 c c)))
56.3%
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (neg.f64 (*.f64 (/.f64 d b) a))))) (fma.f64 d d (*.f64 c c)))
41.6%
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b #s(approx (+ c (neg (/ (* a d) b))) c))) (fma.f64 d d (*.f64 c c)))
55.0%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (*.f64 b c) (/.f64 #s(literal 1 binary64) d) (neg.f64 a)) d))
58.1%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) d))
58.1%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 #s(literal -1 binary64) a (*.f64 b (/.f64 c d))) d))
55.0%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 c b) d) a) d))
53.3%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (neg.f64 (*.f64 a (/.f64 d c))) b) c))
24.4%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (/.f64 (*.f64 b c) d)) d))
49.4%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a c) (/.f64 b d)))) d))
39.7%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a)) d))
50.8%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c))) c))
45.6%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c)))) c))
40.7%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
57.9%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) (/.f64 #s(literal 1 binary64) d)))
40.6%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) c)))
42.1%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a (*.f64 c d)) (/.f64 b (pow.f64 d #s(literal 2 binary64)))))))
40.7%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) #s(approx (/ (+ (neg (/ (* a d) c)) b) c) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) (pow.f64 c #s(literal 2 binary64)))))
Compiler

Compiled 983 to 616 computations (37.3% saved)

series183.0ms (7%)

Memory
-11.2MiB live, 134.0MiB allocated; 15ms collecting garbage
Counts
33 → 117
Calls
Call 1
Inputs
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b)) (fma.f64 d d (*.f64 c c)))
#s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b))
(*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b)
(-.f64 c (/.f64 (*.f64 a d) b))
c
(/.f64 (*.f64 a d) b)
(*.f64 a d)
a
d
b
(fma.f64 d d (*.f64 c c))
(*.f64 c c)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a)) d))
(/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a)) d)
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a))
(*.f64 #s(literal -1 binary64) a)
#s(literal -1 binary64)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 c b) d) a) d))
(/.f64 (-.f64 (/.f64 (*.f64 c b) d) a) d)
(-.f64 (/.f64 (*.f64 c b) d) a)
(/.f64 (*.f64 c b) d)
(*.f64 c b)
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b #s(approx (+ c (neg (/ (* a d) b))) c))) (fma.f64 d d (*.f64 c c)))
#s(approx (- (* b c) (* a d)) (*.f64 b #s(approx (+ c (neg (/ (* a d) b))) c)))
(*.f64 b #s(approx (+ c (neg (/ (* a d) b))) c))
#s(approx (+ c (neg (/ (* a d) b))) c)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c)))) c))
(/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c)))) c)
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c))))
(*.f64 d (-.f64 (/.f64 b d) (/.f64 a c)))
(-.f64 (/.f64 b d) (/.f64 a c))
(/.f64 b d)
(/.f64 a c)
Outputs
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (*.f64 b c) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))) (/.f64 (*.f64 b c) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))
#s(approx (- (* b c) (* a d)) (*.f64 b c))
#s(approx (- (* b c) (* a d)) (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)))
#s(approx (- c (/ (* a d) b)) c)
#s(approx (- c (/ (* a d) b)) (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))))
#s(approx (/ (* a d) b) (/.f64 (*.f64 a d) b))
#s(approx (* a d) (*.f64 a d))
#s(approx a a)
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (/.f64 (*.f64 b c) (pow.f64 d #s(literal 2 binary64))))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (/.f64 (*.f64 b c) (pow.f64 d #s(literal 2 binary64)))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (/.f64 (*.f64 b c) d))
#s(approx (+ (* -1 a) (/ (* b c) d)) (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)))
#s(approx (* -1 a) (*.f64 #s(literal -1 binary64) a))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (/.f64 b c))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (pow.f64 c #s(literal 2 binary64))) (/.f64 b c)))
#s(approx (+ (neg (/ (* a d) c)) b) b)
#s(approx (+ (neg (/ (* a d) c)) b) (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))))
#s(approx (- (/ b d) (/ a c)) (/.f64 b d))
#s(approx (- (/ b d) (/ a c)) (fma.f64 #s(literal -1 binary64) (/.f64 a c) (/.f64 b d)))
#s(approx (/ a c) (/.f64 a c))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 d (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))) (/.f64 (*.f64 b c) (*.f64 a (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 a d)))
#s(approx (- (* b c) (* a d)) (*.f64 a (-.f64 (/.f64 (*.f64 b c) a) d)))
#s(approx (* (- c (/ (* a d) b)) b) (*.f64 a (fma.f64 #s(literal -1 binary64) d (/.f64 (*.f64 b c) a))))
#s(approx (- c (/ (* a d) b)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b)))
#s(approx (- c (/ (* a d) b)) (*.f64 a (-.f64 (/.f64 c a) (/.f64 d b))))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 #s(literal -1 binary64) (/.f64 a d)))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 a (-.f64 (/.f64 (*.f64 b c) (*.f64 a (pow.f64 d #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) d))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 a (-.f64 (/.f64 (*.f64 b c) (*.f64 a d)) #s(literal 1 binary64))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (pow.f64 c #s(literal 2 binary64)))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 d (pow.f64 c #s(literal 2 binary64))) (/.f64 b (*.f64 a c)))))
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c)))
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 a (-.f64 (/.f64 b a) (/.f64 d c))))
#s(approx (* d (- (/ b d) (/ a c))) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 d c) (/.f64 b a))))
#s(approx (- (/ b d) (/ a c)) (*.f64 #s(literal -1 binary64) (/.f64 a c)))
#s(approx (- (/ b d) (/ a c)) (*.f64 a (-.f64 (/.f64 b (*.f64 a d)) (/.f64 #s(literal 1 binary64) c))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (*.f64 a (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))) (/.f64 d (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) a)) (*.f64 #s(literal -1 binary64) d)))))
#s(approx (* (- c (/ (* a d) b)) b) (*.f64 #s(literal -1 binary64) (*.f64 a (+.f64 d (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) a))))))
#s(approx (- c (/ (* a d) b)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c a)) (*.f64 #s(literal -1 binary64) (/.f64 d b))))))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (*.f64 a (pow.f64 d #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) d)))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 a (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (*.f64 a d)))))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 b (*.f64 a c)) (/.f64 d (pow.f64 c #s(literal 2 binary64)))))))
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b a)) (*.f64 #s(literal -1 binary64) (/.f64 d c))))))
#s(approx (* d (- (/ b d) (/ a c))) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 b a) (/.f64 d c)))))
#s(approx (- (/ b d) (/ a c)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) (/.f64 b (*.f64 a d)) (/.f64 #s(literal 1 binary64) c)))))
#s(approx (- (* b c) (* a d)) (-.f64 (*.f64 b c) (*.f64 a d)))
#s(approx (- c (/ (* a d) b)) (/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) b))
#s(approx (- (/ (* c b) d) a) (-.f64 (/.f64 (*.f64 b c) d) a))
#s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c)))
#s(approx (- (/ b d) (/ a c)) (-.f64 (/.f64 b d) (/.f64 a c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))) (/.f64 c (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))))
#s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b)))))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 a (*.f64 b d)) (/.f64 c (pow.f64 d #s(literal 2 binary64))))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 a b) (/.f64 c d))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b (pow.f64 c #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) c))))
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 b (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b c))))))
#s(approx (- (/ b d) (/ a c)) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 a (*.f64 b c)) (/.f64 #s(literal 1 binary64) d))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 c (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))) (/.f64 (*.f64 a d) (*.f64 b (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))))))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) c (/.f64 (*.f64 a d) b)))))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 c (pow.f64 d #s(literal 2 binary64))) (/.f64 a (*.f64 b d))))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 c d) (/.f64 a b)))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (/.f64 (*.f64 a d) (*.f64 b (pow.f64 c #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) c)))))
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (/.f64 (*.f64 a d) (*.f64 b c)) #s(literal 1 binary64)))))
#s(approx (- (/ b d) (/ a c)) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (/.f64 a (*.f64 b c)) (/.f64 #s(literal 1 binary64) d)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (*.f64 c (+.f64 (/.f64 b (pow.f64 d #s(literal 2 binary64))) (/.f64 (*.f64 a c) (pow.f64 d #s(literal 3 binary64)))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (*.f64 c (fma.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) (pow.f64 d #s(literal 4 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 d #s(literal 3 binary64))))) (/.f64 b (pow.f64 d #s(literal 2 binary64)))))))
#s(approx (- c (/ (* a d) b)) (-.f64 c (/.f64 (*.f64 a d) b)))
#s(approx (+ (* d d) (* c c)) (pow.f64 d #s(literal 2 binary64)))
#s(approx (+ (* d d) (* c c)) (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))
#s(approx (* c c) (pow.f64 c #s(literal 2 binary64)))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) (pow.f64 c #s(literal 2 binary64))))
#s(approx (+ (neg (/ (* a d) c)) b) (/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) c))
#s(approx (* d (- (/ b d) (/ a c))) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) c))
#s(approx (- (/ b d) (/ a c)) (/.f64 (-.f64 (/.f64 (*.f64 b c) d) a) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (+.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (pow.f64 d #s(literal 2 binary64))) (pow.f64 c #s(literal 2 binary64)))))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (-.f64 (+.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c) (/.f64 (*.f64 a (pow.f64 d #s(literal 3 binary64))) (pow.f64 c #s(literal 3 binary64))))) (/.f64 (*.f64 b (pow.f64 d #s(literal 2 binary64))) (pow.f64 c #s(literal 2 binary64)))) c))
#s(approx (- (* b c) (* a d)) (*.f64 c (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c)))))
#s(approx (- c (/ (* a d) b)) (*.f64 c (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b c))))))
#s(approx (+ (* d d) (* c c)) (*.f64 (pow.f64 c #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 d #s(literal 2 binary64)) (pow.f64 c #s(literal 2 binary64))))))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a (*.f64 c d)) (/.f64 b (pow.f64 d #s(literal 2 binary64))))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a c) (/.f64 b d))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (/.f64 (*.f64 a d) c)) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (pow.f64 d #s(literal 2 binary64))) c))) c))) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (pow.f64 d #s(literal 3 binary64))) c)) (*.f64 #s(literal -1 binary64) (*.f64 b (pow.f64 d #s(literal 2 binary64))))) c))) c))) c)))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) b (/.f64 (*.f64 a d) c)))))
#s(approx (- c (/ (* a d) b)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (/.f64 (*.f64 a d) (*.f64 b c)) #s(literal 1 binary64)))))
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 b (pow.f64 d #s(literal 2 binary64))) (/.f64 a (*.f64 c d))))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 b d) (/.f64 a c)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 c #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b d) (pow.f64 c #s(literal 3 binary64))))) (/.f64 b c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (fma.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 c #s(literal 2 binary64))) (*.f64 d (-.f64 (/.f64 (*.f64 a d) (pow.f64 c #s(literal 4 binary64))) (/.f64 b (pow.f64 c #s(literal 3 binary64)))))) (/.f64 b c)))
#s(approx d d)
#s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) (pow.f64 d #s(literal 2 binary64))))
#s(approx (+ (* -1 a) (/ (* b c) d)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) d))
#s(approx (- (/ b d) (/ a c)) (/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (fma.f64 #s(literal -1 binary64) a (+.f64 (/.f64 (*.f64 a (pow.f64 c #s(literal 2 binary64))) (pow.f64 d #s(literal 2 binary64))) (/.f64 (*.f64 b c) d))) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) a (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (pow.f64 c #s(literal 3 binary64))) (pow.f64 d #s(literal 3 binary64))) (/.f64 (*.f64 b c) d))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (pow.f64 c #s(literal 2 binary64))) (pow.f64 d #s(literal 2 binary64))))) d))
#s(approx (- (* b c) (* a d)) (*.f64 d (-.f64 (/.f64 (*.f64 b c) d) a)))
#s(approx (* (- c (/ (* a d) b)) b) (*.f64 d (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d))))
#s(approx (- c (/ (* a d) b)) (*.f64 d (-.f64 (/.f64 c d) (/.f64 a b))))
#s(approx (+ (* d d) (* c c)) (*.f64 (pow.f64 d #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 c #s(literal 2 binary64))) (/.f64 b (*.f64 c d)))))
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c))))
#s(approx (* d (- (/ b d) (/ a c))) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a c) (/.f64 b d))))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) d))) d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 b c (/.f64 (*.f64 a (pow.f64 c #s(literal 2 binary64))) d)) d))) d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* d d) (* c c))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 b (pow.f64 c #s(literal 3 binary64))) d) (*.f64 a (pow.f64 c #s(literal 2 binary64)))) d) (*.f64 b c)) d))) d)))
#s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) d)) (*.f64 #s(literal -1 binary64) a)))))
#s(approx (* (- c (/ (* a d) b)) b) (*.f64 #s(literal -1 binary64) (*.f64 d (+.f64 a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b c) d))))))
#s(approx (- c (/ (* a d) b)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c d)) (*.f64 #s(literal -1 binary64) (/.f64 a b))))))
#s(approx (/ (+ (neg (/ (* a d) c)) b) c) (*.f64 #s(literal -1 binary64) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 b (*.f64 c d)) (/.f64 a (pow.f64 c #s(literal 2 binary64)))))))
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b d)) (*.f64 #s(literal -1 binary64) (/.f64 a c))))))
#s(approx (* d (- (/ b d) (/ a c))) (*.f64 #s(literal -1 binary64) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 b d) (/.f64 a c)))))
Calls

12 calls:

TimeVariablePoint
6.0ms
c
-inf
3.0ms
d
-inf
3.0ms
b
-inf
3.0ms
a
-inf
3.0ms
a
0

rewrite131.0ms (5%)

Memory
17.0MiB live, 129.1MiB allocated; 27ms collecting garbage
Counts
33 → 94
Calls
Call 1
Inputs
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b)) (fma.f64 d d (*.f64 c c)))
#s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b))
(*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b)
(-.f64 c (/.f64 (*.f64 a d) b))
c
(/.f64 (*.f64 a d) b)
(*.f64 a d)
a
d
b
(fma.f64 d d (*.f64 c c))
(*.f64 c c)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a)) d))
(/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a)) d)
#s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a))
(*.f64 #s(literal -1 binary64) a)
#s(literal -1 binary64)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 c b) d) a) d))
(/.f64 (-.f64 (/.f64 (*.f64 c b) d) a) d)
(-.f64 (/.f64 (*.f64 c b) d) a)
(/.f64 (*.f64 c b) d)
(*.f64 c b)
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b #s(approx (+ c (neg (/ (* a d) b))) c))) (fma.f64 d d (*.f64 c c)))
#s(approx (- (* b c) (* a d)) (*.f64 b #s(approx (+ c (neg (/ (* a d) b))) c)))
(*.f64 b #s(approx (+ c (neg (/ (* a d) b))) c))
#s(approx (+ c (neg (/ (* a d) b))) c)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c)))) c))
(/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c)))) c)
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c))))
(*.f64 d (-.f64 (/.f64 b d) (/.f64 a c)))
(-.f64 (/.f64 b d) (/.f64 a c))
(/.f64 b d)
(/.f64 a c)
Outputs
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b)) (fma.f64 d d (*.f64 c c)))
#s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b))
(*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b)
(*.f64 b (-.f64 c (/.f64 (*.f64 a d) b)))
(+.f64 (*.f64 c b) (*.f64 (neg.f64 (/.f64 (*.f64 a d) b)) b))
(+.f64 (*.f64 c b) (*.f64 b (neg.f64 (/.f64 (*.f64 a d) b))))
(fma.f64 b c (*.f64 (neg.f64 (/.f64 (*.f64 a d) b)) b))
(fma.f64 c b (*.f64 (neg.f64 (/.f64 (*.f64 a d) b)) b))
(fma.f64 b c (*.f64 b (neg.f64 (/.f64 (*.f64 a d) b))))
(fma.f64 c b (*.f64 b (neg.f64 (/.f64 (*.f64 a d) b))))
(+.f64 (neg.f64 (/.f64 (*.f64 a d) b)) c)
(+.f64 c (neg.f64 (/.f64 (*.f64 a d) b)))
(-.f64 c (/.f64 (*.f64 a d) b))
(-.f64 c (neg.f64 (neg.f64 (/.f64 (*.f64 a d) b))))
(/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) b)
(neg.f64 (-.f64 (/.f64 (*.f64 a d) b) c))
c
(*.f64 (*.f64 a d) (/.f64 #s(literal 1 binary64) b))
(*.f64 a (/.f64 d b))
(/.f64 (*.f64 a d) b)
(/.f64 (neg.f64 (*.f64 a d)) (neg.f64 b))
(*.f64 a d)
(*.f64 d a)
a
d
b
(+.f64 (*.f64 c c) (*.f64 d d))
(+.f64 (*.f64 d d) (*.f64 c c))
(-.f64 (*.f64 c c) (neg.f64 (*.f64 d d)))
(-.f64 (*.f64 d d) (neg.f64 (*.f64 c c)))
(-.f64 (*.f64 c c) (*.f64 (neg.f64 d) d))
(-.f64 (*.f64 d d) (*.f64 (neg.f64 c) c))
(fma.f64 d 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 c) (neg.f64 c) (*.f64 d d))
(fma.f64 (neg.f64 d) (neg.f64 d) (*.f64 c c))
(fma.f64 c c (*.f64 d d))
(*.f64 c c)
(*.f64 (fabs.f64 c) (fabs.f64 c))
(*.f64 (neg.f64 c) (neg.f64 c))
(pow.f64 c #s(literal 2 binary64))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (- (/ (* b c) d) a) (neg.f64 a)) d))
(/.f64 #s(approx (- (/ (* b c) d) a) (neg.f64 a)) d)
#s(approx (- (/ (* b c) d) a) (neg.f64 a))
(*.f64 #s(literal -1 binary64) a)
(*.f64 a #s(literal -1 binary64))
(neg.f64 a)
#s(literal -1 binary64)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 c b) d) a) d))
(*.f64 (-.f64 (/.f64 (*.f64 c b) d) a) (/.f64 #s(literal 1 binary64) d))
(+.f64 (/.f64 (neg.f64 a) d) (/.f64 (/.f64 (*.f64 c b) d) d))
(-.f64 (/.f64 (/.f64 (*.f64 c b) d) d) (/.f64 a d))
(/.f64 (-.f64 (/.f64 (*.f64 c b) d) a) d)
(/.f64 (neg.f64 (-.f64 (/.f64 (*.f64 c b) d) a)) (neg.f64 d))
(+.f64 (/.f64 (*.f64 c b) d) (neg.f64 a))
(+.f64 (neg.f64 a) (/.f64 (*.f64 c b) d))
(-.f64 (/.f64 (*.f64 c b) d) a)
(-.f64 (neg.f64 a) (neg.f64 (/.f64 (*.f64 c b) d)))
(/.f64 (fma.f64 (neg.f64 a) d (*.f64 c b)) d)
(fma.f64 (*.f64 c b) (/.f64 #s(literal 1 binary64) d) (neg.f64 a))
(fma.f64 b (/.f64 c d) (neg.f64 a))
(fma.f64 c (/.f64 b d) (neg.f64 a))
(fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 c b) d))
(fma.f64 a #s(literal -1 binary64) (/.f64 (*.f64 c b) d))
(neg.f64 (-.f64 a (/.f64 (*.f64 c b) d)))
(*.f64 (*.f64 c b) (/.f64 #s(literal 1 binary64) d))
(*.f64 b (/.f64 c d))
(*.f64 c (/.f64 b d))
(/.f64 (*.f64 c b) d)
(/.f64 (neg.f64 (*.f64 c b)) (neg.f64 d))
(*.f64 c b)
(*.f64 b c)
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b #s(approx (- c (/ (* a d) b)) c))) (fma.f64 d d (*.f64 c c)))
#s(approx (- (* b c) (* a d)) (*.f64 b #s(approx (- c (/ (* a d) b)) c)))
(*.f64 b #s(approx (- c (/ (* a d) b)) c))
#s(approx (- c (/ (* a d) b)) c)
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c)))) c))
(/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c)))) c)
#s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c))))
(*.f64 d (-.f64 (/.f64 b d) (/.f64 a c)))
(*.f64 (-.f64 (/.f64 b d) (/.f64 a c)) d)
(+.f64 (/.f64 b d) (neg.f64 (/.f64 a c)))
(-.f64 (/.f64 b d) (/.f64 a c))
(/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (*.f64 d c))
(/.f64 (-.f64 (*.f64 (/.f64 b d) c) a) c)
(fma.f64 b (/.f64 #s(literal 1 binary64) d) (neg.f64 (/.f64 a c)))
(neg.f64 (-.f64 (/.f64 a c) (/.f64 b d)))
(*.f64 b (/.f64 #s(literal 1 binary64) d))
(/.f64 b d)
(/.f64 (neg.f64 b) (neg.f64 d))
(*.f64 a (/.f64 #s(literal 1 binary64) c))
(/.f64 a c)
(/.f64 (neg.f64 a) (neg.f64 c))

eval23.0ms (0.9%)

Memory
2.4MiB live, 47.8MiB allocated; 4ms collecting garbage
Compiler

Compiled 6 794 to 950 computations (86% saved)

prune13.0ms (0.5%)

Memory
-21.7MiB live, 24.9MiB allocated; 2ms collecting garbage
Pruning

15 alts after pruning (12 fresh and 3 done)

PrunedKeptTotal
New1967203
Fresh5510
Picked415
Done123
Total20615221
Accuracy
99.8%
Counts
221 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.3%
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (*.f64 a (/.f64 d b))) b)) (fma.f64 d d (*.f64 c c)))
41.6%
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b #s(approx (+ c (neg (/ (* a d) b))) c))) (fma.f64 d d (*.f64 c c)))
55.9%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 c (/.f64 b d) (neg.f64 a)) d))
55.9%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 c (/.f64 b d)) a) d))
58.1%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 b (/.f64 c d)) a) d))
53.3%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (neg.f64 (*.f64 a (/.f64 d c))) b) c))
39.7%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (- (/ (* b c) d) a) (neg.f64 a)) d))
24.4%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (/.f64 (*.f64 b c) d)) d))
50.8%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c))) c))
36.6%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d #s(approx (- (/ b d) (/ a c)) (*.f64 a (-.f64 (/.f64 b (*.f64 a d)) (/.f64 #s(literal 1 binary64) c)))))) c))
23.0%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d #s(approx (- (/ b d) (/ a c)) (*.f64 #s(literal -1 binary64) (/.f64 a c))))) c))
40.7%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
40.6%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) c)))
42.1%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a (*.f64 c d)) (/.f64 b (pow.f64 d #s(literal 2 binary64)))))))
40.7%
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) #s(approx (/ (+ (neg (/ (* a d) c)) b) c) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) (pow.f64 c #s(literal 2 binary64)))))
Compiler

Compiled 458 to 284 computations (38% saved)

regimes101.0ms (3.9%)

Memory
28.3MiB live, 173.8MiB allocated; 9ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
6 → 3
7 → 3
8 → 3
12 → 3
28 → 3
43 → 4
Calls
Call 1
Inputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
Outputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
Call 2
Inputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (- (/ (* b c) d) a) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 a d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (/.f64 (*.f64 b c) d)) d))
Outputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (- (/ (* b c) d) a) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (- (/ (* b c) d) a) (neg.f64 a)) d))
Call 3
Inputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (- (/ (* b c) d) a) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 a d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (/.f64 (*.f64 b c) d)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c))) c))
Outputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (- (/ (* b c) d) a) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (- (/ (* b c) d) a) (neg.f64 a)) d))
Call 4
Inputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (- (/ (* b c) d) a) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 a d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (/.f64 (*.f64 b c) d)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 b (/.f64 c d)) a) d))
Outputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 b (/.f64 c d)) a) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 b (/.f64 c d)) a) d))
Call 5
Inputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (- (/ (* b c) d) a) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 a d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (/.f64 (*.f64 b c) d)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 b (/.f64 c d)) a) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 c (/.f64 b d)) a) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 c b) d) a) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d #s(approx (- (/ b d) (/ a c)) (*.f64 #s(literal -1 binary64) (/.f64 a c))))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) d))
Outputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 c (/.f64 b d)) a) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 c (/.f64 b d)) a) d))
Call 6
Inputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (- (/ (* b c) d) a) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 a d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (/.f64 (*.f64 b c) d)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 b (/.f64 c d)) a) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 c (/.f64 b d)) a) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 c b) d) a) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d #s(approx (- (/ b d) (/ a c)) (*.f64 #s(literal -1 binary64) (/.f64 a c))))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 c (/.f64 b d) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (neg.f64 (*.f64 a (/.f64 d c))) b) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b) c))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b c)) (fma.f64 d d (*.f64 c c)))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b #s(approx (+ c (neg (/ (* a d) b))) c))) (fma.f64 d d (*.f64 c c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 #s(literal -1 binary64) a (*.f64 b (/.f64 c d))) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)) d))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b c)) (+.f64 (*.f64 c c) (*.f64 d d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d c)))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) (/.f64 #s(literal 1 binary64) d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (*.f64 b c) (/.f64 #s(literal 1 binary64) d) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c)))) c))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 a d))) (+.f64 (*.f64 c c) (*.f64 d d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ b (* -1 (/ (* a d) c))) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a c) (/.f64 b d)))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a c) (/.f64 b d)))) d))
Outputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 c (/.f64 b d) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 c (/.f64 b d)) a) d))
Call 7
Inputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 b c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (- (/ (* b c) d) a) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 #s(literal -1 binary64) (/.f64 a d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (/.f64 #s(literal 1 binary64) c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 #s(literal -1 binary64) a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (/.f64 (*.f64 b c) d)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 b (/.f64 c d)) a) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 c (/.f64 b d)) a) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (/.f64 (*.f64 c b) d) a) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d #s(approx (- (/ b d) (/ a c)) (*.f64 #s(literal -1 binary64) (/.f64 a c))))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 c (/.f64 b d) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (neg.f64 (*.f64 a (/.f64 d c))) b) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 a d) c)) b) c))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b c)) (fma.f64 d d (*.f64 c c)))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b #s(approx (+ c (neg (/ (* a d) b))) c))) (fma.f64 d d (*.f64 c c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 #s(literal -1 binary64) a (*.f64 b (/.f64 c d))) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 #s(literal -1 binary64) a (/.f64 (*.f64 b c) d)) d))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b c)) (+.f64 (*.f64 c c) (*.f64 d d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d c)))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (+.f64 b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) c))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 (fma.f64 b (/.f64 c d) (neg.f64 a)) (/.f64 #s(literal 1 binary64) d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 (*.f64 b c) (/.f64 #s(literal 1 binary64) d) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d (-.f64 (/.f64 b d) (/.f64 a c)))) c))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 #s(literal -1 binary64) (*.f64 a d))) (+.f64 (*.f64 c c) (*.f64 d d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ b (* -1 (/ (* a d) c))) (*.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a c) (/.f64 b d)))) c))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (* -1 a) (/ (* b c) d)) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a c) (/.f64 b d)))) d))
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (fma.f64 d d (*.f64 c c)))
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (+.f64 (*.f64 c c) (*.f64 d d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (*.f64 d #s(approx (- (/ b d) (/ a c)) (*.f64 a (-.f64 (/.f64 b (*.f64 a d)) (/.f64 #s(literal 1 binary64) c)))))) c))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (*.f64 a (/.f64 d b))) b)) (fma.f64 d d (*.f64 c c)))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 (-.f64 c (/.f64 (*.f64 a d) b)) b)) (fma.f64 d d (*.f64 c c)))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (neg.f64 (*.f64 (/.f64 d b) a))))) (fma.f64 d d (*.f64 c c)))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (neg.f64 (/.f64 (*.f64 a d) b))))) (fma.f64 d d (*.f64 c c)))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (*.f64 a (/.f64 d b)))))) (+.f64 (*.f64 c c) (*.f64 d d)))
(/.f64 #s(approx (- (* b c) (* a d)) (*.f64 b (+.f64 c (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) b))))) (+.f64 (*.f64 c c) (*.f64 d d)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) #s(approx (/ (+ b (* -1 (/ (* a d) c))) c) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) (pow.f64 c #s(literal 2 binary64)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) #s(approx (/ (+ (neg (/ (* a d) c)) b) c) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 a d) (*.f64 b c)) (pow.f64 c #s(literal 2 binary64)))))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) #s(approx (/ (+ (* -1 a) (/ (* b c) d)) d) (*.f64 c (fma.f64 #s(literal -1 binary64) (/.f64 a (*.f64 c d)) (/.f64 b (pow.f64 d #s(literal 2 binary64)))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (fma.f64 #s(literal -1 binary64) (/.f64 a d) (*.f64 c (+.f64 (/.f64 b (pow.f64 d #s(literal 2 binary64))) (/.f64 (*.f64 a c) (pow.f64 d #s(literal 3 binary64)))))))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (fma.f64 d (fma.f64 #s(literal -1 binary64) (/.f64 a (pow.f64 c #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b d) (pow.f64 c #s(literal 3 binary64))))) (/.f64 b c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (*.f64 b (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 a d) (*.f64 b (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64))))) (/.f64 c (+.f64 (pow.f64 c #s(literal 2 binary64)) (pow.f64 d #s(literal 2 binary64)))))))
Outputs
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (fma.f64 c (/.f64 b d) (neg.f64 a)) d))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 #s(approx (+ (neg (/ (* a d) c)) b) (-.f64 b (/.f64 (*.f64 a d) c))) c))
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (fma.f64 d d (*.f64 c c)))
#s(approx (/ (- (* b c) (* a d)) (+ (* c c) (* d d))) (/.f64 (-.f64 (*.f64 c (/.f64 b d)) a) d))
Calls

20 calls:

12.0ms
c
11.0ms
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (+.f64 (*.f64 c c) (*.f64 d d)))
10.0ms
b
10.0ms
d
10.0ms
a
Results
AccuracySegmentsBranch
40.7%1b
40.7%1a
40.7%1(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (+.f64 (*.f64 c c) (*.f64 d d)))
40.7%1c
40.7%1d
59.9%4c
57.3%5a
50.9%3b
62.1%3d
54.5%2(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (+.f64 (*.f64 c c) (*.f64 d d)))
62.9%3c
72.9%3d
83.1%3d
83.6%3d
83.6%3d
80.5%4(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (+.f64 (*.f64 c c) (*.f64 d d)))
69.0%3a
69.8%3b
83.0%5c
86.8%4d
Compiler

Compiled 1 290 to 328 computations (74.6% saved)

bsearch38.0ms (1.5%)

Memory
-28.9MiB live, 64.3MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
2.2926121980179924e+117
3.4787611471035153e+121
12.0ms
3.636390708220621e-102
1.1698155528089704e-95
10.0ms
-3.4648804401640864e-54
-3.460707004265104e-55
Samples
20.0ms368×0valid
Compiler

Compiled 1 116 to 758 computations (32.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult!: 6.0ms (59.2% of total)
ival-div!: 2.0ms (19.7% of total)
ival-sub!: 1.0ms (9.9% of total)
ival-add!: 1.0ms (9.9% of total)
adjust: 0.0ms (0% of total)

bsearch15.0ms (0.6%)

Memory
22.1MiB live, 22.1MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
5.546455600209655e-42
6.406671110268856e-33
1.0ms
-3.4648804401640864e-54
-3.460707004265104e-55
Samples
7.0ms144×0valid
Compiler

Compiled 903 to 588 computations (34.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-mult!: 2.0ms (55.8% of total)
ival-div!: 1.0ms (27.9% of total)
ival-sub!: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch2.0ms (0.1%)

Memory
5.6MiB live, 5.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
5.546455600209655e-42
6.406671110268856e-33
1.0ms
-3.4648804401640864e-54
-3.460707004265104e-55
Compiler

Compiled 903 to 588 computations (34.9% saved)

bsearch2.0ms (0.1%)

Memory
2.9MiB live, 2.9MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
5.546455600209655e-42
6.406671110268856e-33
1.0ms
-3.4648804401640864e-54
-3.460707004265104e-55
Compiler

Compiled 903 to 588 computations (34.9% saved)

bsearch23.0ms (0.9%)

Memory
-20.2MiB live, 30.3MiB allocated; 5ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
118.07669569323726
105257496.1506894
8.0ms
-12575854.025499413
-7537304.242475739
Samples
13.0ms208×0valid
Compiler

Compiled 824 to 525 computations (36.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult!: 4.0ms (53.1% of total)
ival-add!: 3.0ms (39.9% of total)
ival-div!: 1.0ms (13.3% of total)
ival-sub!: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)

bsearch8.0ms (0.3%)

Memory
13.5MiB live, 13.5MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
1.0086383925516842e-11
3.884216879603607e-11
1.0ms
-3.4648804401640864e-54
-3.460707004265104e-55
Samples
4.0ms80×0valid
Compiler

Compiled 535 to 370 computations (30.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-mult!: 1.0ms (49.9% of total)
ival-sub!: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)
ival-div!: 0.0ms (0% of total)

derivations2.0ms (0.1%)

Memory
4.4MiB live, 4.4MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 586 to 72 computations (87.7% saved)

preprocess55.0ms (2.1%)

Memory
-30.6MiB live, 108.5MiB allocated; 12ms collecting garbage
Compiler

Compiled 638 to 104 computations (83.7% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...