Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, I

Time bar (total: 10.3s)

start0.0ms (0%)

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

analyze371.0ms (3.6%)

Memory
13.4MiB live, 166.9MiB allocated; 58ms 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
0%0%99.8%0.2%0%0%0%5
50%49.9%49.9%0.2%0%0%0%6
50%49.9%49.9%0.2%0%0%0%7
50%49.9%49.9%0.2%0%0%0%8
50%49.9%49.9%0.2%0%0%0%9
50%49.9%49.9%0.2%0%0%0%10
75%74.8%24.9%0.2%0%0%0%11
75%74.8%24.9%0.2%0%0%0%12
Compiler

Compiled 15 to 15 computations (0% saved)

sample1.6s (15.4%)

Memory
2.0MiB live, 717.6MiB allocated; 134ms collecting garbage
Samples
969.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 383.0ms
ival-mult!: 237.0ms (61.9% of total)
ival-div!: 123.0ms (32.1% of total)
ival-sub!: 21.0ms (5.5% of total)
adjust: 2.0ms (0.5% of total)
Bogosity

preprocess154.0ms (1.5%)

Memory
-22.6MiB live, 22.1MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
080282
1289273
21312273
37424273
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.6%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Symmetry

(negabs a)

(sort x y)

(sort z t)

Compiler

Compiled 26 to 26 computations (0% saved)

series37.0ms (0.4%)

Memory
25.6MiB live, 25.6MiB allocated; 0ms collecting garbage
Counts
13 → 33
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 x y)
x
y
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(*.f64 z #s(literal 9 binary64))
z
#s(literal 9 binary64)
t
(*.f64 a #s(literal 2 binary64))
a
#s(literal 2 binary64)
Outputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -9 (* t z))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (- (* x y) (* 9 (* t z)))))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* x y)))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* x (+ y (* -9 (/ (* t z) x))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))))
#s(approx y #s(hole binary64 y))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* y (+ x (* -9 (/ (* t z) y))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* 9 (/ (* t z) y)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (+ (* -9 (* t z)) (* x y))))
#s(approx (* (* z 9) t) #s(hole binary64 (* 9 (* t z))))
#s(approx (* z 9) #s(hole binary64 (* 9 z)))
#s(approx z #s(hole binary64 z))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* z (- (/ (* x y) z) (* 9 t)))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* z (- (* -1 (/ (* x y) z)) (* -9 t))))))
#s(approx t #s(hole binary64 t))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* t (- (/ (* x y) t) (* 9 z)))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* t (- (* -1 (/ (* x y) t)) (* -9 z))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* 1/2 (/ (- (* x y) (* 9 (* t z))) a))))
#s(approx (* a 2) #s(hole binary64 (* 2 a)))
#s(approx a #s(hole binary64 a))
Calls

15 calls:

TimeVariablePointExpression
5.0ms
z
@inf
((/ (- (* x y) (* (* z 9) t)) (* a 2)) (- (* x y) (* (* z 9) t)) (* x y) x y (* (* z 9) t) (* z 9) z 9 t (* a 2) a 2)
3.0ms
z
@-inf
((/ (- (* x y) (* (* z 9) t)) (* a 2)) (- (* x y) (* (* z 9) t)) (* x y) x y (* (* z 9) t) (* z 9) z 9 t (* a 2) a 2)
3.0ms
z
@0
((/ (- (* x y) (* (* z 9) t)) (* a 2)) (- (* x y) (* (* z 9) t)) (* x y) x y (* (* z 9) t) (* z 9) z 9 t (* a 2) a 2)
3.0ms
x
@-inf
((/ (- (* x y) (* (* z 9) t)) (* a 2)) (- (* x y) (* (* z 9) t)) (* x y) x y (* (* z 9) t) (* z 9) z 9 t (* a 2) a 2)
3.0ms
y
@0
((/ (- (* x y) (* (* z 9) t)) (* a 2)) (- (* x y) (* (* z 9) t)) (* x y) x y (* (* z 9) t) (* z 9) z 9 t (* a 2) a 2)

rewrite1.4s (13.8%)

Memory
-22.5MiB live, 761.2MiB allocated; 154ms collecting garbage
Counts
46 → 46
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 x y)
x
y
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(*.f64 z #s(literal 9 binary64))
z
#s(literal 9 binary64)
t
(*.f64 a #s(literal 2 binary64))
a
#s(literal 2 binary64)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -9 (* t z))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (- (* x y) (* 9 (* t z)))))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* x y)))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* x (+ y (* -9 (/ (* t z) x))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))))
#s(approx y #s(hole binary64 y))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* y (+ x (* -9 (/ (* t z) y))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* 9 (/ (* t z) y)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (+ (* -9 (* t z)) (* x y))))
#s(approx (* (* z 9) t) #s(hole binary64 (* 9 (* t z))))
#s(approx (* z 9) #s(hole binary64 (* 9 z)))
#s(approx z #s(hole binary64 z))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* z (- (/ (* x y) z) (* 9 t)))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* z (- (* -1 (/ (* x y) z)) (* -9 t))))))
#s(approx t #s(hole binary64 t))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* t (- (/ (* x y) t) (* 9 z)))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* t (- (* -1 (/ (* x y) t)) (* -9 z))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* 1/2 (/ (- (* x y) (* 9 (* t z))) a))))
#s(approx (* a 2) #s(hole binary64 (* 2 a)))
#s(approx a #s(hole binary64 a))
Outputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 t z) #s(literal 9 binary64))) (+.f64 a a))
(-.f64 (*.f64 x y) (*.f64 (*.f64 t z) #s(literal 9 binary64)))
(*.f64 x y)
x
y
(*.f64 (*.f64 t z) #s(literal 9 binary64))
(*.f64 z #s(literal 9 binary64))
z
#s(literal 9 binary64)
t
(+.f64 a a)
a
#s(literal 2 binary64)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
#s(approx (- (* x y) (* (* z 9) t)) (-.f64 (*.f64 x y) (*.f64 (*.f64 t z) #s(literal 9 binary64))))
#s(approx (* x y) (*.f64 x y))
#s(approx x x)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 y a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a x))) x))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) x) #s(literal -9 binary64) y) x))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) (*.f64 a x)) #s(literal 9/2 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) y) a)) (neg.f64 x)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) x) #s(literal 9 binary64) (neg.f64 y)) (neg.f64 x)))
#s(approx y y)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 x a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a y))) y))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) y) #s(literal -9 binary64) x) y))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) (*.f64 a y)) #s(literal 9/2 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) x) a)) (neg.f64 y)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) y) #s(literal 9 binary64) (neg.f64 x)) (neg.f64 y)))
#s(approx (- (* x y) (* (* z 9) t)) (fma.f64 y x (*.f64 (*.f64 t z) #s(literal -9 binary64))))
#s(approx (* (* z 9) t) (*.f64 (*.f64 t z) #s(literal 9 binary64)))
#s(approx (* z 9) (*.f64 z #s(literal 9 binary64)))
#s(approx z z)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 t a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))) z))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (-.f64 (/.f64 (*.f64 x y) z) (*.f64 #s(literal 9 binary64) t)) z))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 (*.f64 x y) (*.f64 a z)) #s(literal -1/2 binary64) (/.f64 (*.f64 #s(literal 9/2 binary64) t) a)) (neg.f64 z)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (-.f64 (neg.f64 (/.f64 (*.f64 x y) z)) (*.f64 #s(literal -9 binary64) t)) (neg.f64 z)))
#s(approx t t)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 z a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a t))) t))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (-.f64 (/.f64 (*.f64 x y) t) (*.f64 z #s(literal 9 binary64))) t))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 (*.f64 x y) (*.f64 a t)) #s(literal -1/2 binary64) (/.f64 (*.f64 #s(literal 9/2 binary64) z) a)) (neg.f64 t)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (-.f64 (neg.f64 (/.f64 (*.f64 x y) t)) (*.f64 #s(literal -9 binary64) z)) (neg.f64 t)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 t z) #s(literal 9 binary64))) a) #s(literal 1/2 binary64)))
#s(approx (* a 2) (+.f64 a a))
#s(approx a a)

eval8.0ms (0.1%)

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

Compiled 323 to 140 computations (56.7% saved)

prune15.0ms (0.2%)

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

22 alts after pruning (21 fresh and 1 done)

PrunedKeptTotal
New252146
Fresh000
Picked011
Done000
Total252247
Accuracy
98.5%
Counts
47 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.6%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
91.7%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 t z) #s(literal 9 binary64))) (+.f64 a a))
2.6%
(+.f64 a a)
2.7%
(*.f64 (*.f64 t z) #s(literal 9 binary64))
3.4%
(*.f64 z #s(literal 9 binary64))
14.2%
(*.f64 x y)
91.7%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
50.9%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) a))
50.4%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
87.2%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 (*.f64 x y) (*.f64 a z)) #s(literal -1/2 binary64) (/.f64 (*.f64 #s(literal 9/2 binary64) t) a)) (neg.f64 z)))
76.7%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 z a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a t))) t))
77.1%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 y a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a x))) x))
77.2%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 x a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a y))) y))
87.1%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 t a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))) z))
12.0%
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
3.1%
#s(approx z z)
2.9%
#s(approx y y)
3.9%
#s(approx x x)
4.0%
#s(approx t t)
2.6%
#s(approx a a)
3.1%
#s(literal 9 binary64)
3.1%
#s(literal 2 binary64)
Compiler

Compiled 459 to 549 computations (-19.6% saved)

series69.0ms (0.7%)

