Optimisation.CirclePacking:place from circle-packing-0.1.0.4, B

Time bar (total: 4.8s)

start0.0ms (0%)

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

analyze126.0ms (2.6%)

Memory
5.9MiB live, 142.1MiB allocated; 23ms 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
50%49.9%49.9%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
75%74.9%25%0.2%0%0%0%9
75%74.9%25%0.2%0%0%0%10
75%74.9%25%0.2%0%0%0%11
75%74.9%25%0.2%0%0%0%12
Compiler

Compiled 11 to 11 computations (0% saved)

sample963.0ms (19.9%)

Memory
32.3MiB live, 1 193.0MiB allocated; 462ms collecting garbage
Samples
624.0ms8 255×0valid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 262.0ms
ival-mult!: 138.0ms (52.6% of total)
ival-div!: 48.0ms (18.3% of total)
ival-sub!: 45.0ms (17.2% of total)
ival-add!: 29.0ms (11.1% of total)
adjust: 2.0ms (0.8% of total)
Bogosity

preprocess85.0ms (1.8%)

Memory
31.1MiB live, 77.0MiB allocated; 31ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
047145
1343141
23004141
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
Symmetry

(negabs t)

(sort x y)

Compiler

Compiled 18 to 18 computations (0% saved)

series117.0ms (2.4%)

Memory
-5.8MiB live, 87.0MiB allocated; 21ms collecting garbage
Counts
9 → 37
Calls
Call 1
Inputs
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
(-.f64 (+.f64 x y) z)
(+.f64 x y)
x
y
z
(*.f64 t #s(literal 2 binary64))
t
#s(literal 2 binary64)
Outputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 y z) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 x t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 y z) t))))
#s(approx (- (+ x y) z) (-.f64 y z))
#s(approx (- (+ x y) z) (-.f64 (+.f64 x y) z))
#s(approx (+ x y) y)
#s(approx (+ x y) (+.f64 x y))
#s(approx x x)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (/.f64 y t) (/.f64 z t)) x) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (- (+ x y) z) (*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 y x)) (/.f64 z x))))
#s(approx (+ x y) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 y x))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 (/.f64 y t) (/.f64 z t)) x)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (- (+ x y) z) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 y z) x)) #s(literal 1 binary64)))))
#s(approx (+ x y) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y x)) #s(literal 1 binary64)))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t))))
#s(approx (- (+ x y) z) (-.f64 x z))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (/.f64 x t) (/.f64 z t)) y) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (- (+ x y) z) (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y))))
#s(approx (+ x y) (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 x y))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 (/.f64 x t) (/.f64 z t)) y)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (- (+ x y) z) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 x z) y)) #s(literal 1 binary64)))))
#s(approx (+ x y) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x y)) #s(literal 1 binary64)))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal -1/2 binary64) (/.f64 z t) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t))))
#s(approx (- (+ x y) z) (+.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) z))))
#s(approx z z)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 z (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 (/.f64 x t) (/.f64 y t)) z)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (- (+ x y) z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- (+ x y) z) (*.f64 z (-.f64 (+.f64 (/.f64 x z) (/.f64 y z)) #s(literal 1 binary64))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1/2 binary64) (/.f64 (+.f64 (/.f64 x t) (/.f64 y t)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (- (+ x y) z) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (+.f64 x y) z) t)))
#s(approx (* t 2) (*.f64 #s(literal 2 binary64) t))
#s(approx t t)
Calls

12 calls:

TimeVariablePoint
2.0ms
x
inf
2.0ms
x
0
2.0ms
t
-inf
1.0ms
y
-inf
1.0ms
x
-inf

rewrite227.0ms (4.7%)

Memory
-43.8MiB live, 159.9MiB allocated; 81ms collecting garbage
Counts
9 → 31
Calls
Call 1
Inputs
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
(-.f64 (+.f64 x y) z)
(+.f64 x y)
x
y
z
(*.f64 t #s(literal 2 binary64))
t
#s(literal 2 binary64)
Outputs
(*.f64 (/.f64 (+.f64 (+.f64 z x) y) (+.f64 (+.f64 z x) y)) (/.f64 (-.f64 y (-.f64 z x)) (+.f64 t t)))
(*.f64 (/.f64 (-.f64 y (-.f64 z x)) (+.f64 t t)) #s(literal 1 binary64))
(*.f64 (/.f64 (fma.f64 (+.f64 (+.f64 z x) y) z (*.f64 (+.f64 x y) (+.f64 x y))) (fma.f64 (+.f64 (+.f64 z x) y) z (*.f64 (+.f64 x y) (+.f64 x y)))) (/.f64 (-.f64 y (-.f64 z x)) (+.f64 t t)))
(*.f64 (/.f64 (/.f64 (-.f64 y (-.f64 z x)) t) #s(literal 0 binary64)) #s(literal 0 binary64))
(*.f64 (+.f64 (+.f64 z x) y) (/.f64 (-.f64 y (-.f64 z x)) (*.f64 (+.f64 (+.f64 z x) y) (+.f64 t t))))
(*.f64 (+.f64 (+.f64 z x) y) (/.f64 (-.f64 y (-.f64 z x)) (+.f64 (+.f64 z x) y)))
(*.f64 (/.f64 (*.f64 (+.f64 (+.f64 z x) y) (-.f64 y (-.f64 z x))) (fma.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 x y) (*.f64 (*.f64 z z) z))) (fma.f64 z (-.f64 z (+.f64 x y)) (*.f64 (+.f64 x y) (+.f64 x y))))
(*.f64 (/.f64 (*.f64 (+.f64 (+.f64 z x) y) (-.f64 y (-.f64 z x))) (*.f64 (+.f64 (+.f64 z x) y) (-.f64 y (-.f64 z x)))) (-.f64 y (-.f64 z x)))
(*.f64 (fma.f64 (+.f64 (+.f64 z x) y) z (*.f64 (+.f64 x y) (+.f64 x y))) (/.f64 (-.f64 y (-.f64 z x)) (fma.f64 (+.f64 (+.f64 z x) y) z (*.f64 (+.f64 x y) (+.f64 x y)))))
(*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 x y)) (*.f64 (*.f64 z z) z)) (+.f64 (pow.f64 (*.f64 (+.f64 (+.f64 z x) y) z) #s(literal 3 binary64)) (pow.f64 (+.f64 x y) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64))))) (fma.f64 (*.f64 (+.f64 (+.f64 z x) y) z) (-.f64 (*.f64 (+.f64 (+.f64 z x) y) z) (*.f64 (+.f64 x y) (+.f64 x y))) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (*.f64 (+.f64 x y) (+.f64 x y)))))
(*.f64 (+.f64 x y) (/.f64 (-.f64 x y) (-.f64 x y)))
(*.f64 (/.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (-.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 y y) y))) (fma.f64 (+.f64 x y) y (*.f64 x x)))
(*.f64 (/.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (*.f64 (+.f64 x y) (-.f64 x y))) (+.f64 x y))
(*.f64 (fma.f64 (-.f64 y x) y (*.f64 x x)) (/.f64 (+.f64 x y) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(*.f64 (/.f64 (fma.f64 (*.f64 x x) x (*.f64 (*.f64 y y) y)) (fma.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 x x)) x (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 3 binary64)))) (fma.f64 (*.f64 (-.f64 y x) y) (-.f64 (*.f64 (-.f64 y x) y) (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x x))))
x
y
z
(*.f64 t #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) t)
(*.f64 (+.f64 t t) #s(literal 1 binary64))
(*.f64 (neg.f64 #s(literal 2 binary64)) (neg.f64 t))
(*.f64 (neg.f64 t) (neg.f64 #s(literal 2 binary64)))
t
(*.f64 t #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) t)
#s(literal 2 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 (+.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))) (cosh.f64 (/.f64 (-.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 2 binary64)))))
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))

eval28.0ms (0.6%)

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

Compiled 1 309 to 298 computations (77.2% saved)

prune12.0ms (0.2%)

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

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New54862
Fresh000
Picked101
Done000
Total55863
Accuracy
100.0%
Counts
63 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.9%
(/.f64 (-.f64 #s(approx (+ x y) y) z) (*.f64 t #s(literal 2 binary64)))
71.0%
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
84.2%
(/.f64 #s(approx (- (+ x y) z) (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y)))) (*.f64 t #s(literal 2 binary64)))
97.6%
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t))))
68.2%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t)))
34.5%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))
38.3%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
38.5%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
Compiler

