Linear.Quaternion:$c/ from linear-1.19.1.3, E

Time bar (total: 3.4s)

start0.0ms (0%)

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

analyze1.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 17 to 9 computations (47.1% saved)

sample710.0ms (21%)

Memory
30.4MiB live, 542.0MiB allocated; 135ms collecting garbage
Samples
469.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 193.0ms
ival-mult!: 141.0ms (73% of total)
ival-add!: 50.0ms (25.9% of total)
adjust: 2.0ms (1% of total)
Bogosity

preprocess74.0ms (2.2%)

Memory
-11.7MiB live, 34.2MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02290
121178
2166278
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
Symmetry

(abs x)

(abs y)

(negabs x)

(negabs y)

Compiler

Compiled 30 to 14 computations (53.3% saved)

series103.0ms (3.1%)

Memory
-1.7MiB live, 45.3MiB allocated; 7ms collecting garbage
Counts
7 → 17
Calls
Call 1
Inputs
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
(+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))
(+.f64 (*.f64 x x) (*.f64 y y))
(*.f64 x x)
x
(*.f64 y y)
y
Outputs
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 2 binary64)) (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64)))))
#s(approx (+ (+ (* x x) (* y y)) (* y y)) (*.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 2 binary64))))
#s(approx (+ (+ (* x x) (* y y)) (* y y)) (fma.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
#s(approx (+ (* x x) (* y y)) (pow.f64 y #s(literal 2 binary64)))
#s(approx (+ (* x x) (* y y)) (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64))))
#s(approx (* x x) (pow.f64 x #s(literal 2 binary64)))
#s(approx x x)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))))))
#s(approx (+ (+ (* x x) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))))))
#s(approx (+ (* x x) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
#s(approx y y)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (pow.f64 y #s(literal 2 binary64)) (+.f64 #s(literal 3 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64))))))
#s(approx (+ (+ (* x x) (* y y)) (* y y)) (*.f64 (pow.f64 y #s(literal 2 binary64)) (+.f64 #s(literal 2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64))))))
#s(approx (+ (* x x) (* y y)) (*.f64 (pow.f64 y #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64))))))
Calls

6 calls:

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

rewrite329.0ms (9.8%)