Memory
28.1MiB live, 112.2MiB allocated; 11ms collecting garbage
Counts
25 → 85
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
(/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a)
(fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y)))
(*.f64 #s(literal -9/2 binary64) t)
#s(literal -9/2 binary64)
t
z
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
#s(literal 1/2 binary64)
(*.f64 x y)
x
y
a
#s(literal 2 binary64)
#s(approx y y)
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
(*.f64 (*.f64 t z) #s(literal -9 binary64))
(*.f64 t z)
#s(literal -9 binary64)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 t a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))) z))
(*.f64 (fma.f64 (/.f64 t a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))) z)
(fma.f64 (/.f64 t a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z)))
(/.f64 t a)
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))
(*.f64 a z)
Outputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* -9/2 (* t z))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (+ (* -9/2 (* t z)) (* 1/2 (* x y)))))
#s(approx (* 1/2 (* x y)) #s(hole binary64 (* 1/2 (* x y))))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -9 (* t z))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (- (* x y) (* 9 (* t z)))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -9/2 (/ t a))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z))))))
#s(approx (/ (* 1/2 (* x y)) (* a z)) #s(hole binary64 (* 1/2 (/ (* x y) (* a z)))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* 1/2 (* x y))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) x)) (* 1/2 y)))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* x y)))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* x (+ y (* -9 (/ (* t z) x))))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* 1/2 (/ (* x y) (* a z)))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* x (+ (* -9/2 (/ t (* a x))) (* 1/2 (/ y (* a z)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* -1 (* x (+ (* -1/2 y) (* 9/2 (/ (* t z) x)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y (* a z))) (* 9/2 (/ t (* a x))))))))
#s(approx y #s(hole binary64 y))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) y)) (* 1/2 x)))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* y (+ x (* -9 (/ (* t z) y))))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* y (+ (* -9/2 (/ t (* a y))) (* 1/2 (/ x (* a z)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* -1 (* y (+ (* -1/2 x) (* 9/2 (/ (* t z) y)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* 9 (/ (* t z) y)))))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x (* a z))) (* 9/2 (/ t (* a y))))))))
#s(approx z #s(hole binary64 z))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (+ (* -9 (* t z)) (* x y))))
#s(approx (* (* t z) -9) #s(hole binary64 (* -9 (* t z))))
#s(approx (* t z) #s(hole binary64 (* t z)))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (/ (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a))) z)))
#s(approx (* a z) #s(hole binary64 (* a z)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* z (+ (* -9/2 t) (* 1/2 (/ (* x y) z))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* z (- (/ (* x y) z) (* 9 t)))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) z)) (* 9/2 t))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* z (- (* -1 (/ (* x y) z)) (* -9 t))))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (* -9/2 t) #s(hole binary64 (* -9/2 t)))
#s(approx t #s(hole binary64 t))
#s(approx (/ t a) #s(hole binary64 (/ t a)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* t (+ (* -9/2 z) (* 1/2 (/ (* x y) t))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* t (- (/ (* x y) t) (* 9 z)))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* t (- (* 1/2 (/ (* x y) (* a (* t z)))) (* 9/2 (/ 1 a))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) t)) (* 9/2 z))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* t (- (* -1 (/ (* x y) t)) (* -9 z))))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a (* t z)))) (* 9/2 (/ 1 a)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* 1/2 (/ (- (* x y) (* 9 (* t z))) a))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a)))
#s(approx a #s(hole binary64 a))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (/ (* z (+ (* -9/2 t) (* 1/2 (/ (* x y) z)))) a)))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (/ (+ (* -9/2 t) (* 1/2 (/ (* x y) z))) a)))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* -1 (/ (* z (+ (* -1/2 (/ (* x y) z)) (* 9/2 t))) a))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (/ (+ (* -1/2 (/ (* x y) z)) (* 9/2 t)) a))))
Calls

15 calls:

TimeVariablePointExpression
14.0ms
z
@inf
((/ (- (* x y) (* (* z 9) t)) (* a 2)) (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) (+ (* (* -9/2 t) z) (* 1/2 (* x y))) (* -9/2 t) -9/2 t z (* 1/2 (* x y)) 1/2 (* x y) x y a 2 y (- (* x y) (* (* z 9) t)) (* (* t z) -9) (* t z) -9 (/ (- (* x y) (* (* z 9) t)) (* a 2)) (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) (/ t a) (/ (* 1/2 (* x y)) (* a z)) (* a z))
10.0ms
a
@0
((/ (- (* x y) (* (* z 9) t)) (* a 2)) (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) (+ (* (* -9/2 t) z) (* 1/2 (* x y))) (* -9/2 t) -9/2 t z (* 1/2 (* x y)) 1/2 (* x y) x y a 2 y (- (* x y) (* (* z 9) t)) (* (* t z) -9) (* t z) -9 (/ (- (* x y) (* (* z 9) t)) (* a 2)) (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) (/ t a) (/ (* 1/2 (* x y)) (* a z)) (* a z))
6.0ms
x
@0
((/ (- (* x y) (* (* z 9) t)) (* a 2)) (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) (+ (* (* -9/2 t) z) (* 1/2 (* x y))) (* -9/2 t) -9/2 t z (* 1/2 (* x y)) 1/2 (* x y) x y a 2 y (- (* x y) (* (* z 9) t)) (* (* t z) -9) (* t z) -9 (/ (- (* x y) (* (* z 9) t)) (* a 2)) (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) (/ t a) (/ (* 1/2 (* x y)) (* a z)) (* a z))
4.0ms
a
@-inf
((/ (- (* x y) (* (* z 9) t)) (* a 2)) (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) (+ (* (* -9/2 t) z) (* 1/2 (* x y))) (* -9/2 t) -9/2 t z (* 1/2 (* x y)) 1/2 (* x y) x y a 2 y (- (* x y) (* (* z 9) t)) (* (* t z) -9) (* t z) -9 (/ (- (* x y) (* (* z 9) t)) (* a 2)) (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) (/ t a) (/ (* 1/2 (* x y)) (* a z)) (* a z))
4.0ms
z
@-inf
((/ (- (* x y) (* (* z 9) t)) (* a 2)) (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) (+ (* (* -9/2 t) z) (* 1/2 (* x y))) (* -9/2 t) -9/2 t z (* 1/2 (* x y)) 1/2 (* x y) x y a 2 y (- (* x y) (* (* z 9) t)) (* (* t z) -9) (* t z) -9 (/ (- (* x y) (* (* z 9) t)) (* a 2)) (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) (/ t a) (/ (* 1/2 (* x y)) (* a z)) (* a z))

rewrite958.0ms (9.3%)