Compiled 258 to 212 computations (17.8% saved)

series308.0ms (6.4%)

Memory
-13.9MiB live, 177.0MiB allocated; 38ms collecting garbage
Counts
30 → 93
Calls
Call 1
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t))))
(fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t)))
#s(literal 1/2 binary64)
(/.f64 y t)
y
t
(*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t))
(/.f64 (-.f64 x z) t)
(-.f64 x z)
x
z
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
(*.f64 #s(literal -1/2 binary64) (/.f64 z t))
#s(literal -1/2 binary64)
(/.f64 z t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))
(*.f64 #s(literal 1/2 binary64) (/.f64 y t))
(/.f64 (-.f64 #s(approx (+ x y) y) z) (*.f64 t #s(literal 2 binary64)))
(-.f64 #s(approx (+ x y) y) z)
#s(approx (+ x y) y)
(*.f64 t #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 #s(approx (- (+ x y) z) (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y)))) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y))))
(*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y)))
(-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y))
(+.f64 #s(literal 1 binary64) (/.f64 x y))
#s(literal 1 binary64)
(/.f64 x y)
(/.f64 z y)
Outputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 y z) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 x t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 y z) t))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (fma.f64 #s(literal -1/2 binary64) (/.f64 z t) (*.f64 #s(literal 1/2 binary64) (/.f64 y t))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (fma.f64 #s(literal -1/2 binary64) (/.f64 z t) (fma.f64 #s(literal 1/2 binary64) (/.f64 x t) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))))
#s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
#s(approx (* 1/2 (/ (- x z) t)) (fma.f64 #s(literal -1/2 binary64) (/.f64 z t) (*.f64 #s(literal 1/2 binary64) (/.f64 x t))))
#s(approx (/ (- x z) t) (*.f64 #s(literal -1 binary64) (/.f64 z t)))
#s(approx (/ (- x z) t) (fma.f64 #s(literal -1 binary64) (/.f64 z t) (/.f64 x t)))
#s(approx (- x z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- x z) (-.f64 x z))
#s(approx x x)
#s(approx (- (+ x y) z) (-.f64 y z))
#s(approx (- (+ x y) z) (-.f64 (+.f64 x y) z))
#s(approx (+ x y) y)
#s(approx (+ x y) (+.f64 x y))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (*.f64 y (-.f64 #s(literal 1 binary64) (/.f64 z y))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (+.f64 x (*.f64 y (-.f64 #s(literal 1 binary64) (/.f64 z y)))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (-.f64 #s(literal 1 binary64) (/.f64 z y)))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y)))
#s(approx (+ 1 (/ x y)) #s(literal 1 binary64))
#s(approx (+ 1 (/ x y)) (+.f64 #s(literal 1 binary64) (/.f64 x y)))
#s(approx (/ x y) (/.f64 x y))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (/.f64 y t) (/.f64 z t)) x) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 x (fma.f64 #s(literal -1/2 binary64) (/.f64 z (*.f64 t x)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y (*.f64 t x)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (* 1/2 (/ (- x z) t)) (*.f64 x (fma.f64 #s(literal -1/2 binary64) (/.f64 z (*.f64 t x)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (/ (- x z) t) (/.f64 x t))
#s(approx (/ (- x z) t) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 t x)) (/.f64 #s(literal 1 binary64) t))))
#s(approx (- x z) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z x)))))
#s(approx (- (+ x y) z) (*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 y x)) (/.f64 z x))))
#s(approx (+ x y) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 y x))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 #s(literal 1 binary64) (/.f64 z y))) x))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (*.f64 x (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) x) (/.f64 #s(literal 1 binary64) y)) (/.f64 z (*.f64 x y)))))
#s(approx (+ 1 (/ x y)) (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) x) (/.f64 #s(literal 1 binary64) y))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 (/.f64 y t) (/.f64 z t)) x)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 z t) (*.f64 #s(literal 1/2 binary64) (/.f64 y t))) x)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 z (*.f64 t x))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (/ (- x z) t) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (/.f64 z (*.f64 t x)) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (- x z) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (/.f64 z x) #s(literal 1 binary64)))))
#s(approx (- (+ x y) z) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 y z) x)) #s(literal 1 binary64)))))
#s(approx (+ x y) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y x)) #s(literal 1 binary64)))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 #s(literal 1 binary64) (/.f64 z y))) x)) #s(literal 1 binary64)))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 z y)) x)) (/.f64 #s(literal 1 binary64) y)))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t))))
#s(approx (/ y t) (/.f64 y t))
#s(approx (* 1/2 (/ y t)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 (+.f64 x y) z) y))
#s(approx (+ 1 (/ x y)) (/.f64 (+.f64 x y) y))
#s(approx (/ z y) (/.f64 z y))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (/.f64 x t) (/.f64 z t)) y) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) (*.f64 t y)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (- (+ x y) z) (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y))))
#s(approx (+ x y) (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 x y))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 (/.f64 x t) (/.f64 z t)) y)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 x z) (*.f64 t y))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (- (+ x y) z) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 x z) y)) #s(literal 1 binary64)))))
#s(approx (+ x y) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x y)) #s(literal 1 binary64)))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x y)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z y)))))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal -1 binary64) z)) y))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal -1/2 binary64) (/.f64 z t) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (fma.f64 #s(literal 1/2 binary64) (/.f64 x t) (*.f64 #s(literal 1/2 binary64) (/.f64 y t))))
#s(approx (- x z) (+.f64 x (*.f64 #s(literal -1 binary64) z)))
#s(approx z z)
#s(approx (/ z t) (/.f64 z t))
#s(approx (- (+ x y) z) (+.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) z))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (fma.f64 #s(literal -1 binary64) z (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 x y)))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 z y) (/.f64 x y))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 z (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 (/.f64 x t) (/.f64 y t)) z)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 z (-.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 x (*.f64 t z)) (*.f64 #s(literal 1/2 binary64) (/.f64 y (*.f64 t z)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (* 1/2 (/ (- x z) t)) (*.f64 z (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 x (*.f64 t z))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (/ (- x z) t) (*.f64 z (-.f64 (/.f64 x (*.f64 t z)) (/.f64 #s(literal 1 binary64) t))))
#s(approx (- x z) (*.f64 z (-.f64 (/.f64 x z) #s(literal 1 binary64))))
#s(approx (- (+ x y) z) (*.f64 z (-.f64 (+.f64 (/.f64 x z) (/.f64 y z)) #s(literal 1 binary64))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (*.f64 z (-.f64 (/.f64 (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 x y))) z) #s(literal 1 binary64))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (*.f64 #s(literal -1 binary64) (/.f64 z y)))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (*.f64 z (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z))) (/.f64 #s(literal 1 binary64) y))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1/2 binary64) (/.f64 (+.f64 (/.f64 x t) (/.f64 y t)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 x t) (*.f64 #s(literal 1/2 binary64) (/.f64 y t))) z) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1/2 binary64) (/.f64 x (*.f64 t z)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (/ (- x z) t) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 x (*.f64 t z)) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (- x z) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 x z))))))
#s(approx (- (+ x y) z) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 x y))) z))))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) z) (/.f64 #s(literal 1 binary64) y)))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (+.f64 x y) z) t)))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (/.f64 (fma.f64 #s(literal 1/2 binary64) y (*.f64 #s(literal 1/2 binary64) (-.f64 x z))) t))
#s(approx t t)
#s(approx (/ (- x z) t) (/.f64 (-.f64 x z) t))
#s(approx (* t 2) (*.f64 #s(literal 2 binary64) t))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/2 binary64) y (*.f64 #s(literal -1/2 binary64) (-.f64 x z))) t)))
Calls

12 calls:

TimeVariablePoint
27.0ms
x
inf
26.0ms
z
-inf
12.0ms
y
inf
5.0ms
x
-inf
4.0ms
t
-inf

rewrite685.0ms (14.2%)

Memory
142.5MiB live, 463.1MiB allocated; 214ms collecting garbage
Counts
30 → 105
Calls
Call 1
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t))))
(fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t)))
#s(literal 1/2 binary64)
(/.f64 y t)
y
t
(*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t))
(/.f64 (-.f64 x z) t)
(-.f64 x z)
x
z
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
(*.f64 #s(literal -1/2 binary64) (/.f64 z t))
#s(literal -1/2 binary64)
(/.f64 z t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))
(*.f64 #s(literal 1/2 binary64) (/.f64 y t))
(/.f64 (-.f64 #s(approx (+ x y) y) z) (*.f64 t #s(literal 2 binary64)))
(-.f64 #s(approx (+ x y) y) z)
#s(approx (+ x y) y)
(*.f64 t #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 #s(approx (- (+ x y) z) (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y)))) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y))))
(*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y)))
(-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y))
(+.f64 #s(literal 1 binary64) (/.f64 x y))
#s(literal 1 binary64)
(/.f64 x y)
(/.f64 z y)
Outputs
#s(approx (/ (+ x (+ y z)) t) (*.f64 (/.f64 (-.f64 y (-.f64 z x)) t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (-.f64 y (-.f64 z x)) t) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 y (-.f64 z x)) t))
(*.f64 #s(literal 1/2 binary64) (-.f64 (/.f64 (-.f64 x z) t) (/.f64 y t)))
(*.f64 (neg.f64 #s(literal 1/2 binary64)) (/.f64 (-.f64 y (-.f64 z x)) t))
(*.f64 (/.f64 (*.f64 (/.f64 (-.f64 y (-.f64 z x)) t) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)) (/.f64 (*.f64 (/.f64 (-.f64 y (-.f64 z x)) t) #s(literal 1/2 binary64)) (/.f64 (-.f64 y (-.f64 z x)) t)))
#s(literal 1/2 binary64)
(neg.f64 (neg.f64 #s(literal 1/2 binary64)))
(/.f64 y t)
(/.f64 (/.f64 y t) #s(literal 2 binary64))
(/.f64 (neg.f64 y) t)
(neg.f64 (/.f64 y t))
y
(*.f64 y #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) y)
(+.f64 y y)
(/.f64 y #s(literal 2 binary64))
t
(*.f64 t #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) t)
(+.f64 t t)
(-.f64 t t)
(*.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) t))
(*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t))
(*.f64 (/.f64 (-.f64 x z) t) #s(literal 1/2 binary64))
(*.f64 (/.f64 (-.f64 x z) t) (neg.f64 #s(literal 1/2 binary64)))
(*.f64 (neg.f64 (-.f64 x z)) (/.f64 #s(literal 1/2 binary64) t))
(*.f64 (/.f64 (+.f64 z x) (+.f64 z x)) (/.f64 (-.f64 x z) t))
(*.f64 (/.f64 (fma.f64 (+.f64 z x) z (*.f64 x x)) (fma.f64 (+.f64 z x) z (*.f64 x x))) (/.f64 (-.f64 x z) t))
(*.f64 (+.f64 z x) (/.f64 (-.f64 x z) (*.f64 (+.f64 z x) t)))
(*.f64 (fma.f64 (+.f64 z x) z (*.f64 x x)) (/.f64 (-.f64 x z) (*.f64 (fma.f64 (+.f64 z x) z (*.f64 x x)) t)))
(+.f64 (/.f64 x t) (/.f64 z t))
(*.f64 (*.f64 (+.f64 z x) (-.f64 x z)) (fma.f64 z (-.f64 z x) (*.f64 x x)))
(*.f64 (fma.f64 x x (*.f64 z z)) (-.f64 x z))
(*.f64 (+.f64 z x) (/.f64 (-.f64 x z) (+.f64 z x)))
(*.f64 (fma.f64 (+.f64 z x) z (*.f64 x x)) (/.f64 (-.f64 x z) (fma.f64 (+.f64 z x) z (*.f64 x x))))
(*.f64 (/.f64 (*.f64 (+.f64 z x) (-.f64 x z)) (fma.f64 x x (pow.f64 (*.f64 (+.f64 z x) z) #s(literal 3 binary64)))) (fma.f64 (*.f64 (+.f64 z x) z) (-.f64 (*.f64 (+.f64 z x) z) (*.f64 x x)) (*.f64 x x)))
x
(*.f64 x #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) x)
(/.f64 x #s(literal 2 binary64))
(neg.f64 (neg.f64 x))
z
(neg.f64 (neg.f64 z))
#s(approx (/ (+ x (+ y z)) t) (/.f64 (*.f64 z #s(literal -1/2 binary64)) t))
(*.f64 #s(literal -1/2 binary64) (/.f64 z t))
(*.f64 (/.f64 z t) #s(literal -1/2 binary64))
(*.f64 (neg.f64 z) (/.f64 #s(literal -1/2 binary64) t))
(*.f64 z (/.f64 #s(literal -1/2 binary64) t))
(/.f64 (*.f64 z #s(literal -1/2 binary64)) t)
#s(literal -1/2 binary64)
(*.f64 (/.f64 z t) #s(literal 2 binary64))
(/.f64 z t)
(/.f64 (/.f64 z #s(literal 2 binary64)) t)
(/.f64 (/.f64 z t) #s(literal 2 binary64))
(/.f64 (neg.f64 z) t)
#s(approx (/ (+ x (+ y z)) t) (/.f64 (*.f64 y #s(literal 1/2 binary64)) t))
(*.f64 #s(literal 1/2 binary64) (/.f64 y t))
(*.f64 (/.f64 y t) #s(literal 1/2 binary64))
(*.f64 (/.f64 y t) (neg.f64 #s(literal 1/2 binary64)))
(*.f64 (neg.f64 #s(literal 1/2 binary64)) (/.f64 y t))
(*.f64 (neg.f64 y) (/.f64 #s(literal 1/2 binary64) t))
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
(-.f64 #s(approx (+ x y) y) z)
#s(approx (+ x y) y)
t
(*.f64 t #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) t)
(+.f64 t t)
(-.f64 t t)
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 2 binary64) #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) #s(literal 2 binary64))
(/.f64 #s(approx (- y (- z x)) (fma.f64 (/.f64 (-.f64 x z) y) y y)) t)
#s(approx (- y (- z x)) (fma.f64 (/.f64 (-.f64 x z) y) y y))
(*.f64 y (-.f64 (/.f64 (-.f64 x z) y) #s(literal 2 binary64)))
(*.f64 (-.f64 (/.f64 (-.f64 x z) y) #s(literal 2 binary64)) y)
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (*.f64 (-.f64 x z) (-.f64 x z)) (*.f64 y y))) y) (-.f64 (/.f64 (-.f64 x z) y) #s(literal 2 binary64)))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (*.f64 (-.f64 x z) (-.f64 x z)) (*.f64 y y))) y) (fma.f64 (-.f64 (/.f64 (-.f64 x z) y) #s(literal 2 binary64)) (/.f64 z y) (/.f64 (-.f64 y x) y)))
(*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (*.f64 (-.f64 x z) (-.f64 x z)) (*.f64 y y))) (/.f64 y (-.f64 (/.f64 (-.f64 x z) y) #s(literal 2 binary64))))
(*.f64 (-.f64 (/.f64 (-.f64 x z) y) #s(literal 2 binary64)) (-.f64 #s(literal 2 binary64) (/.f64 (*.f64 (-.f64 x z) (-.f64 x z)) (*.f64 y y))))
(*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (*.f64 (-.f64 x z) (-.f64 x z)) (*.f64 y y))) (-.f64 (/.f64 (-.f64 x z) y) #s(literal 2 binary64)))
(*.f64 (fma.f64 (-.f64 (/.f64 (-.f64 x z) y) #s(literal 2 binary64)) (/.f64 z y) (/.f64 (-.f64 y x) y)) (-.f64 #s(literal 2 binary64) (/.f64 (*.f64 (-.f64 x z) (-.f64 x z)) (*.f64 y y))))
(*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (*.f64 (-.f64 x z) (-.f64 x z)) (*.f64 y y))) (fma.f64 (-.f64 (/.f64 (-.f64 x z) y) #s(literal 2 binary64)) (/.f64 z y) (/.f64 (-.f64 y x) y)))
(*.f64 (/.f64 (-.f64 #s(literal 2 binary64) (/.f64 (*.f64 (-.f64 x z) (-.f64 x z)) (*.f64 y y))) (fma.f64 (-.f64 (/.f64 (-.f64 y x) y) (/.f64 x y)) z (*.f64 (/.f64 (-.f64 y x) y) y))) (*.f64 (-.f64 (/.f64 (-.f64 y x) y) (/.f64 x y)) y))
(*.f64 (/.f64 (-.f64 y x) y) #s(literal 2 binary64))
(*.f64 (/.f64 (-.f64 y x) y) (/.f64 (-.f64 y x) y))
(*.f64 #s(literal 2 binary64) (/.f64 (-.f64 y x) y))
(*.f64 (+.f64 #s(literal 2 binary64) (fabs.f64 (/.f64 x y))) (-.f64 #s(literal 2 binary64) (fabs.f64 (/.f64 x y))))
(*.f64 (+.f64 (fabs.f64 (/.f64 x y)) #s(literal 2 binary64)) (-.f64 (fabs.f64 (/.f64 x y)) #s(literal 2 binary64)))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 2 binary64) #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) #s(literal 2 binary64))
(*.f64 (/.f64 x y) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (/.f64 x y))
(+.f64 (/.f64 x y) (/.f64 x y))
(/.f64 x y)
(/.f64 (/.f64 x y) #s(literal 2 binary64))
(/.f64 z y)
(/.f64 (neg.f64 z) (neg.f64 y))
(neg.f64 (neg.f64 (/.f64 z y)))

eval347.0ms (7.2%)

Memory
-17.4MiB live, 100.8MiB allocated; 368ms collecting garbage
Compiler

Compiled 5 517 to 1 038 computations (81.2% saved)

prune18.0ms (0.4%)

Memory
-16.1MiB live, 30.3MiB allocated; 6ms collecting garbage
Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New2164220
Fresh033
Picked235
Done000
Total21810228
Accuracy
100.0%
Counts
228 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.9%
(/.f64 (-.f64 #s(approx (+ x y) y) z) (*.f64 t #s(literal 2 binary64)))
30.8%
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
71.0%
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
58.0%
(/.f64 #s(approx (- (+ x y) z) (*.f64 y #s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y)))) (*.f64 t #s(literal 2 binary64)))
67.0%
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 #s(literal 1/2 binary64) #s(approx (/ (- x z) t) (/.f64 x t)))))
66.0%
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) #s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))))
68.2%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t)))
34.5%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))
38.3%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
38.5%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
Compiler

Compiled 311 to 244 computations (21.5% saved)

series196.0ms (4.1%)

Memory
19.2MiB live, 117.6MiB allocated; 33ms collecting garbage
Counts
27 → 83
Calls
Call 1
Inputs
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) (-.f64 x z))
(-.f64 x z)
x
z
(*.f64 t #s(literal 2 binary64))
t
#s(literal 2 binary64)
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
(-.f64 #s(approx (+ x y) y) z)
#s(approx (+ x y) y)
y
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
(*.f64 #s(literal 1/2 binary64) (/.f64 x t))
#s(literal 1/2 binary64)
(/.f64 x t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t)))
(*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t))
(/.f64 (+.f64 x y) t)
(+.f64 x y)
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) #s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))))
(fma.f64 #s(literal 1/2 binary64) (/.f64 y t) #s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t))))
(/.f64 y t)
#s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
(*.f64 #s(literal -1/2 binary64) (/.f64 z t))
#s(literal -1/2 binary64)
(/.f64 z t)
Outputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 y z) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 x t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 y z) t))))
#s(approx (- (+ x y) z) (-.f64 y z))
#s(approx (- (+ x y) z) (-.f64 (+.f64 x y) z))
#s(approx (- x z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- x z) (-.f64 x z))
#s(approx x x)
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 y z) t))
#s(approx (/ (- (+ x y) z) t) (-.f64 (+.f64 (/.f64 x t) (/.f64 y t)) (/.f64 z t)))
#s(approx (+ x y) y)
#s(approx (+ x y) (+.f64 x y))
#s(approx (* 1/2 (/ x t)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
#s(approx (/ x t) (/.f64 x t))
#s(approx (* 1/2 (/ (+ x y) t)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))
#s(approx (* 1/2 (/ (+ x y) t)) (fma.f64 #s(literal 1/2 binary64) (/.f64 x t) (*.f64 #s(literal 1/2 binary64) (/.f64 y t))))
#s(approx (/ (+ x y) t) (/.f64 y t))
#s(approx (/ (+ x y) t) (+.f64 (/.f64 x t) (/.f64 y t)))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (fma.f64 #s(literal -1/2 binary64) (/.f64 z t) (*.f64 #s(literal 1/2 binary64) (/.f64 y t))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (fma.f64 #s(literal -1/2 binary64) (/.f64 z t) (fma.f64 #s(literal 1/2 binary64) (/.f64 x t) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))))
#s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
#s(approx (* 1/2 (/ (- x z) t)) (fma.f64 #s(literal -1/2 binary64) (/.f64 z t) (*.f64 #s(literal 1/2 binary64) (/.f64 x t))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (/.f64 y t) (/.f64 z t)) x) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (- (+ x y) z) (*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 y x)) (/.f64 z x))))
#s(approx (- x z) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z x)))))
#s(approx (/ (- (+ x y) z) t) (*.f64 x (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) t) (/.f64 y (*.f64 t x))) (/.f64 z (*.f64 t x)))))
#s(approx (+ x y) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 y x))))
#s(approx (* 1/2 (/ (+ x y) t)) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (/.f64 y (*.f64 t x)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (/ (+ x y) t) (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) t) (/.f64 y (*.f64 t x)))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 x (fma.f64 #s(literal -1/2 binary64) (/.f64 z (*.f64 t x)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y (*.f64 t x)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (* 1/2 (/ (- x z) t)) (*.f64 x (fma.f64 #s(literal -1/2 binary64) (/.f64 z (*.f64 t x)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 (/.f64 y t) (/.f64 z t)) x)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (- (+ x y) z) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 y z) x)) #s(literal 1 binary64)))))
#s(approx (- x z) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (/.f64 z x) #s(literal 1 binary64)))))
#s(approx (/ (- (+ x y) z) t) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 y t) (/.f64 z t)) x)) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (+ x y) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y x)) #s(literal 1 binary64)))))
#s(approx (* 1/2 (/ (+ x y) t)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 y (*.f64 t x))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (/ (+ x y) t) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y (*.f64 t x))) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 z t) (*.f64 #s(literal 1/2 binary64) (/.f64 y t))) x)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 z (*.f64 t x))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t))))
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (/.f64 x t) (/.f64 z t)) y) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (- (+ x y) z) (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y))))
#s(approx (/ (- (+ x y) z) t) (*.f64 y (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) t) (/.f64 x (*.f64 t y))) (/.f64 z (*.f64 t y)))))
#s(approx (+ x y) (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 x y))))
#s(approx (* 1/2 (/ (+ x y) t)) (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 x (*.f64 t y)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (/ (+ x y) t) (*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) t) (/.f64 x (*.f64 t y)))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) (*.f64 t y)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 (/.f64 x t) (/.f64 z t)) y)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (- (+ x y) z) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 x z) y)) #s(literal 1 binary64)))))
#s(approx (/ (- (+ x y) z) t) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 x t) (/.f64 z t)) y)) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (+ x y) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x y)) #s(literal 1 binary64)))))
#s(approx (* 1/2 (/ (+ x y) t)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 x (*.f64 t y))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (/ (+ x y) t) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 t y))) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 x z) (*.f64 t y))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal -1/2 binary64) (/.f64 z t) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t))))
#s(approx (- (+ x y) z) (+.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) z))))
#s(approx (- x z) (+.f64 x (*.f64 #s(literal -1 binary64) z)))
#s(approx z z)
#s(approx (/ (- (+ x y) z) t) (/.f64 (+.f64 x y) t))
#s(approx (/ (- (+ x y) z) t) (fma.f64 #s(literal -1 binary64) (/.f64 z t) (+.f64 (/.f64 x t) (/.f64 y t))))
#s(approx (/ z t) (/.f64 z t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 z (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 (/.f64 x t) (/.f64 y t)) z)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (- (+ x y) z) (*.f64 z (-.f64 (+.f64 (/.f64 x z) (/.f64 y z)) #s(literal 1 binary64))))
#s(approx (- x z) (*.f64 z (-.f64 (/.f64 x z) #s(literal 1 binary64))))
#s(approx (/ (- (+ x y) z) t) (*.f64 #s(literal -1 binary64) (/.f64 z t)))
#s(approx (/ (- (+ x y) z) t) (*.f64 z (-.f64 (+.f64 (/.f64 x (*.f64 t z)) (/.f64 y (*.f64 t z))) (/.f64 #s(literal 1 binary64) t))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 z (-.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 x (*.f64 t z)) (*.f64 #s(literal 1/2 binary64) (/.f64 y (*.f64 t z)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (* 1/2 (/ (- x z) t)) (*.f64 z (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 x (*.f64 t z))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1/2 binary64) (/.f64 (+.f64 (/.f64 x t) (/.f64 y t)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (- (+ x y) z) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))))))
#s(approx (- x z) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 x z))))))
#s(approx (/ (- (+ x y) z) t) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 x t) (/.f64 y t)) z) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 x t) (*.f64 #s(literal 1/2 binary64) (/.f64 y t))) z) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1/2 binary64) (/.f64 x (*.f64 t z)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (+.f64 x y) z) t)))
#s(approx (* t 2) (*.f64 #s(literal 2 binary64) t))
#s(approx t t)
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 (+.f64 x y) z) t))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (/.f64 (fma.f64 #s(literal 1/2 binary64) y (*.f64 #s(literal 1/2 binary64) (-.f64 x z))) t))
#s(approx (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/2 binary64) y (*.f64 #s(literal -1/2 binary64) (-.f64 x z))) t)))
Calls

12 calls:

TimeVariablePoint
29.0ms
y
inf
4.0ms
t
-inf
4.0ms
y
-inf
4.0ms
t
0
3.0ms
x
-inf

rewrite337.0ms (7%)

Memory
32.3MiB live, 217.0MiB allocated; 35ms collecting garbage
Counts
27 → 72
Calls
Call 1
Inputs
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) (-.f64 x z))
(-.f64 x z)
x
z
(*.f64 t #s(literal 2 binary64))
t
#s(literal 2 binary64)
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
(-.f64 #s(approx (+ x y) y) z)
#s(approx (+ x y) y)
y
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
(*.f64 #s(literal 1/2 binary64) (/.f64 x t))
#s(literal 1/2 binary64)
(/.f64 x t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t)))
(*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t))
(/.f64 (+.f64 x y) t)
(+.f64 x y)
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) #s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))))
(fma.f64 #s(literal 1/2 binary64) (/.f64 y t) #s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t))))
(/.f64 y t)
#s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
(*.f64 #s(literal -1/2 binary64) (/.f64 z t))
#s(literal -1/2 binary64)
(/.f64 z t)
Outputs
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
#s(approx (- (+ x y) z) (-.f64 x z))
(*.f64 (+.f64 z x) (/.f64 (-.f64 x z) (+.f64 z x)))
(*.f64 (/.f64 (*.f64 (+.f64 z x) (-.f64 x z)) (*.f64 (+.f64 z x) (-.f64 x z))) (-.f64 x z))
(*.f64 (/.f64 (*.f64 (+.f64 z x) (-.f64 x z)) (fma.f64 (*.f64 x x) x (*.f64 (*.f64 z z) z))) (fma.f64 z (-.f64 z x) (*.f64 x x)))
(*.f64 (fma.f64 (+.f64 z x) z (*.f64 x x)) (/.f64 (-.f64 x z) (fma.f64 (+.f64 z x) z (*.f64 x x))))
(*.f64 (/.f64 (-.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 z z) z)) (fma.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 x x)) x (pow.f64 (*.f64 (+.f64 z x) z) #s(literal 3 binary64)))) (fma.f64 (*.f64 (+.f64 z x) z) (-.f64 (*.f64 (+.f64 z x) z) (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x x))))
x
(neg.f64 (neg.f64 x))
z
(neg.f64 (neg.f64 z))
(*.f64 t #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) t)
(*.f64 (+.f64 t t) #s(literal 1 binary64))
(*.f64 (neg.f64 #s(literal 2 binary64)) (neg.f64 t))
(*.f64 (neg.f64 t) (neg.f64 #s(literal 2 binary64)))
t
(*.f64 t #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) t)
(neg.f64 (neg.f64 t))
#s(literal 2 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 (+.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))) (cosh.f64 (/.f64 (-.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 2 binary64)))))
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
(-.f64 #s(approx (+ x y) y) z)
#s(approx (+ x y) y)
y
(neg.f64 (neg.f64 y))
#s(approx (/ (- (+ x y) z) (* 2 t)) (/.f64 (*.f64 x #s(literal 1/2 binary64)) t))
(*.f64 #s(literal 1/2 binary64) (/.f64 x t))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
(*.f64 x (/.f64 #s(literal 1/2 binary64) t))
(*.f64 (neg.f64 x) (/.f64 #s(literal 1/2 binary64) (neg.f64 t)))
(/.f64 (*.f64 x #s(literal 1/2 binary64)) t)
#s(literal 1/2 binary64)
(neg.f64 (neg.f64 #s(literal 1/2 binary64)))
(/.f64 x t)
(/.f64 (neg.f64 x) (neg.f64 t))
(neg.f64 (neg.f64 (/.f64 x t)))
#s(approx (/ (- (+ x y) z) (* 2 t)) (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) t)))
(*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) t))
(*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t))
(*.f64 (/.f64 (+.f64 x y) t) #s(literal 1/2 binary64))
(*.f64 (neg.f64 (+.f64 x y)) (/.f64 #s(literal 1/2 binary64) (neg.f64 t)))
(+.f64 (/.f64 (*.f64 x #s(literal 1/2 binary64)) t) (/.f64 (*.f64 y #s(literal 1/2 binary64)) t))
(*.f64 (/.f64 (+.f64 x y) (-.f64 x y)) (/.f64 (-.f64 x y) t))
(*.f64 (/.f64 (fma.f64 (-.f64 y x) y (*.f64 x x)) (fma.f64 (-.f64 y x) y (*.f64 x x))) (/.f64 (+.f64 x y) t))
(*.f64 (+.f64 x y) (/.f64 (-.f64 x y) (*.f64 (-.f64 x y) t)))
(*.f64 (fma.f64 (-.f64 y x) y (*.f64 x x)) (/.f64 (+.f64 x y) (*.f64 (fma.f64 (-.f64 y x) y (*.f64 x x)) t)))
(+.f64 (/.f64 x t) (/.f64 y t))
(*.f64 (+.f64 x y) (/.f64 (-.f64 x y) (-.f64 x y)))
(*.f64 (/.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (-.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 y y) y))) (fma.f64 (+.f64 x y) y (*.f64 x x)))
(*.f64 (/.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (*.f64 (+.f64 x y) (-.f64 x y))) (+.f64 x y))
(*.f64 (fma.f64 (-.f64 y x) y (*.f64 x x)) (/.f64 (+.f64 x y) (fma.f64 (-.f64 y x) y (*.f64 x x))))
(*.f64 (/.f64 (fma.f64 (*.f64 x x) x (*.f64 (*.f64 y y) y)) (fma.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 x x)) x (pow.f64 (*.f64 (-.f64 y x) y) #s(literal 3 binary64)))) (fma.f64 (*.f64 (-.f64 y x) y) (-.f64 (*.f64 (-.f64 y x) y) (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x x))))
#s(approx (/ (- (+ x y) z) (* 2 t)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) #s(approx (* 1/2 (/ (- x z) t)) (/.f64 (*.f64 z #s(literal -1/2 binary64)) t))))
(fma.f64 #s(literal 1/2 binary64) (/.f64 y t) #s(approx (* 1/2 (/ (- x z) t)) (/.f64 (*.f64 z #s(literal -1/2 binary64)) t)))
(/.f64 y t)
(/.f64 (neg.f64 y) (neg.f64 t))
(neg.f64 (neg.f64 (/.f64 y t)))
#s(approx (* 1/2 (/ (- x z) t)) (/.f64 (*.f64 z #s(literal -1/2 binary64)) t))
(*.f64 #s(literal -1/2 binary64) (/.f64 z t))
(*.f64 (/.f64 z t) #s(literal -1/2 binary64))
(*.f64 z (/.f64 #s(literal -1/2 binary64) t))
(*.f64 (neg.f64 z) (/.f64 #s(literal -1/2 binary64) (neg.f64 t)))
(/.f64 (*.f64 z #s(literal -1/2 binary64)) t)
#s(literal -1/2 binary64)
(/.f64 z t)
(/.f64 (neg.f64 z) (neg.f64 t))
(neg.f64 (neg.f64 (/.f64 z t)))

eval29.0ms (0.6%)

Memory
-19.2MiB live, 26.4MiB allocated; 26ms collecting garbage
Compiler

Compiled 3 901 to 722 computations (81.5% saved)

prune10.0ms (0.2%)

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

12 alts after pruning (5 fresh and 7 done)

PrunedKeptTotal
New1584162
Fresh112
Picked145
Done033
Total16012172
Accuracy
100.0%
Counts
172 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.9%
(/.f64 (-.f64 #s(approx (+ x y) y) z) (*.f64 t #s(literal 2 binary64)))
30.8%
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
71.0%
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
58.0%
(/.f64 #s(approx (- (+ x y) z) (*.f64 y #s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y)))) (*.f64 t #s(literal 2 binary64)))
66.0%
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) #s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))))
68.2%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t)))
34.5%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))
38.3%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
67.0%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (+.f64 (/.f64 x t) (/.f64 y t))))
38.5%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
34.1%
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
30.5%
#s(approx (/ (- (+ x y) z) t) (/.f64 (+.f64 x y) t))
Compiler

Compiled 280 to 220 computations (21.4% saved)

series176.0ms (3.6%)

Memory
-30.7MiB live, 109.5MiB allocated; 32ms collecting garbage
Counts
26 → 101
Calls
Call 1
Inputs
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
#s(approx (- (+ x y) z) (-.f64 x z))
(-.f64 x z)
x
z
(+.f64 t t)
t
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
(/.f64 (-.f64 x z) t)
#s(approx (/ (- (+ x y) z) t) (/.f64 (+.f64 x y) t))
(/.f64 (+.f64 x y) t)
(+.f64 x y)
y
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (+.f64 (/.f64 x t) (/.f64 y t))))
(*.f64 #s(literal 1/2 binary64) (+.f64 (/.f64 x t) (/.f64 y t)))
#s(literal 1/2 binary64)
(+.f64 (/.f64 x t) (/.f64 y t))
(/.f64 x t)
(/.f64 y t)
(/.f64 #s(approx (- (+ x y) z) (*.f64 y #s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y)))) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) (*.f64 y #s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y))))
(*.f64 y #s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y)))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y))
(/.f64 (-.f64 x z) y)
(*.f64 t #s(literal 2 binary64))
#s(literal 2 binary64)
Outputs
#s(approx (/ (- (+ x y) z) (+ t t)) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 y z) t)))
#s(approx (/ (- (+ x y) z) (+ t t)) (fma.f64 #s(literal 1/2 binary64) (/.f64 x t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 y z) t))))
#s(approx (- (+ x y) z) (-.f64 y z))
#s(approx (- (+ x y) z) (-.f64 (+.f64 x y) z))
#s(approx (- x z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- x z) (-.f64 x z))
#s(approx x x)
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 y z) t))
#s(approx (/ (- (+ x y) z) t) (-.f64 (+.f64 (/.f64 x t) (/.f64 y t)) (/.f64 z t)))
#s(approx (/ (- x z) t) (*.f64 #s(literal -1 binary64) (/.f64 z t)))
#s(approx (/ (- x z) t) (fma.f64 #s(literal -1 binary64) (/.f64 z t) (/.f64 x t)))
#s(approx (/ (+ x y) t) (/.f64 y t))
#s(approx (/ (+ x y) t) (+.f64 (/.f64 x t) (/.f64 y t)))
#s(approx (+ x y) y)
#s(approx (+ x y) (+.f64 x y))
#s(approx (* 1/2 (+ (/ x t) (/ y t))) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))
#s(approx (* 1/2 (+ (/ x t) (/ y t))) (fma.f64 #s(literal 1/2 binary64) (/.f64 x t) (*.f64 #s(literal 1/2 binary64) (/.f64 y t))))
#s(approx (/ x t) (/.f64 x t))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (*.f64 y (-.f64 #s(literal 1 binary64) (/.f64 z y))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (+.f64 x (*.f64 y (-.f64 #s(literal 1 binary64) (/.f64 z y)))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (-.f64 #s(literal 1 binary64) (/.f64 z y)))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y)))
#s(approx (/ (- x z) y) (*.f64 #s(literal -1 binary64) (/.f64 z y)))
#s(approx (/ (- x z) y) (fma.f64 #s(literal -1 binary64) (/.f64 z y) (/.f64 x y)))
#s(approx (/ (- (+ x y) z) (+ t t)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
#s(approx (/ (- (+ x y) z) (+ t t)) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (/.f64 y t) (/.f64 z t)) x) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (- (+ x y) z) (*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 y x)) (/.f64 z x))))
#s(approx (- x z) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z x)))))
#s(approx (/ (- (+ x y) z) t) (*.f64 x (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) t) (/.f64 y (*.f64 t x))) (/.f64 z (*.f64 t x)))))
#s(approx (/ (- x z) t) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 t x)) (/.f64 #s(literal 1 binary64) t))))
#s(approx (/ (+ x y) t) (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) t) (/.f64 y (*.f64 t x)))))
#s(approx (+ x y) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 y x))))
#s(approx (* 1/2 (+ (/ x t) (/ y t))) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (/.f64 y (*.f64 t x)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y (-.f64 #s(literal 1 binary64) (/.f64 z y))) x))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 x y))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (*.f64 x (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) x) (/.f64 #s(literal 1 binary64) y)) (/.f64 z (*.f64 x y)))))
#s(approx (/ (- x z) y) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z (*.f64 x y)) (/.f64 #s(literal 1 binary64) y))))
#s(approx (/ (- (+ x y) z) (+ t t)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 (/.f64 y t) (/.f64 z t)) x)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (- (+ x y) z) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 y z) x)) #s(literal 1 binary64)))))
#s(approx (- x z) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (/.f64 z x) #s(literal 1 binary64)))))
#s(approx (/ (- (+ x y) z) t) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 y t) (/.f64 z t)) x)) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (/ (- x z) t) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (/.f64 z (*.f64 t x)) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (/ (+ x y) t) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y (*.f64 t x))) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (+ x y) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y x)) #s(literal 1 binary64)))))
#s(approx (* 1/2 (+ (/ x t) (/ y t))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 y (*.f64 t x))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 #s(literal 1 binary64) (/.f64 z y))) x)) #s(literal 1 binary64)))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 #s(literal 1 binary64) (/.f64 z y)) x)) (/.f64 #s(literal 1 binary64) y)))))
#s(approx (/ (- x z) y) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (/.f64 z (*.f64 x y)) (/.f64 #s(literal 1 binary64) y)))))
#s(approx (/ (- (+ x y) z) (+ t t)) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t)))
#s(approx (/ (- (+ x y) z) (+ t t)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t))))
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 (+.f64 x y) z) y))
#s(approx (/ (- (+ x y) z) (+ t t)) (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (/.f64 x t) (/.f64 z t)) y) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (- (+ x y) z) (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y))))
#s(approx (/ (- (+ x y) z) t) (*.f64 y (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) t) (/.f64 x (*.f64 t y))) (/.f64 z (*.f64 t y)))))
#s(approx (/ (+ x y) t) (*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) t) (/.f64 x (*.f64 t y)))))
#s(approx (+ x y) (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 x y))))
#s(approx (* 1/2 (+ (/ x t) (/ y t))) (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 x (*.f64 t y)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) #s(literal 1 binary64))
#s(approx (/ (- (+ x y) z) (+ t t)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 (/.f64 x t) (/.f64 z t)) y)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (- (+ x y) z) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 x z) y)) #s(literal 1 binary64)))))
#s(approx (/ (- (+ x y) z) t) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 x t) (/.f64 z t)) y)) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (/ (+ x y) t) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 t y))) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (+ x y) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x y)) #s(literal 1 binary64)))))
#s(approx (* 1/2 (+ (/ x t) (/ y t))) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 x (*.f64 t y))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x y)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z y)))))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal -1 binary64) z)) y))))
#s(approx (/ (- (+ x y) z) (+ t t)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t)))
#s(approx (/ (- (+ x y) z) (+ t t)) (fma.f64 #s(literal -1/2 binary64) (/.f64 z t) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t))))
#s(approx (- (+ x y) z) (+.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) z))))
#s(approx (- x z) (+.f64 x (*.f64 #s(literal -1 binary64) z)))
#s(approx z z)
#s(approx (/ (- (+ x y) z) t) (/.f64 (+.f64 x y) t))
#s(approx (/ (- (+ x y) z) t) (fma.f64 #s(literal -1 binary64) (/.f64 z t) (+.f64 (/.f64 x t) (/.f64 y t))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (fma.f64 #s(literal -1 binary64) z (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 x y)))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (+.f64 #s(literal 1 binary64) (/.f64 x y)))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 z y) (/.f64 x y))))
#s(approx (/ (- (+ x y) z) (+ t t)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
#s(approx (/ (- (+ x y) z) (+ t t)) (*.f64 z (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 (/.f64 x t) (/.f64 y t)) z)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (- (+ x y) z) (*.f64 z (-.f64 (+.f64 (/.f64 x z) (/.f64 y z)) #s(literal 1 binary64))))
#s(approx (- x z) (*.f64 z (-.f64 (/.f64 x z) #s(literal 1 binary64))))
#s(approx (/ (- (+ x y) z) t) (*.f64 z (-.f64 (+.f64 (/.f64 x (*.f64 t z)) (/.f64 y (*.f64 t z))) (/.f64 #s(literal 1 binary64) t))))
#s(approx (/ (- x z) t) (*.f64 z (-.f64 (/.f64 x (*.f64 t z)) (/.f64 #s(literal 1 binary64) t))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (*.f64 z (-.f64 (/.f64 (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 x y))) z) #s(literal 1 binary64))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (*.f64 z (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 x (*.f64 y z))) (/.f64 #s(literal 1 binary64) y))))
#s(approx (/ (- x z) y) (*.f64 z (-.f64 (/.f64 x (*.f64 y z)) (/.f64 #s(literal 1 binary64) y))))
#s(approx (/ (- (+ x y) z) (+ t t)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1/2 binary64) (/.f64 (+.f64 (/.f64 x t) (/.f64 y t)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t))))))
#s(approx (- (+ x y) z) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x y) z))))))
#s(approx (- x z) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 x z))))))
#s(approx (/ (- (+ x y) z) t) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 x t) (/.f64 y t)) z) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (/ (- x z) t) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 x (*.f64 t z)) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (* y (- (+ 1 (/ x y)) (/ z y))) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (+.f64 #s(literal 1 binary64) (/.f64 x y))) z))))))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) z) (/.f64 #s(literal 1 binary64) y)))))
#s(approx (/ (- x z) y) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 x (*.f64 y z)) (/.f64 #s(literal 1 binary64) y)))))
#s(approx (/ (- (+ x y) z) (+ t t)) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (+.f64 x y) z) t)))
#s(approx (+ t t) (*.f64 #s(literal 2 binary64) t))
#s(approx t t)
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 (+.f64 x y) z) t))
#s(approx (* 1/2 (+ (/ x t) (/ y t))) (*.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) y)) t)))
#s(approx (+ (/ x t) (/ y t)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) y)) t)))
Calls

12 calls:

TimeVariablePoint
8.0ms
t
-inf
4.0ms
x
-inf
2.0ms
x
inf
2.0ms
y
-inf
2.0ms
x
0

rewrite188.0ms (3.9%)

Memory
7.0MiB live, 97.8MiB allocated; 11ms collecting garbage
Counts
26 → 87
Calls
Call 1
Inputs
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
#s(approx (- (+ x y) z) (-.f64 x z))
(-.f64 x z)
x
z
(+.f64 t t)
t
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
(/.f64 (-.f64 x z) t)
#s(approx (/ (- (+ x y) z) t) (/.f64 (+.f64 x y) t))
(/.f64 (+.f64 x y) t)
(+.f64 x y)
y
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (+.f64 (/.f64 x t) (/.f64 y t))))
(*.f64 #s(literal 1/2 binary64) (+.f64 (/.f64 x t) (/.f64 y t)))
#s(literal 1/2 binary64)
(+.f64 (/.f64 x t) (/.f64 y t))
(/.f64 x t)
(/.f64 y t)
(/.f64 #s(approx (- (+ x y) z) (*.f64 y #s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y)))) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) (*.f64 y #s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y))))
(*.f64 y #s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y)))
#s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y))
(/.f64 (-.f64 x z) y)
(*.f64 t #s(literal 2 binary64))
#s(literal 2 binary64)
Outputs
(/.f64 #s(approx 2 #s(literal 2 binary64)) #s(literal 2 binary64))
#s(approx 2 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y
z
(neg.f64 (neg.f64 z))
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y
#s(approx 2 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y
#s(approx 2 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y
#s(approx 2 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
(*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64))
(*.f64 (/.f64 #s(literal 1/2 binary64) #s(literal 2 binary64)) #s(literal 2 binary64))
(*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64))
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y
(/.f64 #s(approx 2 (*.f64 #s(literal 2 binary64) #s(approx 2 #s(literal 2 binary64)))) #s(literal 2 binary64))
#s(approx 2 (*.f64 #s(literal 2 binary64) #s(approx 2 #s(literal 2 binary64))))
(*.f64 #s(literal 2 binary64) #s(approx 2 #s(literal 2 binary64)))
#s(approx 2 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
x
y

eval16.0ms (0.3%)

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

Compiled 3 548 to 670 computations (81.1% saved)

prune11.0ms (0.2%)

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

20 alts after pruning (12 fresh and 8 done)

PrunedKeptTotal
New13912151
Fresh000
Picked145
Done347
Total14320163
Accuracy
100.0%
Counts
163 → 20
Alt Table
Click to see full alt table
StatusAccuracyProgram
30.8%
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
67.9%
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
71.0%
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
58.0%
(/.f64 #s(approx (- (+ x y) z) (*.f64 y #s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y)))) (*.f64 t #s(literal 2 binary64)))
34.5%
(/.f64 #s(approx (- (+ x y) z) y) (+.f64 t t))
38.3%
(/.f64 #s(approx (- (+ x y) z) x) (+.f64 t t))
3.5%
(/.f64 #s(approx (- (+ x y) z) #s(literal 1 binary64)) (+.f64 t t))
66.0%
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) #s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))))
3.2%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
3.1%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
3.2%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
68.2%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t)))
67.0%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (+.f64 (/.f64 x t) (/.f64 y t))))
38.5%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
34.1%
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
15.7%
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(approx (+ x y) y) t))
19.5%
#s(approx (/ (- (+ x y) z) t) (/.f64 x t))
3.5%
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 2 binary64) t))
3.5%
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
3.0%
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
Compiler

Compiled 288 to 238 computations (17.4% saved)

regimes704.0ms (14.6%)

Memory
-4.7MiB live, 604.8MiB allocated; 338ms collecting garbage
Accuracy

Total -0.9b remaining (-0.2%)

Threshold costs -0.9b (-0.2%)

Counts
2 → 1
3 → 1
4 → 1
5 → 1
8 → 2
9 → 2
12 → 2
13 → 3
14 → 4
17 → 3
18 → 2
22 → 2
29 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
Outputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
Call 2
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
Outputs
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
Call 3
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 2 binary64) t))
Outputs
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 2 binary64) t))
Call 4
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 2 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 x t))
Outputs
#s(approx (/ (- (+ x y) z) t) (/.f64 x t))
Call 5
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 2 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 x t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(approx (+ x y) y) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
Outputs
#s(approx (/ (- (+ x y) z) t) (/.f64 x t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(approx (+ x y) y) t))
Call 6
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 2 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 x t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(approx (+ x y) y) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
Outputs
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(approx (+ x y) y) t))
Call 7
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 2 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 x t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(approx (+ x y) y) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
#s(approx (/ (- (+ x y) z) t) (/.f64 (+.f64 x y) t))
(/.f64 #s(approx (- (+ x y) z) #s(literal 1 binary64)) (+.f64 t t))
Outputs
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
Call 8
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 2 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 x t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(approx (+ x y) y) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
#s(approx (/ (- (+ x y) z) t) (/.f64 (+.f64 x y) t))
(/.f64 #s(approx (- (+ x y) z) #s(literal 1 binary64)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) x) (+.f64 t t))
Outputs
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
(/.f64 #s(approx (- (+ x y) z) x) (+.f64 t t))
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
Call 9
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 2 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 x t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(approx (+ x y) y) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
#s(approx (/ (- (+ x y) z) t) (/.f64 (+.f64 x y) t))
(/.f64 #s(approx (- (+ x y) z) #s(literal 1 binary64)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) x) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) y) (+.f64 t t))
Outputs
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
(/.f64 #s(approx (- (+ x y) z) x) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) y) (+.f64 t t))
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
Call 10
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 2 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 x t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(approx (+ x y) y) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
#s(approx (/ (- (+ x y) z) t) (/.f64 (+.f64 x y) t))
(/.f64 #s(approx (- (+ x y) z) #s(literal 1 binary64)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) x) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) y) (+.f64 t t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))
Outputs
(/.f64 #s(approx (- (+ x y) z) x) (+.f64 t t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
(/.f64 #s(approx (- (+ x y) z) y) (+.f64 t t))
Call 11
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 2 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 x t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(approx (+ x y) y) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
#s(approx (/ (- (+ x y) z) t) (/.f64 (+.f64 x y) t))
(/.f64 #s(approx (- (+ x y) z) #s(literal 1 binary64)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) x) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) y) (+.f64 t t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
Outputs
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) y) (+.f64 t t))
Call 12
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 2 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 x t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(approx (+ x y) y) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
#s(approx (/ (- (+ x y) z) t) (/.f64 (+.f64 x y) t))
(/.f64 #s(approx (- (+ x y) z) #s(literal 1 binary64)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) x) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) y) (+.f64 t t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
(/.f64 (-.f64 #s(approx (+ x y) y) z) (*.f64 t #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t)))
Outputs
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
Call 13
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 0 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 1 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(literal 2 binary64) t))
#s(approx (/ (- (+ x y) z) t) (/.f64 x t))
#s(approx (/ (- (+ x y) z) t) (/.f64 #s(approx (+ x y) y) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) t) (/.f64 (-.f64 x z) t))
(/.f64 (-.f64 #s(approx (+ x y) y) z) t)
#s(approx (/ (- (+ x y) z) t) (/.f64 (+.f64 x y) t))
(/.f64 #s(approx (- (+ x y) z) #s(literal 1 binary64)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) x) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) y) (+.f64 t t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
(/.f64 (-.f64 #s(approx (+ x y) y) z) (*.f64 t #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t)))
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (+.f64 (/.f64 x t) (/.f64 y t))))
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) #s(approx (* 1/2 (/ (- x z) t)) (*.f64 #s(literal -1/2 binary64) (/.f64 z t)))))
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 #s(literal 1/2 binary64) #s(approx (/ (- x z) t) (/.f64 x t)))))
(/.f64 #s(approx (- (+ x y) z) (*.f64 y #s(approx (- (+ 1 (/ x y)) (/ z y)) (/.f64 (-.f64 x z) y)))) (*.f64 t #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 x z) t))))
(/.f64 #s(approx (- (+ x y) z) (*.f64 y (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 x y)) (/.f64 z y)))) (*.f64 t #s(literal 2 binary64)))
Outputs
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
Calls

89 calls:

219.0ms
y
39.0ms
(+.f64 x y)
27.0ms
z
25.0ms
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
18.0ms
t
Results
AccuracySegmentsBranch
3.2%1z
3.2%1(*.f64 t #s(literal 2 binary64))
3.2%1y
3.2%1t
3.2%1(+.f64 x y)
3.2%1(-.f64 (+.f64 x y) z)
3.2%1x
3.2%1(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
3.5%1(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
3.5%1y
3.5%1(+.f64 x y)
3.5%1(-.f64 (+.f64 x y) z)
3.5%1z
3.5%1(*.f64 t #s(literal 2 binary64))
3.5%1t
3.5%1x
3.5%1(-.f64 (+.f64 x y) z)
3.5%1(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
3.5%1x
3.5%1y
3.5%1z
3.5%1(*.f64 t #s(literal 2 binary64))
3.5%1(+.f64 x y)
3.5%1t
19.5%1(*.f64 t #s(literal 2 binary64))
19.5%1t
19.5%1y
19.5%1x
19.5%1(+.f64 x y)
19.5%1(-.f64 (+.f64 x y) z)
19.5%1(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
19.5%1(*.f64 t #s(literal 2 binary64))
19.5%1t
30.7%2(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
28.6%2x
30.7%2(-.f64 (+.f64 x y) z)
19.5%1z
27.2%2y
30.5%2(+.f64 x y)
40.8%2y
36.2%2x
37.4%2(-.f64 (+.f64 x y) z)
36.1%2(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
41.0%2(+.f64 x y)
35.7%2(*.f64 t #s(literal 2 binary64))
35.7%2t
40.8%3z
41.2%2y
41.5%2x
43.2%2(-.f64 (+.f64 x y) z)
43.2%2(+.f64 x y)
43.2%2(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
49.8%3z
49.4%2y
56.7%2(-.f64 (+.f64 x y) z)
54.4%2x
58.5%2(+.f64 x y)
60.8%3(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
77.7%4(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
47.6%2(*.f64 t #s(literal 2 binary64))
47.6%2t
72.5%3(+.f64 x y)
70.5%3x
68.3%2(-.f64 (+.f64 x y) z)
77.7%4(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
67.5%3y
64.8%5z
80.9%3(+.f64 x y)
85.7%2y
80.0%2x
81.3%2(-.f64 (+.f64 x y) z)
86.6%3(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
89.0%2(+.f64 x y)
76.8%3(*.f64 t #s(literal 2 binary64))
99.9%2(+.f64 x y)
99.3%2(-.f64 (+.f64 x y) z)
99.3%2(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
92.7%2x
92.2%2y
89.2%3z
76.8%3t
100.0%1(*.f64 t #s(literal 2 binary64))
100.0%1(+.f64 x y)
100.0%1(-.f64 (+.f64 x y) z)
100.0%1(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
100.0%1x
100.0%1y
100.0%1z
100.0%1t
Compiler

Compiled 718 to 578 computations (19.5% saved)

bsearch1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-4.3787384124221926e-190
-1.752073910350832e-215
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
9.094745218793303e+80
1.4395055266516734e+81
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch1.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
9.094745218793303e+80
1.4395055266516734e+81
0.0ms
-1.3526073315925865e-46
-4.608885199863356e-59
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.954630668603461e+305
+inf
0.0ms
-9.050657147165434e-287
0.0
0.0ms
-inf
-2.299483916367692e+293
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-9.719172653985572e-276
-9.050657147165434e-287
0.0ms
-inf
-2.299483916367692e+293
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-4.3787384124221926e-190
-1.752073910350832e-215
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5.0821817232623075e+153
1.3832109571538825e+158
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-4.3787384124221926e-190
2.4853881561311198e-164
Compiler

Compiled 12 to 16 computations (-33.3% saved)

derivations4.0ms (0.1%)

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

Compiled 399 to 76 computations (81% saved)

preprocess245.0ms (5.1%)

Memory
11.4MiB live, 290.8MiB allocated; 112ms collecting garbage
Remove

(sort x y)

Compiler

Compiled 2 466 to 1 223 computations (50.4% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...