Memory
-38.7MiB live, 139.2MiB allocated; 235ms collecting garbage
Counts
7 → 29
Calls
Call 1
Inputs
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
(+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))
(+.f64 (*.f64 x x) (*.f64 y y))
(*.f64 x x)
x
(*.f64 y y)
y
Outputs
(*.f64 (fma.f64 x x (fma.f64 y y #s(literal 0 binary64))) (/.f64 (fma.f64 x x (fma.f64 y y #s(literal 0 binary64))) (fma.f64 x x (fma.f64 y y #s(literal 0 binary64)))))
(*.f64 (/.f64 (fma.f64 (fma.f64 x x (*.f64 y y)) (fma.f64 x x (*.f64 y y)) #s(literal 0 binary64)) (fma.f64 (fma.f64 x x (*.f64 y y)) (fma.f64 x x (*.f64 y y)) #s(literal 0 binary64))) (fma.f64 x x (fma.f64 y y #s(literal 0 binary64))))
(*.f64 (/.f64 (fma.f64 (fma.f64 x x (*.f64 y y)) (fma.f64 x x (*.f64 y y)) #s(literal 0 binary64)) (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) #s(literal 3 binary64)) #s(literal 0 binary64))) (fma.f64 (fma.f64 x x (*.f64 y y)) (fma.f64 x x (*.f64 y y)) (fma.f64 (*.f64 x x) #s(literal 0 binary64) #s(literal 0 binary64))))
(*.f64 (/.f64 (fma.f64 (fma.f64 x x (*.f64 y y)) (fma.f64 x x (*.f64 y y)) #s(literal 0 binary64)) (fma.f64 (fma.f64 (*.f64 x x) (*.f64 x x) #s(literal 0 binary64)) (fma.f64 x x #s(literal 0 binary64)) (*.f64 (*.f64 (*.f64 y y) y) (*.f64 (*.f64 y y) y)))) (fma.f64 (fma.f64 x x (fma.f64 y y #s(literal 0 binary64))) (*.f64 y y) (fma.f64 (*.f64 x x) (*.f64 x x) #s(literal 0 binary64))))
(*.f64 (fma.f64 (fma.f64 x x (fma.f64 y y #s(literal 0 binary64))) (*.f64 y y) (fma.f64 (*.f64 x x) (*.f64 x x) #s(literal 0 binary64))) (/.f64 (fma.f64 x x (fma.f64 y y #s(literal 0 binary64))) (fma.f64 (fma.f64 x x (fma.f64 y y #s(literal 0 binary64))) (*.f64 y y) (fma.f64 (*.f64 x x) (*.f64 x x) #s(literal 0 binary64)))))
(*.f64 (fma.f64 x x #s(literal 0 binary64)) (/.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x #s(literal 0 binary64))))
(*.f64 (/.f64 (fma.f64 (*.f64 x x) (*.f64 x x) #s(literal 0 binary64)) (fma.f64 (*.f64 x x) (*.f64 x x) #s(literal 0 binary64))) (fma.f64 x x #s(literal 0 binary64)))
(*.f64 (/.f64 (fma.f64 (*.f64 x x) (*.f64 x x) #s(literal 0 binary64)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) #s(literal 0 binary64))) (fma.f64 (fma.f64 x x #s(literal 0 binary64)) #s(literal 0 binary64) (*.f64 (*.f64 x x) (*.f64 x x))))
(*.f64 (/.f64 (fma.f64 (*.f64 x x) (*.f64 x x) #s(literal 0 binary64)) (*.f64 (fma.f64 (fma.f64 x x (*.f64 y y)) (*.f64 y y) (fma.f64 (*.f64 x x) (*.f64 x x) #s(literal 0 binary64))) (fma.f64 x x #s(literal 0 binary64)))) (fma.f64 (fma.f64 x x (*.f64 y y)) (*.f64 y y) (fma.f64 (*.f64 x x) (*.f64 x x) #s(literal 0 binary64))))
(*.f64 (fma.f64 (fma.f64 x x (*.f64 y y)) (*.f64 y y) (fma.f64 (*.f64 x x) (*.f64 x x) #s(literal 0 binary64))) (/.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 (fma.f64 x x (*.f64 y y)) (*.f64 y y) (fma.f64 (*.f64 x x) (*.f64 x x) #s(literal 0 binary64)))))
(*.f64 (+.f64 y x) (-.f64 x y))
(*.f64 (+.f64 y x) (-.f64 y x))
(*.f64 (-.f64 x y) (+.f64 y x))
(*.f64 (+.f64 (fabs.f64 x) (neg.f64 y)) (-.f64 (fabs.f64 x) (neg.f64 y)))
(*.f64 (+.f64 (fabs.f64 x) (neg.f64 y)) (-.f64 (neg.f64 y) (fabs.f64 x)))
(*.f64 x x)
(*.f64 (fabs.f64 x) (fabs.f64 x))
(*.f64 (fabs.f64 x) x)
(*.f64 (fabs.f64 x) (neg.f64 x))
(*.f64 (neg.f64 x) x)
x
(neg.f64 (neg.f64 x))
(*.f64 y y)
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 (fabs.f64 y) y)
(*.f64 (fabs.f64 y) (neg.f64 y))
(*.f64 (neg.f64 y) y)
y
(neg.f64 (neg.f64 y))

eval4.0ms (0.1%)

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

Compiled 1 102 to 190 computations (82.8% saved)

prune4.0ms (0.1%)

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

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New37542
Fresh000
Picked011
Done000
Total37643
Accuracy
99.9%
Counts
43 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
57.0%
(+.f64 (+.f64 (*.f64 (-.f64 x y) (+.f64 y x)) (*.f64 y y)) (*.f64 y y))
67.2%
(+.f64 #s(approx (+ (+ (* x x) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))))) (*.f64 y y))
99.8%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
67.2%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))))))
58.9%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64))))
Compiler

Compiled 273 to 139 computations (49.1% saved)

series180.0ms (5.3%)

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

6 calls:

TimeVariablePoint
25.0ms
x
-inf
10.0ms
y
0
6.0ms
y
inf
3.0ms
y
-inf
3.0ms
x
0

rewrite235.0ms (7%)

Memory
10.9MiB live, 150.5MiB allocated; 13ms collecting garbage
Counts
27 → 111
Calls
Call 1
Inputs
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
(fma.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
#s(literal 3 binary64)
(pow.f64 y #s(literal 2 binary64))
y
#s(literal 2 binary64)
(pow.f64 x #s(literal 2 binary64))
x
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64))))
(*.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64)))
(+.f64 (+.f64 (*.f64 (-.f64 x y) (+.f64 y x)) (*.f64 y y)) (*.f64 y y))
(+.f64 (*.f64 (-.f64 x y) (+.f64 y x)) (*.f64 y y))
(*.f64 (-.f64 x y) (+.f64 y x))
(-.f64 x y)
(+.f64 y x)
(*.f64 y y)
(+.f64 #s(approx (+ (+ (* x x) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))))) (*.f64 y y))
#s(approx (+ (+ (* x x) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))))
#s(literal 1 binary64)
(*.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
(/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))))
(+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
Outputs
#s(approx 2 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 3 binary64) y) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
(*.f64 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
(*.f64 #s(literal 3 binary64) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
(*.f64 y (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
(*.f64 (+.f64 #s(literal 2 binary64) (fabs.f64 (*.f64 #s(literal 3 binary64) y))) (-.f64 #s(literal 2 binary64) (fabs.f64 (*.f64 #s(literal 3 binary64) y))))
#s(literal 3 binary64)
y
(*.f64 y y)
(fabs.f64 y)
(+.f64 (cosh.f64 (log.f64 y)) (sinh.f64 (log.f64 y)))
(+.f64 (sinh.f64 (log.f64 y)) (cosh.f64 (log.f64 y)))
y
(*.f64 y y)
(fabs.f64 y)
(+.f64 (cosh.f64 (log.f64 y)) (sinh.f64 (log.f64 y)))
(+.f64 (sinh.f64 (log.f64 y)) (cosh.f64 (log.f64 y)))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(approx 2 (*.f64 #s(literal 3 binary64) y))
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
(*.f64 (*.f64 #s(literal 3 binary64) y) y)
(*.f64 (neg.f64 #s(literal 3 binary64)) y)
(*.f64 y (*.f64 #s(literal 3 binary64) y))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
y
(*.f64 y y)
(fabs.f64 y)
(+.f64 (cosh.f64 (log.f64 y)) (sinh.f64 (log.f64 y)))
(+.f64 (sinh.f64 (log.f64 y)) (cosh.f64 (log.f64 y)))
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
#s(approx 2 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(approx 2 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
x
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))

eval15.0ms (0.4%)

Memory
-30.3MiB live, 20.1MiB allocated; 5ms collecting garbage
Compiler

Compiled 3 897 to 579 computations (85.1% saved)

prune11.0ms (0.3%)

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

17 alts after pruning (15 fresh and 2 done)

PrunedKeptTotal
New11215127
Fresh000
Picked415
Done011
Total11617133
Accuracy
100.0%
Counts
133 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
57.0%
(+.f64 (+.f64 (*.f64 (-.f64 x y) (+.f64 y x)) (*.f64 y y)) (*.f64 y y))
20.6%
(+.f64 (+.f64 (*.f64 (-.f64 x y) #s(approx (+ y x) y)) (*.f64 y y)) (*.f64 y y))
32.4%
(+.f64 #s(approx 2 #s(literal 2 binary64)) (*.f64 y y))
5.3%
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
99.8%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (pow.f64 x #s(literal 2 binary64))))
32.4%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
67.2%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) #s(approx (+ (* 2 (/ (pow y 2) (pow x 2))) (/ (pow y 2) (pow x 2))) (*.f64 #s(literal 3 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))))))
32.6%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
59.0%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) y))
1.7%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (neg.f64 #s(literal 3 binary64)) y))
42.5%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 y (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
5.6%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 y #s(literal 3 binary64)))
5.7%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
21.8%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (pow.f64 y x)))
58.9%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (*.f64 y y)))
5.4%
#s(approx 2 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
Compiler

Compiled 636 to 353 computations (44.5% saved)

series98.0ms (2.9%)

Memory
-25.9MiB live, 64.8MiB allocated; 16ms collecting garbage
Counts
17 → 21
Calls
Call 1
Inputs
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (pow.f64 x #s(literal 2 binary64))))
(fma.f64 #s(literal 3 binary64) (*.f64 y y) (pow.f64 x #s(literal 2 binary64)))
#s(literal 3 binary64)
(*.f64 y y)
y
(pow.f64 x #s(literal 2 binary64))
x
#s(literal 2 binary64)
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
#s(approx 2 #s(literal 2 binary64))
#s(approx 2 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
(fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) y))
(*.f64 (*.f64 #s(literal 3 binary64) y) y)
(*.f64 #s(literal 3 binary64) y)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
(*.f64 (*.f64 #s(literal 3 binary64) y) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
Outputs
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 2 binary64)) (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64)))))
#s(approx (+ (* 3 (* y y)) (pow x 2)) (*.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64))))
#s(approx (+ (* 3 (* y y)) (pow x 2)) (fma.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
#s(approx (pow x 2) (pow.f64 x #s(literal 2 binary64)))
#s(approx x x)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))))))
#s(approx (+ (* 3 (* y y)) (pow x 2)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))))))
#s(approx (* y y) (pow.f64 y #s(literal 2 binary64)))
#s(approx y y)
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(approx (+ 2 y) (+.f64 #s(literal 2 binary64) y))
#s(approx (+ (* 3 y) 2) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 3 binary64) y)))
#s(approx (* 3 y) (*.f64 #s(literal 3 binary64) y))
#s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y))
#s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 y (+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (pow.f64 y #s(literal 2 binary64)) (+.f64 #s(literal 3 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64))))))
#s(approx (+ 2 y) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) y)))))
#s(approx (+ (* 3 y) 2) (*.f64 y (+.f64 #s(literal 3 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) y)))))
#s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 9 binary64) (pow.f64 y #s(literal 2 binary64))))
#s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 (pow.f64 y #s(literal 2 binary64)) (+.f64 #s(literal 9 binary64) (*.f64 #s(literal 6 binary64) (/.f64 #s(literal 1 binary64) y)))))
Calls

6 calls:

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

rewrite188.0ms (5.6%)

Memory
57.7MiB live, 281.5MiB allocated; 49ms collecting garbage
Counts
17 → 57
Calls
Call 1
Inputs
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (pow.f64 x #s(literal 2 binary64))))
(fma.f64 #s(literal 3 binary64) (*.f64 y y) (pow.f64 x #s(literal 2 binary64)))
#s(literal 3 binary64)
(*.f64 y y)
y
(pow.f64 x #s(literal 2 binary64))
x
#s(literal 2 binary64)
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
#s(approx 2 #s(literal 2 binary64))
#s(approx 2 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
(fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) y))
(*.f64 (*.f64 #s(literal 3 binary64) y) y)
(*.f64 #s(literal 3 binary64) y)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
(*.f64 (*.f64 #s(literal 3 binary64) y) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
Outputs
#s(approx (+ x 0) (fma.f64 #s(literal 3 binary64) y x))
(*.f64 (fma.f64 #s(literal 3 binary64) y x) (fma.f64 #s(literal 3 binary64) y x))
(*.f64 (fma.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) (fma.f64 #s(literal 3 binary64) y x) x) (fma.f64 #s(literal 3 binary64) y x))
(*.f64 (fma.f64 #s(literal 3 binary64) y x) (fma.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) (fma.f64 #s(literal 3 binary64) y x) x))
(+.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) x)
(+.f64 x (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
#s(literal 3 binary64)
y
(*.f64 y y)
(fabs.f64 y)
(+.f64 (cosh.f64 (log.f64 y)) (sinh.f64 (log.f64 y)))
(+.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3 binary64))))
y
(*.f64 y y)
(fabs.f64 y)
(+.f64 (cosh.f64 (log.f64 y)) (sinh.f64 (log.f64 y)))
(+.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3 binary64))))
x
(*.f64 x x)
(fabs.f64 x)
(+.f64 (cosh.f64 (log.f64 x)) (sinh.f64 (log.f64 x)))
(+.f64 (sinh.f64 (log.f64 x)) (cosh.f64 (log.f64 x)))
x
(*.f64 x x)
(fabs.f64 x)
(+.f64 (cosh.f64 (log.f64 x)) (sinh.f64 (log.f64 x)))
(+.f64 (sinh.f64 (log.f64 x)) (cosh.f64 (log.f64 x)))
#s(literal 2 binary64)
#s(literal 0 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
(*.f64 y #s(literal 2 binary64))
(+.f64 #s(approx 0 #s(literal 2 binary64)) y)
#s(approx 0 #s(literal 2 binary64))
#s(approx 0 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
(*.f64 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
(*.f64 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)) #s(literal 2 binary64))
(*.f64 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)) y)
(*.f64 #s(literal 2 binary64) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
(*.f64 y (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
(*.f64 #s(literal 3 binary64) y)
(*.f64 #s(literal 2 binary64) #s(literal 3 binary64))
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) #s(literal 2 binary64))
(*.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
(*.f64 #s(literal 3 binary64) y)
(*.f64 #s(literal 2 binary64) #s(literal 3 binary64))
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) #s(literal 2 binary64))
(*.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
(*.f64 #s(literal 3 binary64) y)
(*.f64 #s(literal 2 binary64) #s(literal 3 binary64))
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) #s(literal 2 binary64))
(*.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))

eval20.0ms (0.6%)

Memory
-32.9MiB live, 25.4MiB allocated; 29ms collecting garbage
Compiler

Compiled 1 604 to 234 computations (85.4% saved)

prune13.0ms (0.4%)

Memory
-14.4MiB live, 32.3MiB allocated; 3ms collecting garbage
Pruning

18 alts after pruning (16 fresh and 2 done)

PrunedKeptTotal
New661177
Fresh5510
Picked325
Done202
Total761894
Accuracy
100.0%
Counts
94 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
32.4%
(+.f64 #s(approx 2 #s(literal 2 binary64)) (*.f64 y y))
5.3%
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
5.3%
(+.f64 #s(approx 2 #s(literal 1 binary64)) y)
5.6%
(+.f64 #s(approx 2 #s(literal 0 binary64)) y)
99.8%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (*.f64 x x)))
50.6%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (fabs.f64 x)))
50.6%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) x))
5.4%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (+.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) x))
67.2%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) #s(approx (+ (* 2 (/ (pow y 2) (pow x 2))) (/ (pow y 2) (pow x 2))) (*.f64 #s(literal 3 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))))))
59.0%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) y))
1.7%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (neg.f64 #s(literal 3 binary64)) y))
42.5%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 y (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
58.9%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (*.f64 y y)))
32.6%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 y (+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y)))))
5.9%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y)))
6.8%
#s(approx (+ x 0) (fma.f64 #s(literal 3 binary64) y x))
4.1%
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
4.1%
#s(approx (+ 2 y) #s(literal 2 binary64))
Compiler

Compiled 628 to 373 computations (40.6% saved)

series98.0ms (2.9%)

Memory
42.0MiB live, 134.6MiB allocated; 35ms collecting garbage
Counts
21 → 24
Calls
Call 1
Inputs
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (*.f64 x x)))
(fma.f64 #s(literal 3 binary64) (*.f64 y y) (*.f64 x x))
#s(literal 3 binary64)
(*.f64 y y)
y
(*.f64 x x)
x
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y)))
#s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y))
(*.f64 #s(literal 6 binary64) y)
#s(literal 6 binary64)
(+.f64 #s(approx 2 #s(literal 2 binary64)) (*.f64 y y))
#s(approx 2 #s(literal 2 binary64))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 y (+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y)))))
#s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 y (+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y))))
(*.f64 y (+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y)))
(+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y))
(*.f64 #s(literal 9 binary64) y)
#s(literal 9 binary64)
Outputs
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 2 binary64)) (+.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64)))))
#s(approx (+ (* 3 (* y y)) (* x x)) (*.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64))))
#s(approx (+ (* 3 (* y y)) (* x x)) (fma.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
#s(approx (* x x) (pow.f64 x #s(literal 2 binary64)))
#s(approx x x)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))))))
#s(approx (+ (* 3 (* y y)) (* x x)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))))))
#s(approx (* y y) (pow.f64 y #s(literal 2 binary64)))
#s(approx y y)
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(approx (+ 2 y) (+.f64 #s(literal 2 binary64) y))
#s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y))
#s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 y (+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y))))
#s(approx (+ 2 (* y y)) (+.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 2 binary64))))
#s(approx (+ 6 (* 9 y)) #s(literal 6 binary64))
#s(approx (+ 6 (* 9 y)) (+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y)))
#s(approx (* 9 y) (*.f64 #s(literal 9 binary64) y))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (pow.f64 y #s(literal 2 binary64)) (+.f64 #s(literal 3 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) (pow.f64 y #s(literal 2 binary64))))))
#s(approx (+ 2 y) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) y)))))
#s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 9 binary64) (pow.f64 y #s(literal 2 binary64))))
#s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 (pow.f64 y #s(literal 2 binary64)) (+.f64 #s(literal 9 binary64) (*.f64 #s(literal 6 binary64) (/.f64 #s(literal 1 binary64) y)))))
#s(approx (+ 2 (* y y)) (*.f64 (pow.f64 y #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 2 binary64)))))))
#s(approx (+ 6 (* 9 y)) (*.f64 y (+.f64 #s(literal 9 binary64) (*.f64 #s(literal 6 binary64) (/.f64 #s(literal 1 binary64) y)))))
Calls

6 calls:

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

rewrite252.0ms (7.5%)

Memory
-2.2MiB live, 450.1MiB allocated; 99ms collecting garbage
Counts
21 → 59
Calls
Call 1
Inputs
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (*.f64 x x)))
(fma.f64 #s(literal 3 binary64) (*.f64 y y) (*.f64 x x))
#s(literal 3 binary64)
(*.f64 y y)
y
(*.f64 x x)
x
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y)))
#s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y))
(*.f64 #s(literal 6 binary64) y)
#s(literal 6 binary64)
(+.f64 #s(approx 2 #s(literal 2 binary64)) (*.f64 y y))
#s(approx 2 #s(literal 2 binary64))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 y (+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y)))))
#s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 y (+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y))))
(*.f64 y (+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y)))
(+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y))
(*.f64 #s(literal 9 binary64) y)
#s(literal 9 binary64)
Outputs
#s(approx (+ 2 x) (fma.f64 #s(literal 3 binary64) y x))
(*.f64 (fma.f64 #s(literal 3 binary64) y x) (fma.f64 #s(literal 3 binary64) y x))
(*.f64 (fma.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) (fma.f64 #s(literal 3 binary64) y x) x) (fma.f64 #s(literal 3 binary64) y x))
(*.f64 (fma.f64 #s(literal 3 binary64) y x) (fma.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) (fma.f64 #s(literal 3 binary64) y x) x))
(+.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) x)
(+.f64 x (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
#s(literal 3 binary64)
y
(*.f64 y y)
(fabs.f64 y)
(+.f64 (cosh.f64 (log.f64 y)) (sinh.f64 (log.f64 y)))
(+.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3 binary64))))
y
(*.f64 y y)
(fabs.f64 y)
(+.f64 (cosh.f64 (log.f64 y)) (sinh.f64 (log.f64 y)))
(+.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3 binary64))))
x
(*.f64 x x)
(fabs.f64 x)
(+.f64 (cosh.f64 (log.f64 x)) (sinh.f64 (log.f64 x)))
(+.f64 (cosh.f64 (*.f64 (log.f64 x) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 x) #s(literal 3 binary64))))
x
(*.f64 x x)
(fabs.f64 x)
(+.f64 (cosh.f64 (log.f64 x)) (sinh.f64 (log.f64 x)))
(+.f64 (cosh.f64 (*.f64 (log.f64 x) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 x) #s(literal 3 binary64))))
#s(approx 2 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
(*.f64 y #s(literal 2 binary64))
#s(approx (+ 2 x) #s(approx (* 2 3) (*.f64 #s(literal 6 binary64) y)))
#s(approx (* 2 3) (*.f64 #s(literal 6 binary64) y))
(*.f64 #s(literal 6 binary64) y)
(*.f64 y #s(literal 6 binary64))
#s(literal 6 binary64)
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
#s(approx 2 #s(literal 2 binary64))
#s(approx (+ 2 x) #s(approx (* 2 3) (fma.f64 y #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y))))
#s(approx (* 2 3) (fma.f64 y #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y)))
(*.f64 y (fma.f64 y #s(literal 9 binary64) #s(literal 6 binary64)))
(*.f64 (fma.f64 y #s(literal 9 binary64) #s(literal 6 binary64)) y)
(*.f64 (fma.f64 (*.f64 #s(literal 9 binary64) #s(literal 9 binary64)) y (*.f64 #s(literal 6 binary64) #s(literal 6 binary64))) (/.f64 y (fma.f64 y #s(literal 9 binary64) #s(literal 6 binary64))))
(*.f64 (fma.f64 (*.f64 #s(literal 9 binary64) y) #s(literal 9 binary64) (*.f64 (*.f64 #s(literal 6 binary64) #s(literal 6 binary64)) y)) (fma.f64 (*.f64 #s(literal 9 binary64) y) (fma.f64 y #s(literal 9 binary64) #s(literal 6 binary64)) (*.f64 #s(literal 6 binary64) #s(literal 6 binary64))))
(*.f64 (fma.f64 (*.f64 #s(literal 9 binary64) y) #s(literal 9 binary64) (*.f64 (*.f64 #s(literal 6 binary64) #s(literal 6 binary64)) y)) (fma.f64 y #s(literal 9 binary64) #s(literal 6 binary64)))
(*.f64 (fma.f64 (*.f64 #s(literal 9 binary64) #s(literal 9 binary64)) y (*.f64 #s(literal 6 binary64) #s(literal 6 binary64))) (fma.f64 (*.f64 #s(literal 9 binary64) y) (fma.f64 y #s(literal 9 binary64) #s(literal 6 binary64)) (*.f64 #s(literal 6 binary64) #s(literal 6 binary64))))
(*.f64 (fma.f64 (*.f64 #s(literal 9 binary64) #s(literal 9 binary64)) y (*.f64 #s(literal 6 binary64) #s(literal 6 binary64))) (fma.f64 y #s(literal 9 binary64) #s(literal 6 binary64)))
(*.f64 (fma.f64 (*.f64 #s(literal 9 binary64) y) (fma.f64 y #s(literal 9 binary64) #s(literal 6 binary64)) (*.f64 #s(literal 6 binary64) #s(literal 6 binary64))) (fma.f64 (*.f64 #s(literal 9 binary64) #s(literal 9 binary64)) y (*.f64 #s(literal 6 binary64) #s(literal 6 binary64))))
(*.f64 (fma.f64 y #s(literal 9 binary64) #s(literal 6 binary64)) (fma.f64 (*.f64 #s(literal 9 binary64) #s(literal 9 binary64)) y (*.f64 #s(literal 6 binary64) #s(literal 6 binary64))))
(*.f64 (neg.f64 (fma.f64 (*.f64 #s(literal 9 binary64) #s(literal 9 binary64)) y (*.f64 #s(literal 6 binary64) #s(literal 6 binary64)))) (neg.f64 (fma.f64 y #s(literal 9 binary64) #s(literal 6 binary64))))
(*.f64 #s(literal 9 binary64) y)
(*.f64 y #s(literal 9 binary64))
(*.f64 (*.f64 #s(literal 9 binary64) y) y)
(*.f64 (neg.f64 #s(literal 9 binary64)) y)
(*.f64 y (*.f64 #s(literal 9 binary64) y))
#s(literal 9 binary64)
(neg.f64 (neg.f64 #s(literal 9 binary64)))

eval7.0ms (0.2%)

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

Compiled 1 759 to 265 computations (84.9% saved)

prune17.0ms (0.5%)

Memory
-12.2MiB live, 33.3MiB allocated; 10ms collecting garbage
Pruning

20 alts after pruning (14 fresh and 6 done)

PrunedKeptTotal
New64468
Fresh11011
Picked145
Done022
Total662086
Accuracy
100.0%
Counts
86 → 20
Alt Table
Click to see full alt table
StatusAccuracyProgram
32.4%
(+.f64 #s(approx 2 #s(literal 2 binary64)) (*.f64 y y))
5.3%
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
5.3%
(+.f64 #s(approx 2 #s(literal 1 binary64)) y)
40.1%
(+.f64 #s(approx 2 #s(literal 0 binary64)) (*.f64 y y))
5.6%
(+.f64 #s(approx 2 #s(literal 0 binary64)) y)
99.8%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (*.f64 x x)))
50.6%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (fabs.f64 x)))
50.6%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) x))
48.9%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) y (*.f64 x x)))
5.4%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (+.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) x))
67.2%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) #s(approx (+ (* 2 (/ (pow y 2) (pow x 2))) (/ (pow y 2) (pow x 2))) (*.f64 #s(literal 3 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))))))
59.0%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) y))
1.7%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (neg.f64 #s(literal 3 binary64)) y))
58.9%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (*.f64 y y)))
5.9%
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y)))
6.8%
#s(approx (+ x 0) (fma.f64 #s(literal 3 binary64) y x))
4.1%
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
4.1%
#s(approx (+ 2 y) #s(literal 2 binary64))
4.1%
#s(approx (+ 2 y) #s(literal 1 binary64))
9.5%
#s(approx (+ 2 y) #s(literal 0 binary64))
Compiler

Compiled 311 to 194 computations (37.6% saved)

regimes354.0ms (10.5%)

Memory
-20.9MiB live, 610.8MiB allocated; 151ms collecting garbage
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
2 → 2
3 → 2
4 → 2
5 → 2
6 → 2
7 → 2
11 → 2
13 → 2
15 → 1
16 → 1
19 → 1
24 → 2
36 → 1
Calls
Call 1
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
Outputs
#s(approx (+ 2 y) #s(literal 0 binary64))
Call 2
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
Outputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
Call 3
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
#s(approx (+ 2 y) #s(literal 2 binary64))
Outputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 2 binary64))
Call 4
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
Outputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
Call 5
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
(+.f64 #s(approx 2 #s(literal 0 binary64)) y)
Outputs
#s(approx (+ 2 y) #s(literal 0 binary64))
(+.f64 #s(approx 2 #s(literal 0 binary64)) y)
Call 6
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
(+.f64 #s(approx 2 #s(literal 0 binary64)) y)
(+.f64 #s(approx 2 #s(literal 1 binary64)) y)
Outputs
#s(approx (+ 2 y) #s(literal 0 binary64))
(+.f64 #s(approx 2 #s(literal 1 binary64)) y)
Call 7
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
(+.f64 #s(approx 2 #s(literal 0 binary64)) y)
(+.f64 #s(approx 2 #s(literal 1 binary64)) y)
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
Outputs
#s(approx (+ 2 y) #s(literal 0 binary64))
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
Call 8
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
(+.f64 #s(approx 2 #s(literal 0 binary64)) y)
(+.f64 #s(approx 2 #s(literal 1 binary64)) y)
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 y #s(literal 3 binary64)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (neg.f64 #s(literal 3 binary64)) y))
#s(approx 2 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
Outputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y)))
Call 9
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
(+.f64 #s(approx 2 #s(literal 0 binary64)) y)
(+.f64 #s(approx 2 #s(literal 1 binary64)) y)
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 y #s(literal 3 binary64)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (neg.f64 #s(literal 3 binary64)) y))
#s(approx 2 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
#s(approx (+ x 0) (fma.f64 #s(literal 3 binary64) y x))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (+.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) x))
Outputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ x 0) (fma.f64 #s(literal 3 binary64) y x))
Call 10
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
(+.f64 #s(approx 2 #s(literal 0 binary64)) y)
(+.f64 #s(approx 2 #s(literal 1 binary64)) y)
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 y #s(literal 3 binary64)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (neg.f64 #s(literal 3 binary64)) y))
#s(approx 2 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
#s(approx (+ x 0) (fma.f64 #s(literal 3 binary64) y x))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (+.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) x))
(+.f64 #s(approx 2 #s(literal 0 binary64)) (*.f64 y y))
(+.f64 #s(approx 2 #s(literal 2 binary64)) (*.f64 y y))
Outputs
(+.f64 #s(approx 2 #s(literal 0 binary64)) (*.f64 y y))
Call 11
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
(+.f64 #s(approx 2 #s(literal 0 binary64)) y)
(+.f64 #s(approx 2 #s(literal 1 binary64)) y)
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 y #s(literal 3 binary64)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (neg.f64 #s(literal 3 binary64)) y))
#s(approx 2 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
#s(approx (+ x 0) (fma.f64 #s(literal 3 binary64) y x))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (+.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) x))
(+.f64 #s(approx 2 #s(literal 0 binary64)) (*.f64 y y))
(+.f64 #s(approx 2 #s(literal 2 binary64)) (*.f64 y y))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (*.f64 y y)))
Outputs
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (*.f64 y y)))
Call 12
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
(+.f64 #s(approx 2 #s(literal 0 binary64)) y)
(+.f64 #s(approx 2 #s(literal 1 binary64)) y)
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 y #s(literal 3 binary64)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (neg.f64 #s(literal 3 binary64)) y))
#s(approx 2 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
#s(approx (+ x 0) (fma.f64 #s(literal 3 binary64) y x))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (+.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) x))
(+.f64 #s(approx 2 #s(literal 0 binary64)) (*.f64 y y))
(+.f64 #s(approx 2 #s(literal 2 binary64)) (*.f64 y y))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (*.f64 y y)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) y))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 y (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
Outputs
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) y))
Call 13
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
(+.f64 #s(approx 2 #s(literal 0 binary64)) y)
(+.f64 #s(approx 2 #s(literal 1 binary64)) y)
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 y #s(literal 3 binary64)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (neg.f64 #s(literal 3 binary64)) y))
#s(approx 2 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
#s(approx (+ x 0) (fma.f64 #s(literal 3 binary64) y x))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (+.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) x))
(+.f64 #s(approx 2 #s(literal 0 binary64)) (*.f64 y y))
(+.f64 #s(approx 2 #s(literal 2 binary64)) (*.f64 y y))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (*.f64 y y)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) y))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 y (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) y (*.f64 x x)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) x))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 y (+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y)))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (fabs.f64 x)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
Outputs
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) y))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) y (*.f64 x x)))
Call 14
Inputs
#s(approx (+ 2 y) #s(literal 0 binary64))
#s(approx (+ 2 y) #s(literal 1 binary64))
#s(approx (+ 2 y) #s(literal 2 binary64))
#s(approx (+ x 0) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))
(+.f64 #s(approx 2 #s(literal 0 binary64)) y)
(+.f64 #s(approx 2 #s(literal 1 binary64)) y)
(+.f64 #s(approx 2 #s(literal 2 binary64)) y)
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 #s(literal 6 binary64) y)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 y #s(literal 3 binary64)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (neg.f64 #s(literal 3 binary64)) y))
#s(approx 2 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)))
#s(approx (+ x 0) (fma.f64 #s(literal 3 binary64) y x))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (+.f64 (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)) x))
(+.f64 #s(approx 2 #s(literal 0 binary64)) (*.f64 y y))
(+.f64 #s(approx 2 #s(literal 2 binary64)) (*.f64 y y))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (*.f64 y y)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) y))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 y (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) y (*.f64 x x)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) x))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) #s(approx (* (* 3 y) (+ (* 3 y) 2)) (*.f64 y (+.f64 #s(literal 6 binary64) (*.f64 #s(literal 9 binary64) y)))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (fabs.f64 x)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (*.f64 #s(literal 3 binary64) y) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (*.f64 x x)))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64)) (fma.f64 #s(literal 3 binary64) y #s(literal 2 binary64))))
(+.f64 (+.f64 (*.f64 (-.f64 x y) #s(approx (+ y x) y)) (*.f64 y y)) (*.f64 y y))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 #s(literal 3 binary64) (pow.f64 y x)))
(+.f64 (+.f64 (*.f64 (-.f64 x y) (+.f64 y x)) (*.f64 y y)) (*.f64 y y))
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (pow.f64 x #s(literal 2 binary64))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) #s(approx (+ (* 2 (/ (pow y 2) (pow x 2))) (/ (pow y 2) (pow x 2))) (*.f64 #s(literal 3 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))))))
(+.f64 #s(approx (+ (+ (* x x) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))))))) (*.f64 y y))
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64))) (/.f64 (pow.f64 y #s(literal 2 binary64)) (pow.f64 x #s(literal 2 binary64)))))))
Outputs
#s(approx (+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)) (fma.f64 #s(literal 3 binary64) (*.f64 y y) (*.f64 x x)))
Calls

50 calls:

57.0ms
x
25.0ms
x
14.0ms
(*.f64 x x)
14.0ms
x
11.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
9.5%1(*.f64 x x)
9.5%1x
9.5%1(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
11.3%2(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
11.3%2(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
9.5%1(*.f64 x x)
9.5%1x
9.5%1(*.f64 y y)
9.5%1y
11.3%2(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
12.1%2(*.f64 y y)
12.1%2y
12.3%2(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
12.5%2(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
12.5%2(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
12.4%2(*.f64 y y)
12.4%2y
11.7%2(*.f64 x x)
11.7%2x
12.6%2(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
12.9%2(*.f64 x x)
13.7%2(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
12.9%2x
12.8%2(*.f64 y y)
12.8%2y
40.1%1(*.f64 y y)
40.1%1y
40.1%1x
40.1%1(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
40.1%1(*.f64 x x)
58.9%1(*.f64 y y)
58.9%1y
58.9%1x
58.9%1(*.f64 x x)
58.9%1(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
59.0%1(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
59.0%1(*.f64 y y)
59.0%1y
59.0%1(*.f64 x x)
59.0%1x
74.6%2(*.f64 y y)
83.1%2(*.f64 x x)
63.8%3(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
83.1%2x
74.6%2y
99.8%1(*.f64 y y)
99.8%1(*.f64 x x)
99.8%1(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
99.8%1x
99.8%1y
Compiler

Compiled 950 to 309 computations (67.5% saved)

bsearch11.0ms (0.3%)

Memory
22.0MiB live, 22.0MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
10.0ms
6.994518589101032e-5
14262.720434194616
Samples
5.0ms144×0valid
Compiler

Compiled 405 to 228 computations (43.7% saved)

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

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.2428309484266058e-214
1.125010809889121e-201
Compiler

Compiled 18 to 12 computations (33.3% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.161852730331423e-276
1.912112834559457e-274
Compiler

Compiled 18 to 12 computations (33.3% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
9.187996125192991e-168
2.0919724967241252e-152
Compiler

Compiled 18 to 12 computations (33.3% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
9.187996125192991e-168
2.0919724967241252e-152
Compiler

Compiled 18 to 12 computations (33.3% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.161852730331423e-276
1.912112834559457e-274
Compiler

Compiled 18 to 12 computations (33.3% saved)

bsearch12.0ms (0.4%)

Memory
-35.0MiB live, 17.3MiB allocated; 6ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
11.0ms
9.187996125192991e-168
2.0919724967241252e-152
Samples
6.0ms160×0valid
Compiler

Compiled 138 to 162 computations (-17.4% saved)

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

bsearch6.0ms (0.2%)

Memory
8.8MiB live, 8.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
6.0ms
9.187996125192991e-168
2.0919724967241252e-152
Samples
2.0ms112×0valid
Compiler

Compiled 118 to 152 computations (-28.8% saved)

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

bsearch4.0ms (0.1%)

Memory
7.8MiB live, 7.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
3.0ms
9.187996125192991e-168
2.0919724967241252e-152
Samples
1.0ms64×0valid
Compiler

Compiled 118 to 152 computations (-28.8% saved)

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

derivations4.0ms (0.1%)

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

Compiled 378 to 74 computations (80.4% saved)

preprocess620.0ms (18.4%)

Memory
-17.9MiB live, 732.1MiB allocated; 213ms collecting garbage
Remove

(negabs y)

(negabs x)

(abs y)

(abs x)

Compiler

Compiled 5 181 to 2 743 computations (47.1% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...