Memory
-19.8MiB live, 437.3MiB allocated; 140ms collecting garbage
Counts
110 → 104
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
(/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a)
(fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y)))
(*.f64 #s(literal -9/2 binary64) t)
#s(literal -9/2 binary64)
t
z
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
#s(literal 1/2 binary64)
(*.f64 x y)
x
y
a
#s(literal 2 binary64)
#s(approx y y)
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
(*.f64 (*.f64 t z) #s(literal -9 binary64))
(*.f64 t z)
#s(literal -9 binary64)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 t a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))) z))
(*.f64 (fma.f64 (/.f64 t a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))) z)
(fma.f64 (/.f64 t a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z)))
(/.f64 t a)
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))
(*.f64 a z)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* -9/2 (* t z))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (+ (* -9/2 (* t z)) (* 1/2 (* x y)))))
#s(approx (* 1/2 (* x y)) #s(hole binary64 (* 1/2 (* x y))))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -9 (* t z))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (- (* x y) (* 9 (* t z)))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -9/2 (/ t a))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z))))))
#s(approx (/ (* 1/2 (* x y)) (* a z)) #s(hole binary64 (* 1/2 (/ (* x y) (* a z)))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* 1/2 (* x y))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) x)) (* 1/2 y)))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* x y)))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* x (+ y (* -9 (/ (* t z) x))))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* 1/2 (/ (* x y) (* a z)))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* x (+ (* -9/2 (/ t (* a x))) (* 1/2 (/ y (* a z)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* -1 (* x (+ (* -1/2 y) (* 9/2 (/ (* t z) x)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y (* a z))) (* 9/2 (/ t (* a x))))))))
#s(approx y #s(hole binary64 y))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) y)) (* 1/2 x)))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* y (+ x (* -9 (/ (* t z) y))))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* y (+ (* -9/2 (/ t (* a y))) (* 1/2 (/ x (* a z)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* -1 (* y (+ (* -1/2 x) (* 9/2 (/ (* t z) y)))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* 9 (/ (* t z) y)))))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x (* a z))) (* 9/2 (/ t (* a y))))))))
#s(approx z #s(hole binary64 z))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (+ (* -9 (* t z)) (* x y))))
#s(approx (* (* t z) -9) #s(hole binary64 (* -9 (* t z))))
#s(approx (* t z) #s(hole binary64 (* t z)))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (/ (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a))) z)))
#s(approx (* a z) #s(hole binary64 (* a z)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* z (+ (* -9/2 t) (* 1/2 (/ (* x y) z))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* z (- (/ (* x y) z) (* 9 t)))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) z)) (* 9/2 t))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* z (- (* -1 (/ (* x y) z)) (* -9 t))))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (* -9/2 t) #s(hole binary64 (* -9/2 t)))
#s(approx t #s(hole binary64 t))
#s(approx (/ t a) #s(hole binary64 (/ t a)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* t (+ (* -9/2 z) (* 1/2 (/ (* x y) t))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* t (- (/ (* x y) t) (* 9 z)))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* t (- (* 1/2 (/ (* x y) (* a (* t z)))) (* 9/2 (/ 1 a))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (+ (* (* -9/2 t) z) (* 1/2 (* x y))) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) t)) (* 9/2 z))))))
#s(approx (- (* x y) (* (* z 9) t)) #s(hole binary64 (* -1 (* t (- (* -1 (/ (* x y) t)) (* -9 z))))))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a (* t z)))) (* 9/2 (/ 1 a)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* 1/2 (/ (- (* x y) (* 9 (* t z))) a))))
#s(approx (/ (+ (* (* -9/2 t) z) (* 1/2 (* x y))) a) #s(hole binary64 (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a)))
#s(approx a #s(hole binary64 a))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (/ (* z (+ (* -9/2 t) (* 1/2 (/ (* x y) z)))) a)))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (/ (+ (* -9/2 t) (* 1/2 (/ (* x y) z))) a)))
#s(approx (* (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) z) #s(hole binary64 (* -1 (/ (* z (+ (* -1/2 (/ (* x y) z)) (* 9/2 t))) a))))
#s(approx (+ (* (/ t a) -9/2) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (/ (+ (* -1/2 (/ (* x y) z)) (* 9/2 t)) a))))
Outputs
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a))
(/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a)
(fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
(*.f64 #s(literal -9/2 binary64) t)
#s(literal -9/2 binary64)
t
z
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
#s(literal 1/2 binary64)
(*.f64 x y)
x
y
a
#s(literal 2 binary64)
#s(approx y y)
#s(approx (- (* x y) (* (* 9 z) t)) (*.f64 #s(literal -9 binary64) (*.f64 t z)))
(*.f64 #s(literal -9 binary64) (*.f64 t z))
(*.f64 t z)
#s(literal -9 binary64)
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (*.f64 z (fma.f64 #s(literal -9/2 binary64) (/.f64 t a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z)))))
(*.f64 z (fma.f64 #s(literal -9/2 binary64) (/.f64 t a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))))
(fma.f64 #s(literal -9/2 binary64) (/.f64 t a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z)))
(/.f64 t a)
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))
(*.f64 a z)
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (/.f64 (*.f64 #s(literal -9/2 binary64) (*.f64 t z)) a))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (/.f64 (*.f64 #s(literal -9/2 binary64) (*.f64 t z)) a))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a))
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))))
#s(approx (* 1/2 (* x y)) (*.f64 #s(literal 1/2 binary64) (*.f64 x y)))
#s(approx (* x y) (*.f64 x y))
#s(approx x x)
#s(approx (- (* x y) (* (* 9 z) t)) (fma.f64 x y (*.f64 #s(literal -9 binary64) (*.f64 t z))))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (/.f64 (*.f64 #s(literal -9/2 binary64) (*.f64 t z)) a))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (fma.f64 #s(literal -9/2 binary64) (/.f64 t a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))))
#s(approx (/ (* 1/2 (* x y)) (* a z)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z)))
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a x)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) a)) x))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a x)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) a)) x))
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 #s(literal 1/2 binary64) (*.f64 x y)))
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 (*.f64 t z) x) (*.f64 #s(literal 1/2 binary64) y)) x))
#s(approx (- (* x y) (* (* 9 z) t)) (*.f64 x y))
#s(approx (- (* x y) (* (* 9 z) t)) (*.f64 (fma.f64 #s(literal -9 binary64) (/.f64 (*.f64 t z) x) y) x))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a x)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) a)) x))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z)))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 t (*.f64 a x)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) (*.f64 a z))) x))
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (*.f64 (neg.f64 x) (fma.f64 #s(literal 9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a x)) (/.f64 (*.f64 #s(literal -1/2 binary64) y) a))))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 (neg.f64 x) (fma.f64 #s(literal 9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a x)) (/.f64 (*.f64 #s(literal -1/2 binary64) y) a))))
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 (neg.f64 x) (fma.f64 #s(literal 9/2 binary64) (/.f64 (*.f64 t z) x) (*.f64 #s(literal -1/2 binary64) y))))
#s(approx (- (* x y) (* (* 9 z) t)) (*.f64 (neg.f64 x) (fma.f64 #s(literal 9 binary64) (/.f64 (*.f64 t z) x) (neg.f64 y))))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (*.f64 (neg.f64 x) (fma.f64 #s(literal 9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a x)) (/.f64 (*.f64 #s(literal -1/2 binary64) y) a))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (*.f64 (neg.f64 x) (fma.f64 #s(literal 9/2 binary64) (/.f64 t (*.f64 a x)) (/.f64 (*.f64 #s(literal -1/2 binary64) y) (*.f64 a z)))))
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 (*.f64 #s(literal 1/2 binary64) x) a)) y))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 (*.f64 #s(literal 1/2 binary64) x) a)) y))
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 (*.f64 t z) y) (*.f64 #s(literal 1/2 binary64) x)) y))
#s(approx (- (* x y) (* (* 9 z) t)) (*.f64 (fma.f64 #s(literal -9 binary64) (/.f64 (*.f64 t z) y) x) y))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 (*.f64 #s(literal 1/2 binary64) x) a)) y))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 t (*.f64 a y)) (/.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 a z))) y))
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (*.f64 (neg.f64 y) (fma.f64 #s(literal 9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 (*.f64 #s(literal -1/2 binary64) x) a))))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 (neg.f64 y) (fma.f64 #s(literal 9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 (*.f64 #s(literal -1/2 binary64) x) a))))
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 (neg.f64 y) (fma.f64 #s(literal 9/2 binary64) (/.f64 (*.f64 t z) y) (*.f64 #s(literal -1/2 binary64) x))))
#s(approx (- (* x y) (* (* 9 z) t)) (*.f64 (neg.f64 y) (fma.f64 #s(literal 9 binary64) (/.f64 (*.f64 t z) y) (neg.f64 x))))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (*.f64 (neg.f64 y) (fma.f64 #s(literal 9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 (*.f64 #s(literal -1/2 binary64) x) a))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (*.f64 (neg.f64 y) (fma.f64 #s(literal 9/2 binary64) (/.f64 t (*.f64 a y)) (/.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 a z)))))
#s(approx z z)
#s(approx (* -9 (* t z)) (*.f64 #s(literal -9 binary64) (*.f64 t z)))
#s(approx (* t z) (*.f64 t z))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a) z))
#s(approx (* a z) (*.f64 a z))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 z (fma.f64 #s(literal -9/2 binary64) (/.f64 t a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z)))))
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 (fma.f64 #s(literal -9/2 binary64) t (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z)) z))
#s(approx (- (* x y) (* (* 9 z) t)) (*.f64 (fma.f64 x (/.f64 y z) (*.f64 #s(literal -9 binary64) t)) z))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (*.f64 z (fma.f64 #s(literal -9/2 binary64) (/.f64 t a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z)))))
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (neg.f64 (*.f64 (fma.f64 #s(literal 9/2 binary64) (/.f64 t a) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x y)) (*.f64 a z))) z)))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (neg.f64 (*.f64 (fma.f64 #s(literal 9/2 binary64) (/.f64 t a) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x y)) (*.f64 a z))) z)))
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (neg.f64 (*.f64 (fma.f64 #s(literal 9/2 binary64) t (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x y)) z)) z)))
#s(approx (- (* x y) (* (* 9 z) t)) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (*.f64 x y) z)) (*.f64 #s(literal -9 binary64) t)) z)))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (neg.f64 (*.f64 (fma.f64 #s(literal 9/2 binary64) (/.f64 t a) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x y)) (*.f64 a z))) z)))
#s(approx (* -9/2 t) (*.f64 #s(literal -9/2 binary64) t))
#s(approx t t)
#s(approx (/ t a) (/.f64 t a))
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 z a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a t))) t))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 z a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a t))) t))
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 (fma.f64 #s(literal -9/2 binary64) z (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) t)) t))
#s(approx (- (* x y) (* (* 9 z) t)) (*.f64 (fma.f64 x (/.f64 y t) (*.f64 #s(literal -9 binary64) z)) t))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 z a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a t))) t))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 (*.f64 t z) a)) (/.f64 #s(literal 9/2 binary64) a)) t))
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (neg.f64 (*.f64 (fma.f64 #s(literal 9/2 binary64) (/.f64 z a) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x y)) (*.f64 a t))) t)))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (neg.f64 (*.f64 (fma.f64 #s(literal 9/2 binary64) (/.f64 z a) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x y)) (*.f64 a t))) t)))
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (neg.f64 (*.f64 (fma.f64 #s(literal 9/2 binary64) z (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x y)) t)) t)))
#s(approx (- (* x y) (* (* 9 z) t)) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (*.f64 x y) t)) (*.f64 #s(literal -9 binary64) z)) t)))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (neg.f64 (*.f64 (fma.f64 #s(literal 9/2 binary64) (/.f64 z a) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x y)) (*.f64 a t))) t)))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (neg.f64 (*.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 x y) (*.f64 (*.f64 t z) a)) (/.f64 #s(literal 9/2 binary64) a)) t)))
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (fma.f64 x y (*.f64 #s(literal -9 binary64) (*.f64 t z)))) a))
#s(approx a a)
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (/.f64 (*.f64 (fma.f64 #s(literal -9/2 binary64) t (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z)) z) a))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (fma.f64 #s(literal -9/2 binary64) t (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z)) a))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (neg.f64 (/.f64 (*.f64 (fma.f64 #s(literal 9/2 binary64) t (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x y)) z)) z) a)))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (neg.f64 (/.f64 (fma.f64 #s(literal 9/2 binary64) t (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x y)) z)) a)))

eval14.0ms (0.1%)

Memory
-31.5MiB live, 12.0MiB allocated; 5ms collecting garbage
Compiler

Compiled 985 to 248 computations (74.8% saved)

prune15.0ms (0.2%)

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

32 alts after pruning (27 fresh and 5 done)

PrunedKeptTotal
New841397
Fresh21416
Picked145
Done011
Total8732119
Accuracy
98.6%
Counts
119 → 32
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.7%
(/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a)
91.6%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
11.5%
(/.f64 t a)
2.6%
(+.f64 a a)
2.7%
(*.f64 (*.f64 t z) #s(literal 9 binary64))
3.4%
(*.f64 z #s(literal 9 binary64))
14.2%
(*.f64 x y)
2.7%
(*.f64 t z)
2.6%
(*.f64 a z)
14.2%
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
2.8%
(*.f64 #s(literal -9/2 binary64) t)
91.7%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
50.9%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) a))
50.4%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
87.2%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 (*.f64 x y) (*.f64 a z)) #s(literal -1/2 binary64) (/.f64 (*.f64 #s(literal 9/2 binary64) t) a)) (neg.f64 z)))
76.7%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 z a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a t))) t))
77.1%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 y a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a x))) x))
87.1%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 t a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))) z))
77.2%
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 (*.f64 #s(literal 1/2 binary64) x) a)) y))
12.0%
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
7.2%
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
12.0%
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
87.2%
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (/.f64 (*.f64 (fma.f64 #s(literal -9/2 binary64) t (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z)) z) a))
3.1%
#s(approx z z)
2.9%
#s(approx y y)
3.9%
#s(approx x x)
4.0%
#s(approx t t)
2.6%
#s(approx a a)
3.1%
#s(literal 9 binary64)
3.1%
#s(literal 1/2 binary64)
3.1%
#s(literal -9/2 binary64)
3.1%
#s(literal -9 binary64)
Compiler

Compiled 552 to 691 computations (-25.2% saved)

series22.0ms (0.2%)

Memory
25.2MiB live, 25.2MiB allocated; 0ms collecting garbage
Counts
17 → 45
Calls
Call 1
Inputs
(/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a)
(fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
#s(literal 1/2 binary64)
(*.f64 x y)
x
y
(*.f64 #s(literal -9/2 binary64) (*.f64 t z))
#s(literal -9/2 binary64)
(*.f64 t z)
t
z
a
#s(literal -9 binary64)
#s(approx x x)
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
(/.f64 (*.f64 #s(literal -9/2 binary64) t) a)
(*.f64 #s(literal -9/2 binary64) t)
Outputs
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* -9/2 (* t z))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (+ (* -9/2 (* t z)) (* 1/2 (* x y)))))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -9/2 (/ t a))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z))))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* 1/2 (* x y))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) x)) (* 1/2 y)))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* 1/2 (/ (* x y) (* a z)))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* x (+ (* -9/2 (/ t (* a x))) (* 1/2 (/ y (* a z)))))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* -1 (* x (+ (* -1/2 y) (* 9/2 (/ (* t z) x)))))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y (* a z))) (* 9/2 (/ t (* a x))))))))
#s(approx y #s(hole binary64 y))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) y)) (* 1/2 x)))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* y (+ (* -9/2 (/ t (* a y))) (* 1/2 (/ x (* a z)))))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* -1 (* y (+ (* -1/2 x) (* 9/2 (/ (* t z) y)))))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x (* a z))) (* 9/2 (/ t (* a y))))))))
#s(approx (* -9/2 (* t z)) #s(hole binary64 (* -9/2 (* t z))))
#s(approx (* t z) #s(hole binary64 (* t z)))
#s(approx z #s(hole binary64 z))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (/ (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a))) z)))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* z (+ (* -9/2 t) (* 1/2 (/ (* x y) z))))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) z)) (* 9/2 t))))))
#s(approx t #s(hole binary64 t))
#s(approx (/ (* -9/2 t) a) #s(hole binary64 (* -9/2 (/ t a))))
#s(approx (* -9/2 t) #s(hole binary64 (* -9/2 t)))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* t (+ (* -9/2 z) (* 1/2 (/ (* x y) t))))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* t (- (* 1/2 (/ (* x y) (* a (* t z)))) (* 9/2 (/ 1 a))))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) t)) (* 9/2 z))))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a (* t z)))) (* 9/2 (/ 1 a)))))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a)))
#s(approx a #s(hole binary64 a))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (/ (+ (* -9/2 t) (* 1/2 (/ (* x y) z))) a)))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (/ (+ (* -1/2 (/ (* x y) z)) (* 9/2 t)) a))))
Calls

