Statistics.Distribution.Beta:$cvariance from math-functions-0.1.5.2

Time bar (total: 4.3s)

start0.0ms (0%)

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

analyze83.0ms (1.9%)

Memory
-27.0MiB live, 69.5MiB allocated; 28ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
50%49.9%49.9%0.1%0%0%0%4
50%49.9%49.9%0.1%0%0%0%5
50%49.9%49.9%0.1%0%0%0%6
75%74.9%25%0.1%0%0%0%7
75%74.9%25%0.1%0%0%0%8
75%74.9%25%0.1%0%0%0%9
75%74.9%25%0.1%0%0%0%10
75%74.9%25%0.1%0%0%0%11
75%74.9%25%0.1%0%0%0%12
Compiler

Compiled 13 to 11 computations (15.4% saved)

sample987.0ms (23%)

Memory
36.0MiB live, 661.2MiB allocated; 386ms collecting garbage
Samples
758.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 360.0ms
ival-mult!: 204.0ms (56.7% of total)
ival-div!: 131.0ms (36.4% of total)
ival-add!: 23.0ms (6.4% of total)
adjust: 2.0ms (0.6% of total)
Bogosity

preprocess51.0ms (1.2%)

Memory
-25.3MiB live, 74.6MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035110
1205110
21549110
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
59.3%
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
Symmetry

(abs x)

(abs y)

(abs z)

(negabs x)

(negabs y)

(negabs z)

(sort x y)

Compiler

Compiled 22 to 18 computations (18.2% saved)

series194.0ms (4.5%)