15 calls:

TimeVariablePointExpression
2.0ms
t
@-inf
((/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) (+ (* 1/2 (* x y)) (* -9/2 (* t z))) 1/2 (* x y) x y (* -9/2 (* t z)) -9/2 (* t z) t z a -9 x (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/ (* -9/2 t) a) (* -9/2 t))
2.0ms
t
@inf
((/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) (+ (* 1/2 (* x y)) (* -9/2 (* t z))) 1/2 (* x y) x y (* -9/2 (* t z)) -9/2 (* t z) t z a -9 x (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/ (* -9/2 t) a) (* -9/2 t))
2.0ms
a
@-inf
((/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) (+ (* 1/2 (* x y)) (* -9/2 (* t z))) 1/2 (* x y) x y (* -9/2 (* t z)) -9/2 (* t z) t z a -9 x (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/ (* -9/2 t) a) (* -9/2 t))
2.0ms
a
@inf
((/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) (+ (* 1/2 (* x y)) (* -9/2 (* t z))) 1/2 (* x y) x y (* -9/2 (* t z)) -9/2 (* t z) t z a -9 x (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/ (* -9/2 t) a) (* -9/2 t))
1.0ms
a
@0
((/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) (+ (* 1/2 (* x y)) (* -9/2 (* t z))) 1/2 (* x y) x y (* -9/2 (* t z)) -9/2 (* t z) t z a -9 x (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/ (* -9/2 t) a) (* -9/2 t))

rewrite1.4s (13.9%)

Memory
-23.0MiB live, 703.9MiB allocated; 109ms collecting garbage
Counts
62 → 58
Calls
Call 1
Inputs
(/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a)
(fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
#s(literal 1/2 binary64)
(*.f64 x y)
x
y
(*.f64 #s(literal -9/2 binary64) (*.f64 t z))
#s(literal -9/2 binary64)
(*.f64 t z)
t
z
a
#s(literal -9 binary64)
#s(approx x x)
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
(/.f64 (*.f64 #s(literal -9/2 binary64) t) a)
(*.f64 #s(literal -9/2 binary64) t)
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* -9/2 (* t z))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (+ (* -9/2 (* t z)) (* 1/2 (* x y)))))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -9/2 (/ t a))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z))))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* 1/2 (* x y))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) x)) (* 1/2 y)))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* 1/2 (/ (* x y) (* a z)))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* x (+ (* -9/2 (/ t (* a x))) (* 1/2 (/ y (* a z)))))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* -1 (* x (+ (* -1/2 y) (* 9/2 (/ (* t z) x)))))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y (* a z))) (* 9/2 (/ t (* a x))))))))
#s(approx y #s(hole binary64 y))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) y)) (* 1/2 x)))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* y (+ (* -9/2 (/ t (* a y))) (* 1/2 (/ x (* a z)))))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* -1 (* y (+ (* -1/2 x) (* 9/2 (/ (* t z) y)))))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x (* a z))) (* 9/2 (/ t (* a y))))))))
#s(approx (* -9/2 (* t z)) #s(hole binary64 (* -9/2 (* t z))))
#s(approx (* t z) #s(hole binary64 (* t z)))
#s(approx z #s(hole binary64 z))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (/ (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a))) z)))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* z (+ (* -9/2 t) (* 1/2 (/ (* x y) z))))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) z)) (* 9/2 t))))))
#s(approx t #s(hole binary64 t))
#s(approx (/ (* -9/2 t) a) #s(hole binary64 (* -9/2 (/ t a))))
#s(approx (* -9/2 t) #s(hole binary64 (* -9/2 t)))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* t (+ (* -9/2 z) (* 1/2 (/ (* x y) t))))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* t (- (* 1/2 (/ (* x y) (* a (* t z)))) (* 9/2 (/ 1 a))))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (+ (* 1/2 (* x y)) (* -9/2 (* t z))) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) t)) (* 9/2 z))))))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a (* t z)))) (* 9/2 (/ 1 a)))))))
#s(approx (/ (+ (* 1/2 (* x y)) (* -9/2 (* t z))) a) #s(hole binary64 (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a)))
#s(approx a #s(hole binary64 a))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (/ (+ (* -9/2 t) (* 1/2 (/ (* x y) z))) a)))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) #s(hole binary64 (* -1 (/ (+ (* -1/2 (/ (* x y) z)) (* 9/2 t)) a))))
Outputs
(/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a)
(fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y)))
#s(literal 1/2 binary64)
(*.f64 x y)
x
y
(*.f64 #s(literal -9/2 binary64) (*.f64 t z))
#s(literal -9/2 binary64)
(*.f64 t z)
t
z
a
#s(literal -9 binary64)
#s(approx x x)
#s(approx (/ (+ (* -9/2 t) (/ (* (* 1/2 y) x) z)) a) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
(/.f64 (*.f64 #s(literal -9/2 binary64) t) a)
(*.f64 #s(literal -9/2 binary64) t)
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (/.f64 (*.f64 #s(literal -9/2 binary64) (*.f64 t z)) a))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
#s(approx (+ (* (* 1/2 y) x) (* -9/2 (* t z))) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
#s(approx (+ (* (* 1/2 y) x) (* -9/2 (* t z))) (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))))
#s(approx (* x y) (*.f64 x y))
#s(approx (/ (+ (* -9/2 t) (/ (* (* 1/2 y) x) z)) a) (/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 (fma.f64 (/.f64 y a) #s(literal 1/2 binary64) (/.f64 (*.f64 #s(literal -9/2 binary64) (*.f64 t z)) (*.f64 a x))) x))
#s(approx (+ (* (* 1/2 y) x) (* -9/2 (* t z))) (*.f64 #s(literal 1/2 binary64) (*.f64 x y)))
#s(approx (+ (* (* 1/2 y) x) (* -9/2 (* t z))) (*.f64 (fma.f64 #s(literal 1/2 binary64) y (/.f64 (*.f64 #s(literal -9/2 binary64) (*.f64 t z)) x)) x))
#s(approx (/ (+ (* -9/2 t) (/ (* (* 1/2 y) x) z)) a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z)))
#s(approx (/ (+ (* -9/2 t) (/ (* (* 1/2 y) x) z)) a) (*.f64 (fma.f64 (/.f64 y (*.f64 a z)) #s(literal 1/2 binary64) (/.f64 (*.f64 #s(literal -9/2 binary64) t) (*.f64 a x))) x))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 (fma.f64 (/.f64 (*.f64 t z) (*.f64 a x)) #s(literal 9/2 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) y) a)) (neg.f64 x)))
#s(approx (+ (* (* 1/2 y) x) (* -9/2 (* t z))) (*.f64 (fma.f64 (*.f64 #s(literal 9/2 binary64) t) (/.f64 z x) (*.f64 #s(literal -1/2 binary64) y)) (neg.f64 x)))
#s(approx (/ (+ (* -9/2 t) (/ (* (* 1/2 y) x) z)) a) (*.f64 (fma.f64 (/.f64 y (*.f64 a z)) #s(literal -1/2 binary64) (/.f64 (*.f64 #s(literal 9/2 binary64) t) (*.f64 a x))) (neg.f64 x)))
#s(approx y y)
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 (fma.f64 (/.f64 x a) #s(literal 1/2 binary64) (/.f64 (*.f64 #s(literal -9/2 binary64) (*.f64 t z)) (*.f64 a y))) y))
#s(approx (+ (* (* 1/2 y) x) (* -9/2 (* t z))) (*.f64 (fma.f64 #s(literal 1/2 binary64) x (/.f64 (*.f64 #s(literal -9/2 binary64) (*.f64 t z)) y)) y))
#s(approx (/ (+ (* -9/2 t) (/ (* (* 1/2 y) x) z)) a) (*.f64 (fma.f64 (/.f64 x (*.f64 a z)) #s(literal 1/2 binary64) (/.f64 (*.f64 #s(literal -9/2 binary64) t) (*.f64 a y))) y))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 (fma.f64 (/.f64 (*.f64 t z) (*.f64 a y)) #s(literal 9/2 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) x) a)) (neg.f64 y)))
#s(approx (+ (* (* 1/2 y) x) (* -9/2 (* t z))) (*.f64 (fma.f64 (*.f64 #s(literal 9/2 binary64) t) (/.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) (neg.f64 y)))
#s(approx (/ (+ (* -9/2 t) (/ (* (* 1/2 y) x) z)) a) (*.f64 (fma.f64 (/.f64 x (*.f64 a z)) #s(literal -1/2 binary64) (/.f64 (*.f64 #s(literal 9/2 binary64) t) (*.f64 a y))) (neg.f64 y)))
#s(approx (* -9/2 (* t z)) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
#s(approx (* t z) (*.f64 t z))
#s(approx z z)
#s(approx (/ (+ (* -9/2 t) (/ (* (* 1/2 y) x) z)) a) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) (*.f64 a z)))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 z (/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a)))
#s(approx (+ (* (* 1/2 y) x) (* -9/2 (* t z))) (*.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) z))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 y z) (*.f64 #s(literal 9/2 binary64) t)) (neg.f64 a)) z))
#s(approx (+ (* (* 1/2 y) x) (* -9/2 (* t z))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 y z) (*.f64 #s(literal 9/2 binary64) t)) (neg.f64 z)))
#s(approx t t)
#s(approx (/ (* -9/2 t) a) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
#s(approx (* -9/2 t) (*.f64 #s(literal -9/2 binary64) t))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 (fma.f64 (/.f64 z a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a t))) t))
#s(approx (+ (* (* 1/2 y) x) (* -9/2 (* t z))) (*.f64 (fma.f64 #s(literal -9/2 binary64) z (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) t)) t))
#s(approx (/ (+ (* -9/2 t) (/ (* (* 1/2 y) x) z)) a) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 (*.f64 t z) a)) (/.f64 #s(literal 9/2 binary64) a)) t))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 (fma.f64 (/.f64 (*.f64 x y) (*.f64 a t)) #s(literal -1/2 binary64) (/.f64 (*.f64 #s(literal 9/2 binary64) z) a)) (neg.f64 t)))
#s(approx (+ (* (* 1/2 y) x) (* -9/2 (* t z))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 y t) (*.f64 #s(literal 9/2 binary64) z)) (neg.f64 t)))
#s(approx (/ (+ (* -9/2 t) (/ (* (* 1/2 y) x) z)) a) (*.f64 (fma.f64 (/.f64 (*.f64 x y) (*.f64 (*.f64 t z) a)) #s(literal -1/2 binary64) (/.f64 #s(literal 9/2 binary64) a)) (neg.f64 t)))
#s(approx a a)
#s(approx (/ (+ (* -9/2 t) (/ (* (* 1/2 y) x) z)) a) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 y z) (*.f64 #s(literal 9/2 binary64) t)) (neg.f64 a)))

eval6.0ms (0.1%)

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

Compiled 453 to 160 computations (64.7% saved)

prune18.0ms (0.2%)

Memory
-28.1MiB live, 18.6MiB allocated; 2ms collecting garbage
Pruning

33 alts after pruning (23 fresh and 10 done)

PrunedKeptTotal
New44347
Fresh22022
Picked055
Done055
Total463379
Accuracy
99.6%
Counts
79 → 33
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.7%
(/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a)
91.6%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
11.5%
(/.f64 t a)
2.6%
(+.f64 a a)
2.7%
(*.f64 (*.f64 t z) #s(literal 9 binary64))
3.4%
(*.f64 z #s(literal 9 binary64))
14.2%
(*.f64 x y)
2.7%
(*.f64 t z)
2.6%
(*.f64 a z)
14.2%
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
12.0%
(*.f64 #s(literal -9/2 binary64) (*.f64 t z))
2.8%
(*.f64 #s(literal -9/2 binary64) t)
91.7%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
50.9%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) a))
50.4%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
76.7%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 z a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a t))) t))
77.1%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 y a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a x))) x))
87.1%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 t a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))) z))
77.2%
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 (*.f64 #s(literal 1/2 binary64) x) a)) y))
84.1%
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 y z) (*.f64 #s(literal 9/2 binary64) t)) (neg.f64 a)) z))
87.9%
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 z (/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a)))
12.0%
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
7.2%
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
87.2%
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (/.f64 (*.f64 (fma.f64 #s(literal -9/2 binary64) t (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z)) z) a))
3.1%
#s(approx z z)
2.9%
#s(approx y y)
3.9%
#s(approx x x)
4.0%
#s(approx t t)
2.6%
#s(approx a a)
3.1%
#s(literal 9 binary64)
3.1%
#s(literal 1/2 binary64)
3.1%
#s(literal -9/2 binary64)
3.1%
#s(literal -9 binary64)
Compiler

Compiled 538 to 669 computations (-24.3% saved)

series93.0ms (0.9%)

Memory
16.1MiB live, 62.3MiB allocated; 19ms collecting garbage
Counts
20 → 68
Calls
Call 1
Inputs
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 z (/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a)))
(*.f64 z (/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a))
z
(/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a)
(fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t))
(/.f64 (*.f64 x y) z)
(*.f64 x y)
x
y
#s(literal 1/2 binary64)
(*.f64 #s(literal -9/2 binary64) t)
#s(literal -9/2 binary64)
t
a
#s(approx z z)
(*.f64 z #s(literal 9 binary64))
#s(literal 9 binary64)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a)
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
Outputs
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* -9/2 (/ t a))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* -9/2 t)))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (+ (* -9/2 t) (* 1/2 (/ (* x y) z)))))
#s(approx (/ (* x y) z) #s(hole binary64 (/ (* x y) z)))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (/ (* 1/2 (* x y)) a) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (* 1/2 (* x y)) #s(hole binary64 (* 1/2 (* x y))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* 1/2 (/ (* x y) (* a z)))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* x (+ (* -9/2 (/ t (* a x))) (* 1/2 (/ y (* a z)))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* 1/2 (/ (* x y) z))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* x (+ (* -9/2 (/ t x)) (* 1/2 (/ y z))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y (* a z))) (* 9/2 (/ t (* a x))))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y z)) (* 9/2 (/ t x)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx y #s(hole binary64 y))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* y (+ (* -9/2 (/ t (* a y))) (* 1/2 (/ x (* a z)))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* y (+ (* -9/2 (/ t y)) (* 1/2 (/ x z))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x (* a z))) (* 9/2 (/ t (* a y))))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x z)) (* 9/2 (/ t y)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx z #s(hole binary64 z))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (/ (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a))) z)))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) z)))
#s(approx (* z 9) #s(hole binary64 (* 9 z)))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (* -9/2 t) #s(hole binary64 (* -9/2 t)))
#s(approx t #s(hole binary64 t))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* t (- (* 1/2 (/ (* x y) (* a (* t z)))) (* 9/2 (/ 1 a))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* t (- (* 1/2 (/ (* x y) (* t z))) 9/2))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a (* t z)))) (* 9/2 (/ 1 a)))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* -1 (* t (+ 9/2 (* -1/2 (/ (* x y) (* t z))))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a)))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (/ (* z (+ (* -9/2 t) (* 1/2 (/ (* x y) z)))) a)))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (/ (+ (* -9/2 t) (* 1/2 (/ (* x y) z))) a)))
#s(approx a #s(hole binary64 a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* 1/2 (/ (- (* x y) (* 9 (* t z))) a))))
Calls

15 calls:

TimeVariablePointExpression
39.0ms
z
@0
((/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) (/ (* x y) z) (* x y) x y 1/2 (* -9/2 t) -9/2 t a z (* z 9) 9 (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/ (* 1/2 (* x y)) a) (* 1/2 (* x y)))
16.0ms
z
@-inf
((/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) (/ (* x y) z) (* x y) x y 1/2 (* -9/2 t) -9/2 t a z (* z 9) 9 (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/ (* 1/2 (* x y)) a) (* 1/2 (* x y)))
4.0ms
a
@-inf
((/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) (/ (* x y) z) (* x y) x y 1/2 (* -9/2 t) -9/2 t a z (* z 9) 9 (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/ (* 1/2 (* x y)) a) (* 1/2 (* x y)))
4.0ms
z
@inf
((/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) (/ (* x y) z) (* x y) x y 1/2 (* -9/2 t) -9/2 t a z (* z 9) 9 (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/ (* 1/2 (* x y)) a) (* 1/2 (* x y)))
4.0ms
a
@inf
((/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) (/ (* x y) z) (* x y) x y 1/2 (* -9/2 t) -9/2 t a z (* z 9) 9 (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/ (* 1/2 (* x y)) a) (* 1/2 (* x y)))

rewrite1.5s (14.7%)