Memory
14.4MiB live, 196.5MiB allocated; 48ms collecting garbage
Counts
9 → 23
Calls
Call 1
Inputs
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
(*.f64 x y)
x
y
(*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64)))
(*.f64 z z)
z
(+.f64 z #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (/.f64 (*.f64 x y) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) z))))
#s(approx (* x y) (*.f64 x y))
#s(approx x x)
#s(approx y y)
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y z)) (*.f64 x y)) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (/.f64 (fma.f64 x y (*.f64 z (-.f64 (*.f64 x (*.f64 y z)) (*.f64 x y)))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (/.f64 (fma.f64 x y (*.f64 z (-.f64 (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y z))) (*.f64 #s(literal -1 binary64) (*.f64 x y)))) (*.f64 x y)))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (* z z) (+ z 1)) (pow.f64 z #s(literal 2 binary64)))
#s(approx (* (* z z) (+ z 1)) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) z)))
#s(approx z z)
#s(approx (+ z 1) #s(literal 1 binary64))
#s(approx (+ z 1) (+.f64 #s(literal 1 binary64) z))
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z) (*.f64 x y)) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (/.f64 (-.f64 (fma.f64 x y (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64)))) (/.f64 (*.f64 x y) z)) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 3 binary64))) (*.f64 x y)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64))) (/.f64 (*.f64 x y) z))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (* z z) (+ z 1)) (pow.f64 z #s(literal 3 binary64)))
#s(approx (* (* z z) (+ z 1)) (*.f64 (pow.f64 z #s(literal 3 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) z))))
#s(approx (+ z 1) (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) z))))
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (/.f64 (*.f64 x y) z)) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 x y) z) (*.f64 x y)) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 x y) z) (*.f64 x y)) z)) (*.f64 x y)) z))) (pow.f64 z #s(literal 3 binary64)))))
Calls

9 calls:

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

rewrite255.0ms (5.9%)

Memory
-14.3MiB live, 178.7MiB allocated; 78ms collecting garbage
Counts
9 → 37
Calls
Call 1
Inputs
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
(*.f64 x y)
x
y
(*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64)))
(*.f64 z z)
z
(+.f64 z #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 y (+.f64 z #s(literal 1 binary64))))
(*.f64 (/.f64 y (*.f64 z z)) (/.f64 x (+.f64 z #s(literal 1 binary64))))
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
(*.f64 x y)
(*.f64 y x)
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 (neg.f64 (neg.f64 x)) y)
x
y
(*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64)))
(*.f64 (+.f64 z #s(literal 1 binary64)) (*.f64 z z))
(*.f64 (fma.f64 z z z) z)
(*.f64 z (fma.f64 z z z))
(*.f64 (*.f64 (fma.f64 z z z) z) #s(literal 1 binary64))
(*.f64 z z)
(*.f64 (*.f64 z z) #s(literal 1 binary64))
(*.f64 (fabs.f64 z) z)
(*.f64 (fabs.f64 z) (fabs.f64 z))
(*.f64 (fabs.f64 z) (neg.f64 z))
z
(*.f64 z #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) z)
(*.f64 (neg.f64 #s(literal 1 binary64)) (neg.f64 z))
(*.f64 (neg.f64 z) (neg.f64 #s(literal 1 binary64)))
(*.f64 (+.f64 z #s(literal 1 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (+.f64 z #s(literal 1 binary64)))
(*.f64 (/.f64 (fma.f64 z z #s(literal -1 binary64)) (fma.f64 z z #s(literal -1 binary64))) (+.f64 z #s(literal 1 binary64)))
(*.f64 (+.f64 z #s(literal 1 binary64)) (/.f64 (-.f64 z #s(literal 1 binary64)) (-.f64 z #s(literal 1 binary64))))
(*.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 z z)) (-.f64 #s(literal 1 binary64) (*.f64 z z))) (+.f64 z #s(literal 1 binary64)))
#s(literal 1 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(*.f64 (neg.f64 #s(literal 1 binary64)) (neg.f64 #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)) #s(literal 1 binary64))

eval9.0ms (0.2%)

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

Compiled 966 to 217 computations (77.5% saved)

prune6.0ms (0.1%)

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

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New48553
Fresh000
Picked011
Done000
Total48654
Accuracy
96.7%
Counts
54 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
59.3%
(/.f64 (*.f64 x y) (*.f64 (fma.f64 z z z) z))
59.3%
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
53.6%
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) #s(approx (+ z 1) #s(literal 1 binary64))))
60.6%
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
65.0%
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
61.6%
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
Compiler

Compiled 117 to 87 computations (25.6% saved)

series197.0ms (4.6%)

Memory
-28.4MiB live, 159.1MiB allocated; 64ms collecting garbage
Counts
19 → 63
Calls
Call 1
Inputs
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
(/.f64 x (fma.f64 z z z))
x
(fma.f64 z z z)
z
(/.f64 y z)
y
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) #s(approx (+ z 1) #s(literal 1 binary64))))
(*.f64 x y)
(*.f64 (*.f64 z z) #s(approx (+ z 1) #s(literal 1 binary64)))
(*.f64 z z)
#s(approx (+ z 1) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
(/.f64 x (*.f64 (fma.f64 z z z) z))
(*.f64 (fma.f64 z z z) z)
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
(/.f64 y (*.f64 (fma.f64 z z z) z))
(/.f64 (*.f64 x y) (*.f64 (fma.f64 z z z) z))
Outputs
#s(approx (* (/ x (+ (* z z) z)) (/ y z)) (/.f64 (*.f64 x y) (*.f64 z (+.f64 z (pow.f64 z #s(literal 2 binary64))))))
#s(approx (/ x (+ (* z z) z)) (/.f64 x (+.f64 z (pow.f64 z #s(literal 2 binary64)))))
#s(approx x x)
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (/.f64 (*.f64 x y) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) z))))
#s(approx (* x y) (*.f64 x y))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 x (*.f64 z (+.f64 z (pow.f64 z #s(literal 2 binary64))))))
#s(approx (/ y z) (/.f64 y z))
#s(approx y y)
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 y (*.f64 z (+.f64 z (pow.f64 z #s(literal 2 binary64))))))
#s(approx (* (/ x (+ (* z z) z)) (/ y z)) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ x (+ (* z z) z)) (/ y z)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y z)) (*.f64 x y)) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ x (+ (* z z) z)) (/ y z)) (/.f64 (fma.f64 x y (*.f64 z (-.f64 (*.f64 x (*.f64 y z)) (*.f64 x y)))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ x (+ (* z z) z)) (/ y z)) (/.f64 (fma.f64 x y (*.f64 z (-.f64 (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y z))) (*.f64 #s(literal -1 binary64) (*.f64 x y)))) (*.f64 x y)))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (+ (* z z) z)) (/.f64 x z))
#s(approx (/ x (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x z))) z))
#s(approx (/ x (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 z (-.f64 (*.f64 x z) x))) z))
#s(approx (/ x (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 z (-.f64 (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x z)) (*.f64 #s(literal -1 binary64) x))) x))) z))
#s(approx (+ (* z z) z) z)
#s(approx (+ (* z z) z) (*.f64 z (+.f64 #s(literal 1 binary64) z)))
#s(approx (* (* z z) (+ z 1)) (pow.f64 z #s(literal 2 binary64)))
#s(approx (* (* z z) (+ z 1)) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) z)))
#s(approx (+ z 1) #s(literal 1 binary64))
#s(approx (+ z 1) (+.f64 #s(literal 1 binary64) z))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 x (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 (+.f64 x (*.f64 z (-.f64 (*.f64 x z) x))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 (+.f64 x (*.f64 z (-.f64 (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x z)) (*.f64 #s(literal -1 binary64) x))) x))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 y (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (*.f64 y z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 (+.f64 y (*.f64 z (-.f64 (*.f64 y z) y))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 (+.f64 y (*.f64 z (-.f64 (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 y z)) (*.f64 #s(literal -1 binary64) y))) y))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ x (+ (* z z) z)) (/ y z)) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (/ x (+ (* z z) z)) (/ y z)) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z) (*.f64 x y)) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (/ x (+ (* z z) z)) (/ y z)) (/.f64 (-.f64 (fma.f64 x y (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64)))) (/.f64 (*.f64 x y) z)) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (/ x (+ (* z z) z)) (/ y z)) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 3 binary64))) (*.f64 x y)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64))) (/.f64 (*.f64 x y) z))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ x (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (+ (* z z) z)) (/.f64 (-.f64 (+.f64 x (/.f64 x (pow.f64 z #s(literal 2 binary64)))) (/.f64 x z)) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (+ (* z z) z)) (/.f64 (-.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 3 binary64))))) (fma.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 2 binary64))) (/.f64 x z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (+ (* z z) z) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) z))))
#s(approx (* (* z z) (+ z 1)) (pow.f64 z #s(literal 3 binary64)))
#s(approx (* (* z z) (+ z 1)) (*.f64 (pow.f64 z #s(literal 3 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) z))))
#s(approx (+ z 1) (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) z))))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 x (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x z))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 (-.f64 (+.f64 x (/.f64 x (pow.f64 z #s(literal 2 binary64)))) (/.f64 x z)) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 (-.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 3 binary64))))) (fma.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 2 binary64))) (/.f64 x z))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 y (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 y z))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 (-.f64 (+.f64 y (/.f64 y (pow.f64 z #s(literal 2 binary64)))) (/.f64 y z)) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 y (pow.f64 z #s(literal 3 binary64))))) (fma.f64 #s(literal -1 binary64) (/.f64 y (pow.f64 z #s(literal 2 binary64))) (/.f64 y z))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (/ x (+ (* z z) z)) (/ y z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (/.f64 (*.f64 x y) z)) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (* (/ x (+ (* z z) z)) (/ y z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (/.f64 (*.f64 x y) z)) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (* (/ x (+ (* z z) z)) (/ y z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (/.f64 (*.f64 x y) z)) z))) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ x (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x z)) (*.f64 #s(literal -1 binary64) x)) z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x z)) (*.f64 #s(literal -1 binary64) x)) z)) (*.f64 #s(literal -1 binary64) x)) z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 x y) z) (*.f64 x y)) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ (* x y) (* (* z z) (+ z 1))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 x y) z) (*.f64 x y)) z)) (*.f64 x y)) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ x (* (+ (* z z) z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (/.f64 x z)) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ x (* (+ (* z z) z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (/.f64 x z)) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ x (* (+ (* z z) z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (/.f64 x z)) z))) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ y (* (+ (* z z) z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 y z)) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ y (* (+ (* z z) z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 y z)) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ y (* (+ (* z z) z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 y z)) z))) z))) (pow.f64 z #s(literal 3 binary64)))))
Calls

9 calls:

TimeVariablePoint
7.0ms
x
inf
7.0ms
x
0
3.0ms
x
-inf
3.0ms
y
-inf
2.0ms
z
-inf

rewrite228.0ms (5.3%)

Memory
28.3MiB live, 214.5MiB allocated; 27ms collecting garbage
Counts
19 → 77
Calls
Call 1
Inputs
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
(/.f64 x (fma.f64 z z z))
x
(fma.f64 z z z)
z
(/.f64 y z)
y
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) #s(approx (+ z 1) #s(literal 1 binary64))))
(*.f64 x y)
(*.f64 (*.f64 z z) #s(approx (+ z 1) #s(literal 1 binary64)))
(*.f64 z z)
#s(approx (+ z 1) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
(/.f64 x (*.f64 (fma.f64 z z z) z))
(*.f64 (fma.f64 z z z) z)
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
(/.f64 y (*.f64 (fma.f64 z z z) z))
(/.f64 (*.f64 x y) (*.f64 (fma.f64 z z z) z))
Outputs
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 y (-.f64 #s(literal 1 binary64) z)))
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 (neg.f64 y) (-.f64 #s(literal 1 binary64) z)))
(*.f64 (/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (fma.f64 z z z))
(*.f64 (/.f64 x (fma.f64 (*.f64 z z) (*.f64 z z) z)) (fma.f64 (-.f64 #s(literal 1 binary64) z) z #s(literal 1 binary64)))
(*.f64 (/.f64 (neg.f64 x) (fma.f64 (*.f64 z z) (*.f64 z z) z)) (fma.f64 (-.f64 #s(literal 1 binary64) z) z #s(literal 1 binary64)))
(*.f64 (/.f64 x (*.f64 (fma.f64 (*.f64 z z) z #s(literal 1 binary64)) (*.f64 (*.f64 z z) z))) (*.f64 (*.f64 z z) (fma.f64 (-.f64 #s(literal 1 binary64) z) z #s(literal 1 binary64))))
(*.f64 (/.f64 x (*.f64 (fma.f64 z z #s(literal -1 binary64)) z)) (-.f64 z #s(literal 1 binary64)))
x
(neg.f64 (neg.f64 x))
(*.f64 (fabs.f64 z) (-.f64 #s(literal 1 binary64) z))
(*.f64 (-.f64 #s(literal 1 binary64) z) (neg.f64 z))
(*.f64 (-.f64 #s(literal 1 binary64) z) z)
(*.f64 (-.f64 #s(literal 1 binary64) z) (fabs.f64 z))
(*.f64 (-.f64 z #s(literal 1 binary64)) z)
z
(*.f64 z #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) z)
(*.f64 (neg.f64 #s(literal 1 binary64)) (neg.f64 z))
(*.f64 (neg.f64 z) (neg.f64 #s(literal 1 binary64)))
(/.f64 y z)
(/.f64 (/.f64 y #s(literal 1 binary64)) z)
(/.f64 (/.f64 y z) #s(literal 1 binary64))
(/.f64 (neg.f64 y) (neg.f64 z))
(neg.f64 (neg.f64 (/.f64 y z)))
y
(neg.f64 (neg.f64 y))
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) #s(approx (+ z 1) #s(literal 1 binary64))))
(*.f64 x y)
(*.f64 y x)
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 (neg.f64 y) (neg.f64 x))
(neg.f64 (neg.f64 (*.f64 x y)))
(*.f64 (*.f64 z z) #s(approx (+ z 1) #s(literal 1 binary64)))
(*.f64 z z)
(*.f64 (*.f64 z z) #s(literal 1 binary64))
(*.f64 (*.f64 z z) (neg.f64 #s(literal 1 binary64)))
(*.f64 (fabs.f64 z) z)
(*.f64 (fabs.f64 z) (fabs.f64 z))
#s(approx (+ z 1) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(*.f64 (neg.f64 #s(literal 1 binary64)) (neg.f64 #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)) #s(literal 1 binary64))
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 y (-.f64 #s(literal 1 binary64) z)))
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 (neg.f64 y) (-.f64 #s(literal 1 binary64) z)))
(*.f64 (/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (-.f64 z #s(literal 1 binary64)))
(*.f64 (/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (/.f64 (fma.f64 z z z) z))
(*.f64 (/.f64 (/.f64 x z) (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (fma.f64 z z z))
(*.f64 (/.f64 x (*.f64 (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64))) z)) (fma.f64 z z z))
(*.f64 (/.f64 (neg.f64 x) (*.f64 (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64))) z)) (fma.f64 z z z))
(*.f64 (fma.f64 z z z) z)
(*.f64 (*.f64 z z) (-.f64 #s(literal 1 binary64) z))
(*.f64 (*.f64 z z) (-.f64 z #s(literal 1 binary64)))
(*.f64 (fabs.f64 z) (fma.f64 z z z))
(*.f64 (-.f64 #s(literal 1 binary64) z) (*.f64 z z))
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 y (-.f64 #s(literal 1 binary64) z)))
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 (neg.f64 y) (-.f64 #s(literal 1 binary64) z)))
(*.f64 (/.f64 y (fma.f64 z z #s(literal -1 binary64))) (/.f64 (-.f64 z #s(literal 1 binary64)) (*.f64 z z)))
(*.f64 (/.f64 y (fma.f64 (*.f64 z z) z #s(literal 1 binary64))) (/.f64 (fma.f64 (-.f64 #s(literal 1 binary64) z) z #s(literal 1 binary64)) (*.f64 z z)))
(*.f64 (/.f64 y (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (-.f64 z #s(literal 1 binary64)))
(*.f64 (/.f64 y (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (/.f64 (fma.f64 z z z) z))
(*.f64 (/.f64 y (*.f64 (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64))) z)) (fma.f64 z z z))
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 y (-.f64 #s(literal 1 binary64) z)))
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 (neg.f64 y) (-.f64 #s(literal 1 binary64) z)))

eval17.0ms (0.4%)

Memory
-11.2MiB live, 34.3MiB allocated; 4ms collecting garbage
Compiler

Compiled 3 358 to 608 computations (81.9% saved)

prune7.0ms (0.2%)

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

12 alts after pruning (7 fresh and 5 done)

PrunedKeptTotal
New1727179
Fresh000
Picked145
Done011
Total17312185
Accuracy
96.7%
Counts
185 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
59.3%
(/.f64 (*.f64 x y) (*.f64 (fma.f64 z z z) z))
53.6%
(/.f64 (*.f64 x y) (*.f64 (*.f64 (fabs.f64 z) z) #s(approx (+ z 1) #s(literal 1 binary64))))
59.3%
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
53.6%
(/.f64 (*.f64 x y) (*.f64 #s(approx (+ (* z z) z) z) z))
60.6%
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
53.8%
(*.f64 (/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z)) x)
65.0%
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
61.6%
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
56.3%
(*.f64 (/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z)) y)
53.4%
(*.f64 (/.f64 x #s(approx (+ (* z z) z) z)) (/.f64 y z))
34.8%
(*.f64 (*.f64 (/.f64 (/.f64 x z) (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (fma.f64 z z z)) y)
58.3%
(*.f64 (*.f64 (/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (-.f64 z #s(literal 1 binary64))) y)
Compiler

Compiled 253 to 179 computations (29.2% saved)

series219.0ms (5.1%)

Memory
10.0MiB live, 241.6MiB allocated; 29ms collecting garbage
Counts
22 → 93
Calls
Call 1
Inputs
(*.f64 (*.f64 (/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (-.f64 z #s(literal 1 binary64))) y)
(*.f64 (/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (-.f64 z #s(literal 1 binary64)))
(/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64))))
x
(*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))
(*.f64 z z)
z
(fma.f64 z z #s(literal 1 binary64))
#s(literal 1 binary64)
(-.f64 z #s(literal 1 binary64))
y
(*.f64 (/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z)) y)
(/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z))
(*.f64 #s(approx (+ (* z z) z) z) z)
#s(approx (+ (* z z) z) z)
(*.f64 (/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z)) x)
(/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z))
(/.f64 (*.f64 x y) (*.f64 #s(approx (+ (* z z) z) z) z))
(*.f64 x y)
(*.f64 (/.f64 x #s(approx (+ (* z z) z) z)) (/.f64 y z))
(/.f64 x #s(approx (+ (* z z) z) z))
(/.f64 y z)
Outputs
#s(approx (* (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) y) (/.f64 (*.f64 x (*.f64 y (-.f64 z #s(literal 1 binary64)))) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64))))))
#s(approx (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) (/.f64 (*.f64 x (-.f64 z #s(literal 1 binary64))) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64))))))
#s(approx (/ x (* (* z z) (+ (* z z) 1))) (/.f64 x (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64))))))
#s(approx x x)
#s(approx (* (/ x (* (+ (* z z) z) z)) y) (/.f64 (*.f64 x y) (*.f64 z (+.f64 z (pow.f64 z #s(literal 2 binary64))))))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 x (*.f64 z (+.f64 z (pow.f64 z #s(literal 2 binary64))))))
#s(approx (* x y) (*.f64 x y))
#s(approx (/ x (+ (* z z) z)) (/.f64 x (+.f64 z (pow.f64 z #s(literal 2 binary64)))))
#s(approx y y)
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 y (*.f64 z (+.f64 z (pow.f64 z #s(literal 2 binary64))))))
#s(approx (/ y z) (/.f64 y z))
#s(approx (* (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) y) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64)))))
#s(approx (* (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) y) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 x (*.f64 y z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) y) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 z (fma.f64 x y (*.f64 x (*.f64 y z))))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) y) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 z (fma.f64 x y (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y z))) (*.f64 #s(literal -1 binary64) (*.f64 x y))))))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) (*.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 2 binary64)))))
#s(approx (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 x z)) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 z (+.f64 x (*.f64 x z)))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 z (+.f64 x (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x z)) (*.f64 #s(literal -1 binary64) x)))))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (* (* z z) (+ (* z z) 1))) (/.f64 x (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (* (* z z) (+ (* z z) 1))) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x (pow.f64 z #s(literal 2 binary64))))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (* (* z z) (+ (* z z) 1))) (/.f64 (+.f64 x (*.f64 (pow.f64 z #s(literal 2 binary64)) (-.f64 (*.f64 x (pow.f64 z #s(literal 2 binary64))) x))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (* (* z z) (+ (* z z) 1))) (/.f64 (+.f64 x (*.f64 (pow.f64 z #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 z #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x (pow.f64 z #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) x))) x))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (* z z) (+ (* z z) 1)) (pow.f64 z #s(literal 2 binary64)))
#s(approx (* (* z z) (+ (* z z) 1)) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64)))))
#s(approx z z)
#s(approx (+ (* z z) 1) #s(literal 1 binary64))
#s(approx (+ (* z z) 1) (+.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64))))
#s(approx (- z 1) #s(literal -1 binary64))
#s(approx (- z 1) (-.f64 z #s(literal 1 binary64)))
#s(approx (* (/ x (* (+ (* z z) z) z)) y) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ x (* (+ (* z z) z) z)) y) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y z)) (*.f64 x y)) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ x (* (+ (* z z) z) z)) y) (/.f64 (fma.f64 x y (*.f64 z (-.f64 (*.f64 x (*.f64 y z)) (*.f64 x y)))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ x (* (+ (* z z) z) z)) y) (/.f64 (fma.f64 x y (*.f64 z (-.f64 (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y z))) (*.f64 #s(literal -1 binary64) (*.f64 x y)))) (*.f64 x y)))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 (+.f64 x (*.f64 z (-.f64 (*.f64 x z) x))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 (+.f64 x (*.f64 z (-.f64 (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x z)) (*.f64 #s(literal -1 binary64) x))) x))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (+ (* z z) z) z) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) z)))
#s(approx (+ (* z z) z) (*.f64 z (+.f64 #s(literal 1 binary64) z)))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 y (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (*.f64 y z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 (+.f64 y (*.f64 z (-.f64 (*.f64 y z) y))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 (+.f64 y (*.f64 z (-.f64 (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 y z)) (*.f64 #s(literal -1 binary64) y))) y))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (+ (* z z) z)) (/.f64 x z))
#s(approx (/ x (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x z))) z))
#s(approx (/ x (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 z (-.f64 (*.f64 x z) x))) z))
#s(approx (/ x (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 z (-.f64 (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x z)) (*.f64 #s(literal -1 binary64) x))) x))) z))
#s(approx (* (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) y) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) y) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z) (*.f64 x y)) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) y) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64))) (*.f64 x y))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) y) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z) (fma.f64 x y (/.f64 (*.f64 x y) (pow.f64 z #s(literal 3 binary64))))) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64)))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) (/.f64 x (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x z))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) (/.f64 (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 x z) (*.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 2 binary64)))))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) (/.f64 (-.f64 (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 x z) (/.f64 x (pow.f64 z #s(literal 3 binary64))))) (/.f64 x (pow.f64 z #s(literal 2 binary64)))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ x (* (* z z) (+ (* z z) 1))) (/.f64 x (pow.f64 z #s(literal 4 binary64))))
#s(approx (/ x (* (* z z) (+ (* z z) 1))) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 2 binary64))))) (pow.f64 z #s(literal 4 binary64))))
#s(approx (/ x (* (* z z) (+ (* z z) 1))) (/.f64 (-.f64 (+.f64 x (/.f64 x (pow.f64 z #s(literal 4 binary64)))) (/.f64 x (pow.f64 z #s(literal 2 binary64)))) (pow.f64 z #s(literal 4 binary64))))
#s(approx (/ x (* (* z z) (+ (* z z) 1))) (/.f64 (-.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 6 binary64))))) (fma.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 4 binary64))) (/.f64 x (pow.f64 z #s(literal 2 binary64))))) (pow.f64 z #s(literal 4 binary64))))
#s(approx (* (* z z) (+ (* z z) 1)) (pow.f64 z #s(literal 4 binary64)))
#s(approx (* (* z z) (+ (* z z) 1)) (*.f64 (pow.f64 z #s(literal 4 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64))))))
#s(approx (+ (* z z) 1) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64))))))
#s(approx (- z 1) (*.f64 z (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) z))))
#s(approx (* (/ x (* (+ (* z z) z) z)) y) (/.f64 (-.f64 (fma.f64 x y (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64)))) (/.f64 (*.f64 x y) z)) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (/ x (* (+ (* z z) z) z)) y) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 3 binary64))) (*.f64 x y)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64))) (/.f64 (*.f64 x y) z))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 (-.f64 (+.f64 x (/.f64 x (pow.f64 z #s(literal 2 binary64)))) (/.f64 x z)) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ x (* (+ (* z z) z) z)) (/.f64 (-.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 3 binary64))))) (fma.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 2 binary64))) (/.f64 x z))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (+ (* z z) z) z) (pow.f64 z #s(literal 3 binary64)))
#s(approx (* (+ (* z z) z) z) (*.f64 (pow.f64 z #s(literal 3 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) z))))
#s(approx (+ (* z z) z) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) z))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 y (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 y z))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 (-.f64 (+.f64 y (/.f64 y (pow.f64 z #s(literal 2 binary64)))) (/.f64 y z)) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ y (* (+ (* z z) z) z)) (/.f64 (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 y (pow.f64 z #s(literal 3 binary64))))) (fma.f64 #s(literal -1 binary64) (/.f64 y (pow.f64 z #s(literal 2 binary64))) (/.f64 y z))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ x (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (+ (* z z) z)) (/.f64 (-.f64 (+.f64 x (/.f64 x (pow.f64 z #s(literal 2 binary64)))) (/.f64 x z)) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (+ (* z z) z)) (/.f64 (-.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 3 binary64))))) (fma.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 2 binary64))) (/.f64 x z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (/.f64 (*.f64 x y) z)) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (* (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z))) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (* (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z) (*.f64 x y)) z))) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (/.f64 x z)) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 x z))) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (* (/ x (* (* z z) (+ (* z z) 1))) (- z 1)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x z))) z))) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (- z 1) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (/.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)))))
#s(approx (* (/ x (* (+ (* z z) z) z)) y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (/.f64 (*.f64 x y) z)) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (* (/ x (* (+ (* z z) z) z)) y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (/.f64 (*.f64 x y) z)) z))) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ x (* (+ (* z z) z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (/.f64 x z)) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ x (* (+ (* z z) z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (/.f64 x z)) z))) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ y (* (+ (* z z) z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 y z)) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ y (* (+ (* z z) z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 y z)) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ y (* (+ (* z z) z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (/.f64 y z)) z))) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ x (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x z)) (*.f64 #s(literal -1 binary64) x)) z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ x (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x z)) (*.f64 #s(literal -1 binary64) x)) z)) (*.f64 #s(literal -1 binary64) x)) z))) (pow.f64 z #s(literal 2 binary64))))
Calls

9 calls:

TimeVariablePoint
7.0ms
x
0
5.0ms
x
-inf
3.0ms
x
inf
3.0ms
y
-inf
2.0ms
y
inf

rewrite265.0ms (6.2%)

Memory
-4.8MiB live, 151.5MiB allocated; 72ms collecting garbage
Counts
22 → 68
Calls
Call 1
Inputs
(*.f64 (*.f64 (/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (-.f64 z #s(literal 1 binary64))) y)
(*.f64 (/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (-.f64 z #s(literal 1 binary64)))
(/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64))))
x
(*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))
(*.f64 z z)
z
(fma.f64 z z #s(literal 1 binary64))
#s(literal 1 binary64)
(-.f64 z #s(literal 1 binary64))
y
(*.f64 (/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z)) y)
(/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z))
(*.f64 #s(approx (+ (* z z) z) z) z)
#s(approx (+ (* z z) z) z)
(*.f64 (/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z)) x)
(/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z))
(/.f64 (*.f64 x y) (*.f64 #s(approx (+ (* z z) z) z) z))
(*.f64 x y)
(*.f64 (/.f64 x #s(approx (+ (* z z) z) z)) (/.f64 y z))
(/.f64 x #s(approx (+ (* z z) z) z))
(/.f64 y z)
Outputs
(*.f64 (/.f64 (*.f64 (-.f64 z #s(literal 1 binary64)) x) (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) y)
(*.f64 (/.f64 y (fma.f64 (*.f64 z z) z (fabs.f64 z))) (/.f64 (*.f64 (-.f64 z #s(literal 1 binary64)) x) (fabs.f64 z)))
(*.f64 (/.f64 y (*.f64 (fma.f64 z z #s(literal -1 binary64)) z)) (/.f64 (*.f64 (-.f64 z #s(literal 1 binary64)) x) (neg.f64 z)))
(*.f64 (/.f64 y (fma.f64 (*.f64 z z) z z)) (*.f64 (-.f64 z #s(literal 1 binary64)) (/.f64 x z)))
(*.f64 (/.f64 (*.f64 (-.f64 z #s(literal 1 binary64)) x) (fma.f64 z z #s(literal 1 binary64))) (/.f64 y (*.f64 z z)))
(*.f64 (/.f64 (-.f64 z #s(literal 1 binary64)) (*.f64 z z)) (/.f64 x (fma.f64 z z #s(literal 1 binary64))))
(*.f64 (/.f64 (-.f64 z #s(literal 1 binary64)) (*.f64 z z)) (/.f64 (neg.f64 x) (fma.f64 z z #s(literal 1 binary64))))
(*.f64 (/.f64 (-.f64 z #s(literal 1 binary64)) (fma.f64 z z #s(literal -1 binary64))) (/.f64 x (*.f64 z z)))
(*.f64 (/.f64 (-.f64 z #s(literal 1 binary64)) (fma.f64 z z #s(literal 1 binary64))) (/.f64 x (*.f64 z z)))
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 (-.f64 z #s(literal 1 binary64)) (fma.f64 z z #s(literal 1 binary64))))
(*.f64 (/.f64 x (*.f64 (fma.f64 (*.f64 z z) (*.f64 z z) #s(literal -1 binary64)) (*.f64 z z))) (fma.f64 z z #s(literal -1 binary64)))
(*.f64 (/.f64 x (*.f64 (fma.f64 (*.f64 z z) (*.f64 z z) #s(literal -1 binary64)) (*.f64 z z))) (fma.f64 z z #s(literal 1 binary64)))
(*.f64 (/.f64 x (*.f64 (fma.f64 (*.f64 (*.f64 z z) z) (*.f64 (*.f64 z z) z) #s(literal 1 binary64)) (*.f64 z z))) (neg.f64 (fma.f64 (*.f64 z z) (fma.f64 z z #s(literal -1 binary64)) #s(literal 1 binary64))))
(*.f64 (/.f64 x (*.f64 (fma.f64 (*.f64 (*.f64 z z) z) (*.f64 (*.f64 z z) z) #s(literal 1 binary64)) (*.f64 z z))) (fma.f64 (*.f64 z z) (fma.f64 z z #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (fma.f64 z z #s(literal -1 binary64)) (/.f64 x (*.f64 (fma.f64 (*.f64 z z) (*.f64 z z) #s(literal -1 binary64)) (*.f64 z z))))
x
(neg.f64 (neg.f64 x))
(*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))
(*.f64 (*.f64 z z) (fma.f64 z z #s(literal -1 binary64)))
(*.f64 (fma.f64 z z #s(literal -1 binary64)) (*.f64 z z))
(*.f64 (fma.f64 z z #s(literal 1 binary64)) (*.f64 z z))
(*.f64 (fma.f64 z z z) (fma.f64 z z z))
(*.f64 z z)
(*.f64 (*.f64 z z) #s(literal 1 binary64))
(*.f64 (*.f64 z z) (neg.f64 #s(literal 1 binary64)))
(*.f64 (fabs.f64 z) z)
(*.f64 (fabs.f64 z) (fabs.f64 z))
z
(*.f64 z #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) z)
(*.f64 (neg.f64 #s(literal 1 binary64)) (neg.f64 z))
(*.f64 (neg.f64 z) (neg.f64 #s(literal 1 binary64)))
(*.f64 (-.f64 #s(literal 1 binary64) z) (-.f64 #s(literal 1 binary64) z))
(*.f64 (-.f64 z #s(literal 1 binary64)) (-.f64 z #s(literal 1 binary64)))
(*.f64 (fma.f64 z z #s(literal 1 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (fma.f64 z z #s(literal 1 binary64)))
(*.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) z)) (fabs.f64 (-.f64 #s(literal 1 binary64) z)))
#s(literal 1 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(*.f64 (neg.f64 #s(literal 1 binary64)) (neg.f64 #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)) #s(literal 1 binary64))
(*.f64 (neg.f64 #s(literal 1 binary64)) (-.f64 #s(literal 1 binary64) z))
(*.f64 #s(literal 1 binary64) (-.f64 z #s(literal 1 binary64)))
(*.f64 (/.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) (/.f64 (-.f64 z #s(literal 1 binary64)) (-.f64 #s(literal 1 binary64) z)))
(*.f64 (/.f64 (fma.f64 z z #s(literal -1 binary64)) (fma.f64 z z #s(literal -1 binary64))) (-.f64 z #s(literal 1 binary64)))
(*.f64 (/.f64 (fma.f64 z z #s(literal -1 binary64)) (fma.f64 z z #s(literal 1 binary64))) (-.f64 #s(literal 1 binary64) z))
y
(neg.f64 (neg.f64 y))
(*.f64 (/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z)) y)
(/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z))
(*.f64 #s(approx (+ (* z z) z) z) z)
#s(approx (+ (* z z) z) z)
(*.f64 (/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z)) x)
(/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z))
(/.f64 (*.f64 x y) (*.f64 #s(approx (+ (* z z) z) z) z))
(*.f64 x y)
(*.f64 y x)
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 (neg.f64 y) (neg.f64 x))
(neg.f64 (neg.f64 (*.f64 x y)))
(*.f64 (/.f64 x #s(approx (+ (* z z) z) z)) (/.f64 y z))
(/.f64 x #s(approx (+ (* z z) z) z))
(/.f64 y z)
(/.f64 (/.f64 y #s(literal 1 binary64)) z)
(/.f64 (/.f64 y z) #s(literal 1 binary64))
(/.f64 (neg.f64 y) (neg.f64 z))
(neg.f64 (neg.f64 (/.f64 y z)))

eval39.0ms (0.9%)

Memory
-1.3MiB live, 43.8MiB allocated; 8ms collecting garbage
Compiler

Compiled 4 571 to 842 computations (81.6% saved)

prune14.0ms (0.3%)

Memory
-26.1MiB live, 20.0MiB allocated; 5ms collecting garbage
Pruning

12 alts after pruning (2 fresh and 10 done)

PrunedKeptTotal
New1920192
Fresh022
Picked055
Done055
Total19212204
Accuracy
96.7%
Counts
204 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
59.3%
(/.f64 (*.f64 x y) (*.f64 (fma.f64 z z z) z))
53.6%
(/.f64 (*.f64 x y) (*.f64 (*.f64 (fabs.f64 z) z) #s(approx (+ z 1) #s(literal 1 binary64))))
59.3%
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
53.6%
(/.f64 (*.f64 x y) (*.f64 #s(approx (+ (* z z) z) z) z))
60.6%
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
53.8%
(*.f64 (/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z)) x)
65.0%
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
61.6%
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
56.3%
(*.f64 (/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z)) y)
53.4%
(*.f64 (/.f64 x #s(approx (+ (* z z) z) z)) (/.f64 y z))
34.8%
(*.f64 (*.f64 (/.f64 (/.f64 x z) (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (fma.f64 z z z)) y)
58.3%
(*.f64 (*.f64 (/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (-.f64 z #s(literal 1 binary64))) y)
Compiler

Compiled 152 to 108 computations (28.9% saved)

series272.0ms (6.3%)

Memory
33.3MiB live, 269.0MiB allocated; 35ms collecting garbage
Counts
18 → 67
Calls
Call 1
Inputs
(*.f64 (*.f64 (/.f64 (/.f64 x z) (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (fma.f64 z z z)) y)
(*.f64 (/.f64 (/.f64 x z) (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (fma.f64 z z z))
(/.f64 (/.f64 x z) (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64))))
(/.f64 x z)
x
z
(*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))
(*.f64 z z)
(fma.f64 z z #s(literal 1 binary64))
#s(literal 1 binary64)
(fma.f64 z z z)
y
(/.f64 (*.f64 x y) (*.f64 (*.f64 (fabs.f64 z) z) #s(approx (+ z 1) #s(literal 1 binary64))))
(*.f64 x y)
(*.f64 (*.f64 (fabs.f64 z) z) #s(approx (+ z 1) #s(literal 1 binary64)))
(*.f64 (fabs.f64 z) z)
(fabs.f64 z)
#s(approx (+ z 1) #s(literal 1 binary64))
Outputs
#s(approx (* (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) y) (/.f64 (*.f64 x (*.f64 y (+.f64 z (pow.f64 z #s(literal 2 binary64))))) (*.f64 (pow.f64 z #s(literal 3 binary64)) (+.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64))))))
#s(approx (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) (/.f64 (*.f64 x (+.f64 z (pow.f64 z #s(literal 2 binary64)))) (*.f64 (pow.f64 z #s(literal 3 binary64)) (+.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64))))))
#s(approx (/ (/ x z) (* (* z z) (+ (* z z) 1))) (/.f64 x (*.f64 (pow.f64 z #s(literal 3 binary64)) (+.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64))))))
#s(approx (/ x z) (/.f64 x z))
#s(approx x x)
#s(approx (/ (* x y) (* (* (fabs z) z) (+ z 1))) (/.f64 (*.f64 x y) (*.f64 z (*.f64 (fabs.f64 z) (+.f64 #s(literal 1 binary64) z)))))
#s(approx (* x y) (*.f64 x y))
#s(approx y y)
#s(approx (* (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) y) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) y) (/.f64 (fma.f64 x y (*.f64 x (*.f64 y z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) y) (/.f64 (fma.f64 x y (*.f64 z (fma.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y z)) (*.f64 x y)))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) y) (/.f64 (fma.f64 x y (*.f64 z (fma.f64 x y (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y z))) (*.f64 x y)))))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) (/.f64 x (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 x z)) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 z (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x z))))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) (/.f64 (+.f64 x (*.f64 z (+.f64 x (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x z)) x))))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ (/ x z) (* (* z z) (+ (* z z) 1))) (/.f64 x (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ (/ x z) (* (* z z) (+ (* z z) 1))) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x (pow.f64 z #s(literal 2 binary64))))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ (/ x z) (* (* z z) (+ (* z z) 1))) (/.f64 (+.f64 x (*.f64 (pow.f64 z #s(literal 2 binary64)) (-.f64 (*.f64 x (pow.f64 z #s(literal 2 binary64))) x))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ (/ x z) (* (* z z) (+ (* z z) 1))) (/.f64 (+.f64 x (*.f64 (pow.f64 z #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 z #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x (pow.f64 z #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) x))) x))) (pow.f64 z #s(literal 3 binary64))))
#s(approx z z)
#s(approx (* (* z z) (+ (* z z) 1)) (pow.f64 z #s(literal 2 binary64)))
#s(approx (* (* z z) (+ (* z z) 1)) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64)))))
#s(approx (+ (* z z) 1) #s(literal 1 binary64))
#s(approx (+ (* z z) 1) (+.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64))))
#s(approx (+ (* z z) z) (*.f64 z (+.f64 #s(literal 1 binary64) z)))
#s(approx (/ (* x y) (* (* (fabs z) z) (+ z 1))) (/.f64 (*.f64 x y) (*.f64 z (fabs.f64 z))))
#s(approx (/ (* x y) (* (* (fabs z) z) (+ z 1))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (*.f64 y z)) (fabs.f64 z)) (/.f64 (*.f64 x y) (fabs.f64 z))) z))
#s(approx (/ (* x y) (* (* (fabs z) z) (+ z 1))) (/.f64 (fma.f64 z (-.f64 (/.f64 (*.f64 x (*.f64 y z)) (fabs.f64 z)) (/.f64 (*.f64 x y) (fabs.f64 z))) (/.f64 (*.f64 x y) (fabs.f64 z))) z))
#s(approx (/ (* x y) (* (* (fabs z) z) (+ z 1))) (/.f64 (fma.f64 z (-.f64 (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (*.f64 y z)) (fabs.f64 z))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (fabs.f64 z))))) (/.f64 (*.f64 x y) (fabs.f64 z))) (/.f64 (*.f64 x y) (fabs.f64 z))) z))
#s(approx (* (* (fabs z) z) (+ z 1)) (*.f64 z (fabs.f64 z)))
#s(approx (* (* (fabs z) z) (+ z 1)) (*.f64 z (+.f64 (fabs.f64 z) (*.f64 z (fabs.f64 z)))))
#s(approx (fabs z) (fabs.f64 z))
#s(approx (+ z 1) (+.f64 #s(literal 1 binary64) z))
#s(approx (* (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) y) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) y) (/.f64 (fma.f64 x y (/.f64 (*.f64 x y) z)) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) y) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64))) (fma.f64 x y (/.f64 (*.f64 x y) z))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) y) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 3 binary64))) (fma.f64 x y (/.f64 (*.f64 x y) z))) (/.f64 (*.f64 x y) (pow.f64 z #s(literal 2 binary64)))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) (/.f64 (+.f64 x (/.f64 x z)) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) (/.f64 (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 2 binary64))) (/.f64 x z))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) (/.f64 (-.f64 (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 3 binary64))) (/.f64 x z))) (/.f64 x (pow.f64 z #s(literal 2 binary64)))) (pow.f64 z #s(literal 3 binary64))))
#s(approx (/ (/ x z) (* (* z z) (+ (* z z) 1))) (/.f64 x (pow.f64 z #s(literal 5 binary64))))
#s(approx (/ (/ x z) (* (* z z) (+ (* z z) 1))) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 2 binary64))))) (pow.f64 z #s(literal 5 binary64))))
#s(approx (/ (/ x z) (* (* z z) (+ (* z z) 1))) (/.f64 (-.f64 (+.f64 x (/.f64 x (pow.f64 z #s(literal 4 binary64)))) (/.f64 x (pow.f64 z #s(literal 2 binary64)))) (pow.f64 z #s(literal 5 binary64))))
#s(approx (/ (/ x z) (* (* z z) (+ (* z z) 1))) (/.f64 (-.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 6 binary64))))) (fma.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 4 binary64))) (/.f64 x (pow.f64 z #s(literal 2 binary64))))) (pow.f64 z #s(literal 5 binary64))))
#s(approx (* (* z z) (+ (* z z) 1)) (pow.f64 z #s(literal 4 binary64)))
#s(approx (* (* z z) (+ (* z z) 1)) (*.f64 (pow.f64 z #s(literal 4 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64))))))
#s(approx (+ (* z z) 1) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 z #s(literal 2 binary64))))))
#s(approx (+ (* z z) z) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) z))))
#s(approx (/ (* x y) (* (* (fabs z) z) (+ z 1))) (/.f64 (*.f64 x y) (*.f64 (pow.f64 z #s(literal 2 binary64)) (fabs.f64 z))))
#s(approx (/ (* x y) (* (* (fabs z) z) (+ z 1))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 z (fabs.f64 z))) (/.f64 (*.f64 x y) (fabs.f64 z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ (* x y) (* (* (fabs z) z) (+ z 1))) (/.f64 (-.f64 (+.f64 (/.f64 (*.f64 x y) (fabs.f64 z)) (/.f64 (*.f64 x y) (*.f64 (pow.f64 z #s(literal 2 binary64)) (fabs.f64 z)))) (/.f64 (*.f64 x y) (*.f64 z (fabs.f64 z)))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ (* x y) (* (* (fabs z) z) (+ z 1))) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 (pow.f64 z #s(literal 3 binary64)) (fabs.f64 z))) (/.f64 (*.f64 x y) (fabs.f64 z))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 (pow.f64 z #s(literal 2 binary64)) (fabs.f64 z))) (/.f64 (*.f64 x y) (*.f64 z (fabs.f64 z))))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (* (* (fabs z) z) (+ z 1)) (*.f64 (pow.f64 z #s(literal 2 binary64)) (fabs.f64 z)))
#s(approx (* (* (fabs z) z) (+ z 1)) (*.f64 (pow.f64 z #s(literal 2 binary64)) (+.f64 (fabs.f64 z) (/.f64 (fabs.f64 z) z))))
#s(approx (+ z 1) (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) z))))
#s(approx (* (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (* (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z) (*.f64 x y)) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (* (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 x y (/.f64 (*.f64 x y) z)) z) (*.f64 x y)) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 x z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x z))) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (* (/ (/ x z) (* (* z z) (+ (* z z) 1))) (+ (* z z) z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (/.f64 x z)) z))) z))) (pow.f64 z #s(literal 3 binary64)))))
#s(approx (/ (/ x z) (* (* z z) (+ (* z z) 1))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (/.f64 x (pow.f64 z #s(literal 2 binary64)))) (pow.f64 z #s(literal 5 binary64)))))
#s(approx (/ (/ x z) (* (* z z) (+ (* z z) 1))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (fma.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 4 binary64))) (/.f64 x (pow.f64 z #s(literal 2 binary64))))) (pow.f64 z #s(literal 5 binary64)))))
#s(approx (/ (/ x z) (* (* z z) (+ (* z z) 1))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x (fma.f64 #s(literal -1 binary64) (/.f64 x (pow.f64 z #s(literal 4 binary64))) (+.f64 (/.f64 x (pow.f64 z #s(literal 2 binary64))) (/.f64 x (pow.f64 z #s(literal 6 binary64)))))) (pow.f64 z #s(literal 5 binary64)))))
#s(approx (/ (* x y) (* (* (fabs z) z) (+ z 1))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 z (fabs.f64 z))) (/.f64 (*.f64 x y) (fabs.f64 z))) z) (/.f64 (*.f64 x y) (fabs.f64 z))) (pow.f64 z #s(literal 2 binary64))))
#s(approx (/ (* x y) (* (* (fabs z) z) (+ z 1))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) (*.f64 z (fabs.f64 z))) (/.f64 (*.f64 x y) (fabs.f64 z))) z) (/.f64 (*.f64 x y) (fabs.f64 z))) z) (/.f64 (*.f64 x y) (fabs.f64 z))) (pow.f64 z #s(literal 2 binary64))))
Calls

9 calls:

TimeVariablePoint
45.0ms
y
inf
16.0ms
z
-inf
7.0ms
y
0
6.0ms
y
-inf
5.0ms
x
0

rewrite309.0ms (7.2%)

Memory
-14.4MiB live, 211.1MiB allocated; 94ms collecting garbage
Counts
18 → 71
Calls
Call 1
Inputs
(*.f64 (*.f64 (/.f64 (/.f64 x z) (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (fma.f64 z z z)) y)
(*.f64 (/.f64 (/.f64 x z) (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (fma.f64 z z z))
(/.f64 (/.f64 x z) (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64))))
(/.f64 x z)
x
z
(*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))
(*.f64 z z)
(fma.f64 z z #s(literal 1 binary64))
#s(literal 1 binary64)
(fma.f64 z z z)
y
(/.f64 (*.f64 x y) (*.f64 (*.f64 (fabs.f64 z) z) #s(approx (+ z 1) #s(literal 1 binary64))))
(*.f64 x y)
(*.f64 (*.f64 (fabs.f64 z) z) #s(approx (+ z 1) #s(literal 1 binary64)))
(*.f64 (fabs.f64 z) z)
(fabs.f64 z)
#s(approx (+ z 1) #s(literal 1 binary64))
Outputs
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 y (-.f64 #s(literal 1 binary64) z)))
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 (neg.f64 y) (-.f64 #s(literal 1 binary64) z)))
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 y (-.f64 z #s(literal 1 binary64))))
(*.f64 (/.f64 y (*.f64 z z)) (/.f64 x (-.f64 #s(literal 1 binary64) z)))
(*.f64 (/.f64 y (*.f64 z z)) (/.f64 (neg.f64 x) (-.f64 #s(literal 1 binary64) z)))
(*.f64 (/.f64 x (fma.f64 (*.f64 z z) z z)) (/.f64 (fma.f64 z z z) (*.f64 z z)))
(*.f64 (/.f64 x (*.f64 (*.f64 z z) z)) (/.f64 (fma.f64 z z z) (fma.f64 z z #s(literal 1 binary64))))
(*.f64 (/.f64 (fma.f64 z z z) (fma.f64 z z #s(literal 1 binary64))) (/.f64 x (*.f64 (*.f64 z z) z)))
(*.f64 (/.f64 (fma.f64 z z z) (*.f64 z z)) (/.f64 x (fma.f64 (*.f64 z z) z z)))
(*.f64 (/.f64 (fma.f64 z z z) (*.f64 (*.f64 z z) z)) (/.f64 x (fma.f64 z z #s(literal 1 binary64))))
(*.f64 (/.f64 x (*.f64 (*.f64 (*.f64 z z) z) (fma.f64 (*.f64 (*.f64 z z) z) (*.f64 (*.f64 z z) z) #s(literal 1 binary64)))) (neg.f64 (fma.f64 (*.f64 z z) (fma.f64 z z #s(literal -1 binary64)) #s(literal 1 binary64))))
(*.f64 (/.f64 x (*.f64 (*.f64 (*.f64 z z) z) (fma.f64 (*.f64 (*.f64 z z) z) (*.f64 (*.f64 z z) z) #s(literal 1 binary64)))) (fma.f64 (*.f64 z z) (fma.f64 z z #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (/.f64 x (*.f64 (*.f64 (*.f64 z z) z) (fma.f64 (*.f64 z z) (*.f64 z z) #s(literal -1 binary64)))) (fma.f64 z z #s(literal 1 binary64)))
(*.f64 (/.f64 x (*.f64 (*.f64 (*.f64 z z) z) (fma.f64 (*.f64 z z) (*.f64 z z) #s(literal -1 binary64)))) (fma.f64 z z #s(literal -1 binary64)))
(*.f64 (fma.f64 z z #s(literal -1 binary64)) (/.f64 x (*.f64 (*.f64 (*.f64 z z) z) (fma.f64 (*.f64 z z) (*.f64 z z) #s(literal -1 binary64)))))
(/.f64 x z)
(/.f64 (/.f64 x #s(literal 1 binary64)) z)
(/.f64 (/.f64 x z) #s(literal 1 binary64))
(/.f64 (neg.f64 x) z)
(/.f64 (/.f64 (neg.f64 x) #s(literal 1 binary64)) z)
x
(neg.f64 (neg.f64 x))
z
(*.f64 z #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) z)
(*.f64 (neg.f64 #s(literal 1 binary64)) z)
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) z)
(*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))
(*.f64 (*.f64 z z) (fma.f64 z z #s(literal -1 binary64)))
(*.f64 (fma.f64 z z #s(literal -1 binary64)) (*.f64 z z))
(*.f64 (fma.f64 z z #s(literal 1 binary64)) (*.f64 z z))
(*.f64 (fma.f64 z z z) (fma.f64 z z z))
(*.f64 z z)
(*.f64 (*.f64 z z) #s(literal 1 binary64))
(*.f64 (*.f64 z z) (neg.f64 #s(literal 1 binary64)))
(*.f64 (neg.f64 #s(literal 1 binary64)) (*.f64 z z))
(*.f64 #s(literal 1 binary64) (*.f64 z z))
(*.f64 (-.f64 #s(literal 1 binary64) z) (-.f64 #s(literal 1 binary64) z))
(*.f64 (-.f64 z #s(literal 1 binary64)) (-.f64 z #s(literal 1 binary64)))
(*.f64 (fma.f64 z z #s(literal 1 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (fma.f64 z z #s(literal 1 binary64)))
(*.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) z)) (fabs.f64 (-.f64 #s(literal 1 binary64) z)))
#s(literal 1 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(*.f64 (neg.f64 #s(literal 1 binary64)) (neg.f64 #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1 binary64)) #s(literal 1 binary64))
(*.f64 (-.f64 #s(literal 1 binary64) z) z)
(*.f64 (-.f64 z #s(literal 1 binary64)) z)
(*.f64 (fma.f64 z z z) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (fma.f64 z z z))
(*.f64 z (-.f64 #s(literal 1 binary64) z))
y
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) #s(approx (+ z 1) #s(literal 1 binary64))))
(*.f64 x y)
(*.f64 y x)
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 (neg.f64 (neg.f64 y)) x)
(*.f64 (*.f64 z z) #s(approx (+ z 1) #s(literal 1 binary64)))
(*.f64 z z)
(*.f64 (*.f64 z z) #s(literal 1 binary64))
(*.f64 (*.f64 z z) (neg.f64 #s(literal 1 binary64)))
(*.f64 (neg.f64 #s(literal 1 binary64)) (*.f64 z z))
(*.f64 #s(literal 1 binary64) (*.f64 z z))
z
(*.f64 z #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) z)
(*.f64 (neg.f64 #s(literal 1 binary64)) z)
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) z)
#s(approx (+ z 1) #s(literal 1 binary64))

eval14.0ms (0.3%)

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

Compiled 3 615 to 659 computations (81.8% saved)

prune7.0ms (0.2%)

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

13 alts after pruning (3 fresh and 10 done)

PrunedKeptTotal
New1283131
Fresh000
Picked202
Done01010
Total13013143
Accuracy
96.7%
Counts
143 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
59.3%
(/.f64 (*.f64 x y) (*.f64 (fma.f64 z z z) z))
59.3%
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
53.6%
(/.f64 (*.f64 x y) (*.f64 #s(approx (+ (* z z) z) z) z))
53.6%
(/.f64 (*.f64 x y) #s(approx (* (* (fabs z) z) (+ z 1)) (*.f64 z (fabs.f64 z))))
60.6%
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
53.8%
(*.f64 (/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z)) x)
65.0%
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
61.6%
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
56.3%
(*.f64 (/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z)) y)
53.4%
(*.f64 (/.f64 x #s(approx (+ (* z z) z) z)) (/.f64 y z))
31.6%
(*.f64 (*.f64 (/.f64 (/.f64 x z) (*.f64 (*.f64 z z) #s(approx (+ (* z z) 1) #s(literal 1 binary64)))) (fma.f64 z z z)) y)
58.3%
(*.f64 (*.f64 (/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (-.f64 z #s(literal 1 binary64))) y)
33.4%
#s(approx (/ (* x y) (* (* (fabs z) z) (+ z 1))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (*.f64 y z)) (fabs.f64 z)) (/.f64 (*.f64 x y) (fabs.f64 z))) z))
Compiler

Compiled 189 to 132 computations (30.2% saved)

regimes182.0ms (4.2%)

Memory
-8.8MiB live, 177.9MiB allocated; 75ms collecting garbage
Accuracy

Total -2.7b remaining (-2.3%)

Threshold costs -2.7b (-2.3%)

Counts
3 → 1
7 → 2
10 → 2
12 → 1
16 → 3
Calls
Call 1
Inputs
(*.f64 (/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z)) y)
(*.f64 (/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z)) x)
(/.f64 (*.f64 x y) (*.f64 #s(approx (+ (* z z) z) z) z))
Outputs
(*.f64 (/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z)) y)
Call 2
Inputs
(*.f64 (/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z)) y)
(*.f64 (/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z)) x)
(/.f64 (*.f64 x y) (*.f64 #s(approx (+ (* z z) z) z) z))
(*.f64 (/.f64 x #s(approx (+ (* z z) z) z)) (/.f64 y z))
(/.f64 (*.f64 x y) #s(approx (* (* (fabs z) z) (+ z 1)) (*.f64 z (fabs.f64 z))))
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) #s(approx (+ z 1) #s(literal 1 binary64))))
(/.f64 (*.f64 x y) (*.f64 (*.f64 (fabs.f64 z) z) #s(approx (+ z 1) #s(literal 1 binary64))))
Outputs
(*.f64 (/.f64 x #s(approx (+ (* z z) z) z)) (/.f64 y z))
(*.f64 (/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z)) y)
Call 3
Inputs
(*.f64 (/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z)) y)
(*.f64 (/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z)) x)
(/.f64 (*.f64 x y) (*.f64 #s(approx (+ (* z z) z) z) z))
(*.f64 (/.f64 x #s(approx (+ (* z z) z) z)) (/.f64 y z))
(/.f64 (*.f64 x y) #s(approx (* (* (fabs z) z) (+ z 1)) (*.f64 z (fabs.f64 z))))
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) #s(approx (+ z 1) #s(literal 1 binary64))))
(/.f64 (*.f64 x y) (*.f64 (*.f64 (fabs.f64 z) z) #s(approx (+ z 1) #s(literal 1 binary64))))
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
(/.f64 (*.f64 x y) (*.f64 (fma.f64 z z z) z))
Outputs
(*.f64 (/.f64 x #s(approx (+ (* z z) z) z)) (/.f64 y z))
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
Call 4
Inputs
(*.f64 (/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z)) y)
(*.f64 (/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z)) x)
(/.f64 (*.f64 x y) (*.f64 #s(approx (+ (* z z) z) z) z))
(*.f64 (/.f64 x #s(approx (+ (* z z) z) z)) (/.f64 y z))
(/.f64 (*.f64 x y) #s(approx (* (* (fabs z) z) (+ z 1)) (*.f64 z (fabs.f64 z))))
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) #s(approx (+ z 1) #s(literal 1 binary64))))
(/.f64 (*.f64 x y) (*.f64 (*.f64 (fabs.f64 z) z) #s(approx (+ z 1) #s(literal 1 binary64))))
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
(/.f64 (*.f64 x y) (*.f64 (fma.f64 z z z) z))
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
Outputs
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
Call 5
Inputs
(*.f64 (/.f64 x (*.f64 #s(approx (+ (* z z) z) z) z)) y)
(*.f64 (/.f64 y (*.f64 #s(approx (+ (* z z) z) z) z)) x)
(/.f64 (*.f64 x y) (*.f64 #s(approx (+ (* z z) z) z) z))
(*.f64 (/.f64 x #s(approx (+ (* z z) z) z)) (/.f64 y z))
(/.f64 (*.f64 x y) #s(approx (* (* (fabs z) z) (+ z 1)) (*.f64 z (fabs.f64 z))))
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) #s(approx (+ z 1) #s(literal 1 binary64))))
(/.f64 (*.f64 x y) (*.f64 (*.f64 (fabs.f64 z) z) #s(approx (+ z 1) #s(literal 1 binary64))))
(*.f64 (/.f64 x (*.f64 (fma.f64 z z z) z)) y)
(*.f64 (/.f64 y (*.f64 (fma.f64 z z z) z)) x)
(/.f64 (*.f64 x y) (*.f64 (fma.f64 z z z) z))
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
(*.f64 (*.f64 (/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (-.f64 z #s(literal 1 binary64))) y)
(*.f64 (*.f64 (/.f64 (/.f64 x z) (*.f64 (*.f64 z z) #s(approx (+ (* z z) 1) #s(literal 1 binary64)))) (fma.f64 z z z)) y)
#s(approx (/ (* x y) (* (* (fabs z) z) (+ z 1))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (*.f64 y z)) (fabs.f64 z)) (/.f64 (*.f64 x y) (fabs.f64 z))) z))
(*.f64 (*.f64 (/.f64 (/.f64 x z) (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (fma.f64 z z z)) y)
Outputs
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
(*.f64 (*.f64 (/.f64 x (*.f64 (*.f64 z z) (fma.f64 z z #s(literal 1 binary64)))) (-.f64 z #s(literal 1 binary64))) y)
(*.f64 (/.f64 x (fma.f64 z z z)) (/.f64 y z))
Calls

26 calls:

44.0ms
z
35.0ms
x
15.0ms
y
8.0ms
(*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64)))
5.0ms
y
Results
AccuracySegmentsBranch
56.3%1(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
56.3%1y
56.3%1(*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64)))
56.3%1z
56.3%1(*.f64 x y)
56.3%1x
58.5%2(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
58.9%2y
58.9%2(*.f64 x y)
58.9%2(*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64)))
58.9%2z
64.2%2(*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64)))
64.2%2z
61.6%1y
61.6%1x
63.4%2(*.f64 x y)
61.6%1(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
65.0%1z
65.0%1(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
65.0%1(*.f64 x y)
65.0%1(*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64)))
68.5%3(*.f64 x y)
68.3%3(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z #s(literal 1 binary64))))
65.0%1x
65.0%1y
66.7%2z
Compiler

Compiled 345 to 200 computations (42% saved)

bsearch1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.599032704155406e+152
8.554750340125107e+153
0.0ms
2.702916585730903e+67
3.020844949856785e+68
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch7.0ms (0.2%)

Memory
11.2MiB live, 11.2MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
6.0ms
1.4873200919358923e-97
3.501917123548476e-97
Samples
3.0ms80×0valid
Compiler

Compiled 129 to 105 computations (18.6% saved)

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

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.7233021754954585e-101
1.2902188306261605e-97
Compiler

Compiled 14 to 15 computations (-7.1% saved)

derivations6.0ms (0.1%)

Memory
-42.3MiB live, 3.5MiB allocated; 5ms collecting garbage
Stop Event
fuel
Compiler

Compiled 130 to 39 computations (70% saved)

preprocess921.0ms (21.5%)

Memory
9.5MiB live, 1 018.1MiB allocated; 371ms collecting garbage
Remove

(abs z)

(negabs z)

(abs y)

(abs x)

Compiler

Compiled 3 313 to 1 750 computations (47.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...