Memory
9.8MiB live, 719.7MiB allocated; 150ms collecting garbage
Counts
88 → 82
Calls
Call 1
Inputs
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 z (/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a)))
(*.f64 z (/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a))
z
(/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a)
(fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t))
(/.f64 (*.f64 x y) z)
(*.f64 x y)
x
y
#s(literal 1/2 binary64)
(*.f64 #s(literal -9/2 binary64) t)
#s(literal -9/2 binary64)
t
a
#s(approx z z)
(*.f64 z #s(literal 9 binary64))
#s(literal 9 binary64)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a)
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* -9/2 (/ t a))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* -9/2 t)))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (+ (* -9/2 t) (* 1/2 (/ (* x y) z)))))
#s(approx (/ (* x y) z) #s(hole binary64 (/ (* x y) z)))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -9/2 (/ (* t z) a))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))))
#s(approx (/ (* 1/2 (* x y)) a) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (* 1/2 (* x y)) #s(hole binary64 (* 1/2 (* x y))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* 1/2 (/ (* x y) (* a z)))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* x (+ (* -9/2 (/ t (* a x))) (* 1/2 (/ y (* a z)))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* 1/2 (/ (* x y) z))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* x (+ (* -9/2 (/ t x)) (* 1/2 (/ y z))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* 1/2 (/ (* x y) a))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y (* a z))) (* 9/2 (/ t (* a x))))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y z)) (* 9/2 (/ t x)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))))
#s(approx y #s(hole binary64 y))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* y (+ (* -9/2 (/ t (* a y))) (* 1/2 (/ x (* a z)))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* y (+ (* -9/2 (/ t y)) (* 1/2 (/ x z))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x (* a z))) (* 9/2 (/ t (* a y))))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x z)) (* 9/2 (/ t y)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))))
#s(approx z #s(hole binary64 z))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (/ (+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a))) z)))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) z)))
#s(approx (* z 9) #s(hole binary64 (* 9 z)))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))))
#s(approx (* -9/2 t) #s(hole binary64 (* -9/2 t)))
#s(approx t #s(hole binary64 t))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* t (- (* 1/2 (/ (* x y) (* a (* t z)))) (* 9/2 (/ 1 a))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* t (- (* 1/2 (/ (* x y) (* t z))) 9/2))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a (* t z)))) (* 9/2 (/ 1 a)))))))
#s(approx (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) #s(hole binary64 (* -1 (* t (+ 9/2 (* -1/2 (/ (* x y) (* t z))))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) #s(hole binary64 (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a)))
#s(approx (* z (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a)) #s(hole binary64 (/ (* z (+ (* -9/2 t) (* 1/2 (/ (* x y) z)))) a)))
#s(approx (/ (+ (* (/ (* x y) z) 1/2) (* -9/2 t)) a) #s(hole binary64 (/ (+ (* -9/2 t) (* 1/2 (/ (* x y) z))) a)))
#s(approx a #s(hole binary64 a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(hole binary64 (* 1/2 (/ (- (* x y) (* 9 (* t z))) a))))
Outputs
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) (/.f64 z a)))
(*.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) (/.f64 z a))
z
(/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a)
(fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t))
(/.f64 (*.f64 x y) z)
(*.f64 x y)
x
y
#s(literal 1/2 binary64)
(*.f64 #s(literal -9/2 binary64) t)
#s(literal -9/2 binary64)
t
a
#s(approx z z)
(*.f64 z #s(literal 9 binary64))
#s(literal 9 binary64)
#s(approx (/ (- (* x y) (* z (* 9 t))) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a)
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) a))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
#s(approx (* z (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a)) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) a))
#s(approx (* z (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
#s(approx (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
#s(approx (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a) (/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a))
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (*.f64 #s(literal -9/2 binary64) t))
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)))
#s(approx (/ (* x y) z) (/.f64 (*.f64 x y) z))
#s(approx (* x y) (*.f64 x y))
#s(approx x x)
#s(approx (/ (- (* x y) (* z (* 9 t))) (* a 2)) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) a))
#s(approx (/ (- (* x y) (* z (* 9 t))) (* a 2)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
#s(approx (/ (* 1/2 (* x y)) a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (* 1/2 (* x y)) (*.f64 #s(literal 1/2 binary64) (*.f64 x y)))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 (fma.f64 (/.f64 y a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a x))) x))
#s(approx (* z (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (* z (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a)) (*.f64 (fma.f64 (/.f64 y a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a x))) x))
#s(approx (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z)))
#s(approx (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a) (*.f64 (fma.f64 (/.f64 y (*.f64 a z)) #s(literal 1/2 binary64) (/.f64 (*.f64 #s(literal -9/2 binary64) t) (*.f64 a x))) x))
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z))
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (*.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) (/.f64 (*.f64 #s(literal -9/2 binary64) t) x)) x))
#s(approx (/ (- (* x y) (* z (* 9 t))) (* a 2)) (*.f64 (fma.f64 (/.f64 y a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a x))) x))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 (fma.f64 (/.f64 (*.f64 t z) (*.f64 a x)) #s(literal 9/2 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) y) a)) (neg.f64 x)))
#s(approx (* z (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) (*.f64 a x)) #s(literal 9/2 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) y) a)) (neg.f64 x)))
#s(approx (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a) (*.f64 (fma.f64 (/.f64 y (*.f64 a z)) #s(literal -1/2 binary64) (/.f64 (*.f64 #s(literal 9/2 binary64) t) (*.f64 a x))) (neg.f64 x)))
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (*.f64 (fma.f64 #s(literal 9/2 binary64) (/.f64 t x) (/.f64 (*.f64 #s(literal -1/2 binary64) y) z)) (neg.f64 x)))
#s(approx (/ (- (* x y) (* z (* 9 t))) (* a 2)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) (*.f64 a x)) #s(literal 9/2 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) y) a)) (neg.f64 x)))
#s(approx y y)
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 (fma.f64 (/.f64 x a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a y))) y))
#s(approx (* z (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a)) (*.f64 (fma.f64 (/.f64 x a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a y))) y))
#s(approx (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a) (*.f64 (fma.f64 (/.f64 x (*.f64 a z)) #s(literal 1/2 binary64) (/.f64 (*.f64 #s(literal -9/2 binary64) t) (*.f64 a y))) y))
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (*.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) (/.f64 (*.f64 #s(literal -9/2 binary64) t) y)) y))
#s(approx (/ (- (* x y) (* z (* 9 t))) (* a 2)) (*.f64 (fma.f64 (/.f64 x a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a y))) y))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 (fma.f64 (/.f64 (*.f64 t z) (*.f64 a y)) #s(literal 9/2 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) x) a)) (neg.f64 y)))
#s(approx (* z (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) (*.f64 a y)) #s(literal 9/2 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) x) a)) (neg.f64 y)))
#s(approx (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a) (*.f64 (fma.f64 (/.f64 x (*.f64 a z)) #s(literal -1/2 binary64) (/.f64 (*.f64 #s(literal 9/2 binary64) t) (*.f64 a y))) (neg.f64 y)))
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (*.f64 (fma.f64 #s(literal 9/2 binary64) (/.f64 t y) (/.f64 (*.f64 #s(literal -1/2 binary64) x) z)) (neg.f64 y)))
#s(approx (/ (- (* x y) (* z (* 9 t))) (* a 2)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) (*.f64 a y)) #s(literal 9/2 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) x) a)) (neg.f64 y)))
#s(approx (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) (*.f64 a z)))
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) z))
#s(approx (* z 9) (*.f64 z #s(literal 9 binary64)))
#s(approx (* z (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a)) (*.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) (/.f64 z a)))
#s(approx (/ (- (* x y) (* z (* 9 t))) (* a 2)) (*.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) (/.f64 z a)))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) y) (/.f64 x (*.f64 a z)) (/.f64 (*.f64 #s(literal 9/2 binary64) t) a)) (neg.f64 z)))
#s(approx (* z (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a)) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) y) (/.f64 x (*.f64 a z)) (/.f64 (*.f64 #s(literal 9/2 binary64) t) a)) (neg.f64 z)))
#s(approx (/ (- (* x y) (* z (* 9 t))) (* a 2)) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) y) (/.f64 x (*.f64 a z)) (/.f64 (*.f64 #s(literal 9/2 binary64) t) a)) (neg.f64 z)))
#s(approx (* -9/2 t) (*.f64 #s(literal -9/2 binary64) t))
#s(approx t t)
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 (fma.f64 (/.f64 z a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a t))) t))
#s(approx (* z (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a)) (*.f64 (fma.f64 (/.f64 z a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a t))) t))
#s(approx (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 (*.f64 t z) a)) (/.f64 #s(literal 9/2 binary64) a)) t))
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 t z)) #s(literal 9/2 binary64)) t))
#s(approx (/ (- (* x y) (* z (* 9 t))) (* a 2)) (*.f64 (fma.f64 (/.f64 z a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a t))) t))
#s(approx (/ (+ (* -9/2 (* t z)) (* 1/2 (* x y))) a) (*.f64 (fma.f64 (/.f64 (*.f64 x y) (*.f64 a t)) #s(literal -1/2 binary64) (/.f64 (*.f64 #s(literal 9/2 binary64) z) a)) (neg.f64 t)))
#s(approx (* z (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a)) (*.f64 (fma.f64 (/.f64 (*.f64 x y) (*.f64 a t)) #s(literal -1/2 binary64) (/.f64 (*.f64 #s(literal 9/2 binary64) z) a)) (neg.f64 t)))
#s(approx (/ (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) a) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 y (*.f64 (*.f64 t z) a)) (/.f64 #s(literal 9/2 binary64) a)) (neg.f64 t)))
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (*.f64 (fma.f64 (/.f64 (*.f64 x y) (*.f64 t z)) #s(literal -1/2 binary64) #s(literal 9/2 binary64)) (neg.f64 t)))
#s(approx (/ (- (* x y) (* z (* 9 t))) (* a 2)) (*.f64 (fma.f64 (/.f64 (*.f64 x y) (*.f64 a t)) #s(literal -1/2 binary64) (/.f64 (*.f64 #s(literal 9/2 binary64) z) a)) (neg.f64 t)))
#s(approx a a)
#s(approx (/ (- (* x y) (* z (* 9 t))) (* a 2)) (*.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 t z) #s(literal 9 binary64))) a) #s(literal 1/2 binary64)))

eval7.0ms (0.1%)

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

Compiled 765 to 199 computations (74% saved)

prune129.0ms (1.3%)

Memory
6.6MiB live, 54.2MiB allocated; 4ms collecting garbage
Pruning

35 alts after pruning (20 fresh and 15 done)

PrunedKeptTotal
New67370
Fresh11718
Picked055
Done01010
Total6835103
Accuracy
99.6%
Counts
103 → 35
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.7%
(/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a)
91.6%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
6.5%
(/.f64 (*.f64 x y) z)
11.5%
(/.f64 t a)
2.6%
(+.f64 a a)
83.0%
(*.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) (/.f64 z a))
2.7%
(*.f64 (*.f64 t z) #s(literal 9 binary64))
3.4%
(*.f64 z #s(literal 9 binary64))
14.2%
(*.f64 x y)
2.7%
(*.f64 t z)
2.6%
(*.f64 a z)
14.2%
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
12.0%
(*.f64 #s(literal -9/2 binary64) (*.f64 t z))
2.8%
(*.f64 #s(literal -9/2 binary64) t)
91.7%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
50.9%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) a))
50.4%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
76.7%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 z a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a t))) t))
77.1%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 y a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a x))) x))
87.1%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 t a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))) z))
77.2%
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 (*.f64 #s(literal 1/2 binary64) x) a)) y))
84.1%
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 y z) (*.f64 #s(literal 9/2 binary64) t)) (neg.f64 a)) z))
87.9%
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 z (/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a)))
12.0%
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
7.2%
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
6.2%
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (*.f64 (fma.f64 #s(literal 9/2 binary64) (/.f64 t x) (/.f64 (*.f64 #s(literal -1/2 binary64) y) z)) (neg.f64 x)))
3.1%
#s(approx z z)
2.9%
#s(approx y y)
3.9%
#s(approx x x)
4.0%
#s(approx t t)
2.6%
#s(approx a a)
3.1%
#s(literal 9 binary64)
3.1%
#s(literal 1/2 binary64)
3.1%
#s(literal -9/2 binary64)
3.1%
#s(literal -9 binary64)
Compiler

Compiled 596 to 552 computations (7.4% saved)

regimes243.0ms (2.4%)

Memory
-6.3MiB live, 95.3MiB allocated; 7ms collecting garbage
Counts
41 → 3
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 9 binary64)
#s(approx a a)
#s(approx t t)
#s(approx x x)
#s(approx y y)
#s(approx z z)
(+.f64 a a)
(*.f64 #s(literal -9/2 binary64) t)
(*.f64 a z)
(*.f64 t z)
(*.f64 x y)
(*.f64 z #s(literal 9 binary64))
(/.f64 t a)
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
(*.f64 #s(literal -9/2 binary64) (*.f64 t z))
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
(*.f64 (*.f64 t z) #s(literal 9 binary64))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
(/.f64 (*.f64 x y) z)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
(/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a)
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 t z) #s(literal 9 binary64))) (+.f64 a a))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (*.f64 (fma.f64 #s(literal 9/2 binary64) (/.f64 t x) (/.f64 (*.f64 #s(literal -1/2 binary64) y) z)) (neg.f64 x)))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (/.f64 (*.f64 (fma.f64 #s(literal -9/2 binary64) t (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z)) z) a))
(*.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) (/.f64 z a))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 z (/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a)))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 y z) (*.f64 #s(literal 9/2 binary64) t)) (neg.f64 a)) z))
#s(approx (/ (- (* x y) (* (* 9 z) t)) (* a 2)) (*.f64 (fma.f64 #s(literal -9/2 binary64) (/.f64 (*.f64 t z) (*.f64 a y)) (/.f64 (*.f64 #s(literal 1/2 binary64) x) a)) y))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 t a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a z))) z))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 x a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a y))) y))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 y a) #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) (*.f64 a x))) x))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 z a) #s(literal -9/2 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) (*.f64 a t))) t))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 (fma.f64 (/.f64 (*.f64 x y) (*.f64 a z)) #s(literal -1/2 binary64) (/.f64 (*.f64 #s(literal 9/2 binary64) t) a)) (neg.f64 z)))
Outputs
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 y z) (*.f64 #s(literal 9/2 binary64) t)) (neg.f64 a)) z))
(/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a)
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 y z) (*.f64 #s(literal 9/2 binary64) t)) (neg.f64 a)) z))
Calls

11 calls:

50.0ms
x
21.0ms
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
21.0ms
a
20.0ms
(*.f64 z #s(literal 9 binary64))
17.0ms
(*.f64 a #s(literal 2 binary64))
Results
AccuracySegmentsBranch
91.7%1(*.f64 a #s(literal 2 binary64))
94.5%2(*.f64 z #s(literal 9 binary64))
96.8%3(*.f64 (*.f64 z #s(literal 9 binary64)) t)
94.2%2(*.f64 x y)
96.8%3(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
96.4%3(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
91.7%1x
91.7%1y
94.5%2z
91.7%1t
91.7%1a
Compiler

Compiled 41 to 76 computations (-85.4% saved)

regimes162.0ms (1.6%)

Memory
9.4MiB live, 54.3MiB allocated; 3ms collecting garbage
Counts
34 → 2
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 9 binary64)
#s(approx a a)
#s(approx t t)
#s(approx x x)
#s(approx y y)
#s(approx z z)
(+.f64 a a)
(*.f64 #s(literal -9/2 binary64) t)
(*.f64 a z)
(*.f64 t z)
(*.f64 x y)
(*.f64 z #s(literal 9 binary64))
(/.f64 t a)
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
(*.f64 #s(literal -9/2 binary64) (*.f64 t z))
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
(*.f64 (*.f64 t z) #s(literal 9 binary64))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
(/.f64 (*.f64 x y) z)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
(/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a)
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 t z) #s(literal 9 binary64))) (+.f64 a a))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (*.f64 (fma.f64 #s(literal 9/2 binary64) (/.f64 t x) (/.f64 (*.f64 #s(literal -1/2 binary64) y) z)) (neg.f64 x)))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (/.f64 (*.f64 (fma.f64 #s(literal -9/2 binary64) t (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z)) z) a))
(*.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) (/.f64 z a))
#s(approx (/ (+ (* (* 1/2 y) x) (* -9/2 (* t z))) a) (*.f64 z (/.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) a)))
Outputs
(*.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal -9/2 binary64) t)) (/.f64 z a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
Calls

6 calls:

55.0ms
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
46.0ms
z
20.0ms
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
13.0ms
(*.f64 z #s(literal 9 binary64))
12.0ms
(*.f64 x y)
Results
AccuracySegmentsBranch
91.7%1(*.f64 x y)
93.4%2(*.f64 z #s(literal 9 binary64))
93.4%2z
93.5%2(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
93.5%2(*.f64 (*.f64 z #s(literal 9 binary64)) t)
93.5%2(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
Compiler

Compiled 34 to 49 computations (-44.1% saved)

regimes121.0ms (1.2%)

Memory
-26.9MiB live, 66.8MiB allocated; 3ms collecting garbage
Counts
32 → 1
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 9 binary64)
#s(approx a a)
#s(approx t t)
#s(approx x x)
#s(approx y y)
#s(approx z z)
(+.f64 a a)
(*.f64 #s(literal -9/2 binary64) t)
(*.f64 a z)
(*.f64 t z)
(*.f64 x y)
(*.f64 z #s(literal 9 binary64))
(/.f64 t a)
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
(*.f64 #s(literal -9/2 binary64) (*.f64 t z))
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
(*.f64 (*.f64 t z) #s(literal 9 binary64))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
(/.f64 (*.f64 x y) z)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
(/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x y) (*.f64 #s(literal -9/2 binary64) (*.f64 t z))) a)
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 t z) #s(literal 9 binary64))) (+.f64 a a))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
#s(approx (+ (* -9/2 t) (/ (* 1/2 (* x y)) z)) (*.f64 (fma.f64 #s(literal 9/2 binary64) (/.f64 t x) (/.f64 (*.f64 #s(literal -1/2 binary64) y) z)) (neg.f64 x)))
#s(approx (* z (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z)))) (/.f64 (*.f64 (fma.f64 #s(literal -9/2 binary64) t (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z)) z) a))
Outputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (fma.f64 (*.f64 #s(literal -9/2 binary64) t) z (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) a))
Calls

6 calls:

50.0ms
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
18.0ms
z
16.0ms
x
15.0ms
(*.f64 z #s(literal 9 binary64))
11.0ms
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
Results
AccuracySegmentsBranch
91.7%1x
91.7%1(*.f64 z #s(literal 9 binary64))
91.7%1z
91.7%1(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
91.7%1(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
91.7%1(*.f64 (*.f64 z #s(literal 9 binary64)) t)
Compiler

Compiled 32 to 48 computations (-50% saved)

regimes179.0ms (1.7%)

Memory
13.6MiB live, 73.6MiB allocated; 35ms collecting garbage
Counts
26 → 3
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 9 binary64)
#s(approx a a)
#s(approx t t)
#s(approx x x)
#s(approx y y)
#s(approx z z)
(+.f64 a a)
(*.f64 #s(literal -9/2 binary64) t)
(*.f64 a z)
(*.f64 t z)
(*.f64 x y)
(*.f64 z #s(literal 9 binary64))
(/.f64 t a)
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
(*.f64 #s(literal -9/2 binary64) (*.f64 t z))
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
(*.f64 (*.f64 t z) #s(literal 9 binary64))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
(/.f64 (*.f64 x y) z)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) a))
Outputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 (*.f64 t z) #s(literal -9/2 binary64)) a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
Calls

11 calls:

45.0ms
a
38.0ms
(*.f64 x y)
16.0ms
y
14.0ms
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
11.0ms
z
Results
AccuracySegmentsBranch
60.6%4(*.f64 a #s(literal 2 binary64))
68.3%3(*.f64 z #s(literal 9 binary64))
72.8%3(*.f64 (*.f64 z #s(literal 9 binary64)) t)
75.2%3(*.f64 x y)
58.8%4(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
57.5%4(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
68.8%3y
68.3%3z
66.5%3t
60.6%4a
71.3%3x
Compiler

Compiled 41 to 76 computations (-85.4% saved)

regimes178.0ms (1.7%)

Memory
18.1MiB live, 156.6MiB allocated; 12ms collecting garbage
Counts
25 → 3
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 9 binary64)
#s(approx a a)
#s(approx t t)
#s(approx x x)
#s(approx y y)
#s(approx z z)
(+.f64 a a)
(*.f64 #s(literal -9/2 binary64) t)
(*.f64 a z)
(*.f64 t z)
(*.f64 x y)
(*.f64 z #s(literal 9 binary64))
(/.f64 t a)
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
(*.f64 #s(literal -9/2 binary64) (*.f64 t z))
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
(*.f64 (*.f64 t z) #s(literal 9 binary64))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
(/.f64 (*.f64 x y) z)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
Outputs
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) a))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
Calls

10 calls:

43.0ms
t
21.0ms
x
15.0ms
y
11.0ms
a
11.0ms
z
Results
AccuracySegmentsBranch
50.4%1(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
50.4%1(*.f64 a #s(literal 2 binary64))
50.4%1a
52.5%2t
54.3%3(*.f64 z #s(literal 9 binary64))
54.3%3z
50.4%1y
50.4%1x
56.7%3(*.f64 (*.f64 z #s(literal 9 binary64)) t)
50.4%1(*.f64 x y)
Compiler

Compiled 28 to 63 computations (-125% saved)

regimes176.0ms (1.7%)

Memory
-21.7MiB live, 75.4MiB allocated; 17ms collecting garbage
Counts
24 → 4
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 9 binary64)
#s(approx a a)
#s(approx t t)
#s(approx x x)
#s(approx y y)
#s(approx z z)
(+.f64 a a)
(*.f64 #s(literal -9/2 binary64) t)
(*.f64 a z)
(*.f64 t z)
(*.f64 x y)
(*.f64 z #s(literal 9 binary64))
(/.f64 t a)
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
(*.f64 #s(literal -9/2 binary64) (*.f64 t z))
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
(*.f64 (*.f64 t z) #s(literal 9 binary64))
#s(approx (+ (/ (* -9/2 t) a) (/ (* 1/2 (* x y)) (* a z))) (/.f64 (*.f64 #s(literal -9/2 binary64) t) a))
(/.f64 (*.f64 x y) z)
Outputs
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
(/.f64 t a)
(*.f64 x y)
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 t z) #s(literal -9 binary64)))
Calls

11 calls:

47.0ms
(*.f64 a #s(literal 2 binary64))
45.0ms
a
14.0ms
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
14.0ms
y
10.0ms
(*.f64 x y)
Results
AccuracySegmentsBranch
17.3%2(*.f64 a #s(literal 2 binary64))
19.6%3(*.f64 x y)
17.3%2a
16.8%2y
18.0%3(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
18.8%3x
18.6%2t
20.5%3(*.f64 z #s(literal 9 binary64))
20.5%3z
15.7%2(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
22.9%4(*.f64 (*.f64 z #s(literal 9 binary64)) t)
Compiler

Compiled 41 to 76 computations (-85.4% saved)

regimes9.0ms (0.1%)

Memory
4.6MiB live, 4.6MiB allocated; 0ms collecting garbage
Counts
18 → 4
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 9 binary64)
#s(approx a a)
#s(approx t t)
#s(approx x x)
#s(approx y y)
#s(approx z z)
(+.f64 a a)
(*.f64 #s(literal -9/2 binary64) t)
(*.f64 a z)
(*.f64 t z)
(*.f64 x y)
(*.f64 z #s(literal 9 binary64))
(/.f64 t a)
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
Outputs
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
(/.f64 t a)
(*.f64 x y)
#s(approx (+ (* -9/2 (* t z)) (* 1/2 (* x y))) (*.f64 #s(literal -9/2 binary64) (*.f64 t z)))
Calls

1 calls:

7.0ms
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
Results
AccuracySegmentsBranch
22.9%4(*.f64 (*.f64 z #s(literal 9 binary64)) t)
Compiler

Compiled 5 to 8 computations (-60% saved)

regimes32.0ms (0.3%)

Memory
17.9MiB live, 17.9MiB allocated; 0ms collecting garbage
Counts
17 → 3
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 9 binary64)
#s(approx a a)
#s(approx t t)
#s(approx x x)
#s(approx y y)
#s(approx z z)
(+.f64 a a)
(*.f64 #s(literal -9/2 binary64) t)
(*.f64 a z)
(*.f64 t z)
(*.f64 x y)
(*.f64 z #s(literal 9 binary64))
(/.f64 t a)
Outputs
(*.f64 x y)
(/.f64 t a)
(*.f64 x y)
Calls

5 calls:

6.0ms
(*.f64 z #s(literal 9 binary64))
6.0ms
t
6.0ms
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
6.0ms
z
6.0ms
(*.f64 x y)
Results
AccuracySegmentsBranch
19.5%3(*.f64 x y)
16.3%2t
15.8%2(*.f64 z #s(literal 9 binary64))
15.8%2z
17.2%2(*.f64 (*.f64 z #s(literal 9 binary64)) t)
Compiler

Compiled 13 to 31 computations (-138.5% saved)

regimes103.0ms (1%)

Memory
4.3MiB live, 96.5MiB allocated; 3ms collecting garbage
Counts
16 → 1
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 9 binary64)
#s(approx a a)
#s(approx t t)
#s(approx x x)
#s(approx y y)
#s(approx z z)
(+.f64 a a)
(*.f64 #s(literal -9/2 binary64) t)
(*.f64 a z)
(*.f64 t z)
(*.f64 x y)
(*.f64 z #s(literal 9 binary64))
Outputs
(*.f64 x y)
Calls

11 calls:

42.0ms
z
7.0ms
(*.f64 x y)
7.0ms
(*.f64 z #s(literal 9 binary64))
6.0ms
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
6.0ms
a
Results
AccuracySegmentsBranch
14.2%1(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
14.2%1(*.f64 z #s(literal 9 binary64))
14.2%1z
14.2%1t
14.2%1(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
14.2%1y
14.2%1x
14.2%1(*.f64 (*.f64 z #s(literal 9 binary64)) t)
14.2%1(*.f64 a #s(literal 2 binary64))
14.2%1a
14.2%1(*.f64 x y)
Compiler

Compiled 41 to 76 computations (-85.4% saved)

regimes120.0ms (1.2%)

Memory
-12.6MiB live, 40.1MiB allocated; 9ms collecting garbage
Counts
14 → 1
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 9 binary64)
#s(approx a a)
#s(approx t t)
#s(approx x x)
#s(approx y y)
#s(approx z z)
(+.f64 a a)
(*.f64 #s(literal -9/2 binary64) t)
(*.f64 a z)
(*.f64 t z)
Outputs
#s(approx t t)
Calls

11 calls:

44.0ms
(*.f64 x y)
13.0ms
t
7.0ms
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
7.0ms
(*.f64 z #s(literal 9 binary64))
7.0ms
z
Results
AccuracySegmentsBranch
4.0%1(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
4.0%1y
4.0%1(*.f64 a #s(literal 2 binary64))
4.0%1(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
4.0%1x
4.0%1a
4.0%1(*.f64 z #s(literal 9 binary64))
4.0%1(*.f64 (*.f64 z #s(literal 9 binary64)) t)
4.0%1(*.f64 x y)
4.0%1z
4.0%1t
Compiler

Compiled 41 to 76 computations (-85.4% saved)

regimes39.0ms (0.4%)

Memory
-21.6MiB live, 25.1MiB allocated; 1ms collecting garbage
Counts
6 → 2
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 9 binary64)
#s(approx a a)
Outputs
#s(literal -9 binary64)
#s(literal 9 binary64)
Calls

11 calls:

4.0ms
(*.f64 z #s(literal 9 binary64))
4.0ms
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
4.0ms
z
4.0ms
x
4.0ms
y
Results
AccuracySegmentsBranch
3.1%1(*.f64 a #s(literal 2 binary64))
3.1%1a
4.9%2(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
3.1%1t
3.1%1(*.f64 x y)
4.9%2(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
3.1%1(*.f64 (*.f64 z #s(literal 9 binary64)) t)
3.1%1y
3.1%1(*.f64 z #s(literal 9 binary64))
3.1%1x
3.1%1z
Compiler

Compiled 41 to 76 computations (-85.4% saved)

regimes5.0ms (0%)

Memory
5.9MiB live, 5.9MiB allocated; 0ms collecting garbage
Counts
4 → 2
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
Outputs
#s(literal -9 binary64)
#s(literal 2 binary64)
Calls

2 calls:

2.0ms
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
2.0ms
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
4.9%2(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
4.9%2(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Compiler

Compiled 22 to 23 computations (-4.5% saved)

regimes4.0ms (0%)

Memory
3.2MiB live, 3.2MiB allocated; 0ms collecting garbage
Counts
3 → 2
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
#s(literal 1/2 binary64)
Outputs
#s(literal -9 binary64)
#s(literal 1/2 binary64)
Calls

2 calls:

2.0ms
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
2.0ms
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
4.9%2(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
4.9%2(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Compiler

Compiled 22 to 23 computations (-4.5% saved)

regimes17.0ms (0.2%)

Memory
17.9MiB live, 17.9MiB allocated; 0ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
2 → 1
Calls
Call 1
Inputs
#s(literal -9 binary64)
#s(literal -9/2 binary64)
Outputs
#s(literal -9 binary64)
Calls

11 calls:

3.0ms
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
2.0ms
(*.f64 a #s(literal 2 binary64))
1.0ms
x
1.0ms
(*.f64 z #s(literal 9 binary64))
1.0ms
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
Results
AccuracySegmentsBranch
3.1%1(*.f64 a #s(literal 2 binary64))
3.1%1a
3.1%1x
3.1%1(*.f64 z #s(literal 9 binary64))
3.1%1(*.f64 x y)
3.1%1y
3.1%1z
3.1%1t
3.1%1(*.f64 (*.f64 z #s(literal 9 binary64)) t)
3.1%1(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
3.1%1(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Compiler

Compiled 41 to 76 computations (-85.4% saved)

bsearch1.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.705622060288145e+234
2.427321061758261e+243
0.0ms
-1.5730494635912533e+251
-1.2594279792269536e+248
Compiler

Compiled 16 to 21 computations (-31.3% saved)

bsearch1.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-8.541686447674774e+158
-3.745115608248587e+156
Compiler

Compiled 16 to 21 computations (-31.3% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.849783014032548e-69
1.0121626053254047e-67
0.0ms
-4.123743281605673e-52
-1.7549381141746788e-58
Compiler

Compiled 16 to 21 computations (-31.3% saved)

bsearch1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.119712409907944e+298
4.484148446389134e+299
0.0ms
-1.1352183266519042e+217
-1.1921049466197232e+206
Compiler

Compiled 16 to 21 computations (-31.3% saved)

bsearch1.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.152588828445725e+238
7.36220917233647e+239
0.0ms
-8507171.73120197
-29.86784535010966
0.0ms
-4.298931056811859e+277
-3.817753383396939e+272
Compiler

Compiled 16 to 21 computations (-31.3% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.152588828445725e+238
7.36220917233647e+239
0.0ms
-8507171.73120197
-29.86784535010966
0.0ms
-4.298931056811859e+277
-3.817753383396939e+272
Compiler

Compiled 16 to 21 computations (-31.3% saved)

bsearch2.0ms (0%)

Memory
-43.9MiB live, 0.8MiB allocated; 2ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
9.818908201562471e+296
7.910747379226517e+303
1.0ms
-7.524539957371986e+203
-9.278571685152411e+201
Compiler

Compiled 16 to 21 computations (-31.3% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.0217027886840302e-262
-1.853907e-318
Compiler

Compiled 16 to 21 computations (-31.3% saved)

bsearch20.0ms (0.2%)

Memory
8.6MiB live, 8.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
19.0ms
-1.0217027886840302e-262
-1.853907e-318
Samples
8.0ms192×0valid
Compiler

Compiled 40 to 189 computations (-372.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
adjust: 0.0ms (0% of total)

bsearch8.0ms (0.1%)

Memory
3.6MiB live, 3.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
8.0ms
-1.0217027886840302e-262
-1.853907e-318
Samples
3.0ms80×0valid
Compiler

Compiled 40 to 189 computations (-372.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
adjust: 0.0ms (0% of total)

derivations46.0ms (0.4%)

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

Compiled 151 to 115 computations (23.8% saved)

preprocess958.0ms (9.3%)

Memory
2.7MiB live, 486.0MiB allocated; 156ms collecting garbage
Remove

(sort z t)

(sort x y)

(negabs a)

Compiler

Compiled 2 748 to 2 698 computations (1.8% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...