Graphics.Rasterific.Shading:$sradialGradientWithFocusShader from Rasterific-0.6.1

Time bar (total: 1.4s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.5MiB live, 0.5MiB 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 7 to 6 computations (14.3% saved)

sample867.0ms (61.4%)

Memory
12.1MiB live, 990.4MiB allocated; 242ms collecting garbage
Samples
596.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 149.0ms
ival-mult: 100.0ms (67.1% of total)
ival-sub: 38.0ms (25.5% of total)
ival-true: 6.0ms (4% of total)
ival-assert: 3.0ms (2% of total)
adjust: 2.0ms (1.3% of total)
Bogosity

explain57.0ms (4%)

Memory
5.6MiB live, 96.5MiB allocated; 14ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(-.f64 x (*.f64 y y))
00-0-y
00-0-(*.f64 y y)
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
26.0ms512×0valid
Compiler

Compiled 29 to 16 computations (44.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult: 4.0ms (57.8% of total)
ival-sub: 2.0ms (28.9% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess16.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01229
13229
28627
314527
419127
045
065
1125
2335
3595
4745
0745
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(-.f64 x (*.f64 y y))
Outputs
(-.f64 x (*.f64 y y))
Symmetry

(abs y)

Compiler

Compiled 5 to 4 computations (20% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 x (*.f64 y y))
Compiler

Compiled 5 to 4 computations (20% saved)

series3.0ms (0.2%)

Memory
7.9MiB live, 7.9MiB allocated; 0ms collecting garbage
Counts
4 → 10
Calls
Call 1
Inputs
(-.f64 x (*.f64 y y))
x
(*.f64 y y)
y
Outputs
#s(approx (- x (* y y)) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (- x (* y y)) #s(hole binary64 (- x (pow y 2))))
#s(approx x #s(hole binary64 x))
#s(approx (- x (* y y)) #s(hole binary64 x))
#s(approx (- x (* y y)) #s(hole binary64 (* x (+ 1 (* -1 (/ (pow y 2) x))))))
#s(approx (- x (* y y)) #s(hole binary64 (* -1 (* x (- (/ (pow y 2) x) 1)))))
#s(approx (- x (* y y)) #s(hole binary64 (+ x (* -1 (pow y 2)))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx y #s(hole binary64 y))
#s(approx (- x (* y y)) #s(hole binary64 (* (pow y 2) (- (/ x (pow y 2)) 1))))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((- x (* y y)) x (* y y) y)
1.0ms
y
@inf
((- x (* y y)) x (* y y) y)
1.0ms
y
@-inf
((- x (* y y)) x (* y y) y)
0.0ms
x
@inf
((- x (* y y)) x (* y y) y)
0.0ms
y
@0
((- x (* y y)) x (* y y) y)

simplify112.0ms (7.9%)

Memory
-27.4MiB live, 161.5MiB allocated; 28ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03191
16791
219591
377591
4288491
5655491
0816691
Stop Event
iter limit
node limit
Counts
10 → 10
Calls
Call 1
Inputs
#s(approx (- x (* y y)) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (- x (* y y)) #s(hole binary64 (- x (pow y 2))))
#s(approx x #s(hole binary64 x))
#s(approx (- x (* y y)) #s(hole binary64 x))
#s(approx (- x (* y y)) #s(hole binary64 (* x (+ 1 (* -1 (/ (pow y 2) x))))))
#s(approx (- x (* y y)) #s(hole binary64 (* -1 (* x (- (/ (pow y 2) x) 1)))))
#s(approx (- x (* y y)) #s(hole binary64 (+ x (* -1 (pow y 2)))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx y #s(hole binary64 y))
#s(approx (- x (* y y)) #s(hole binary64 (* (pow y 2) (- (/ x (pow y 2)) 1))))
Outputs
#s(approx (- x (* y y)) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (- x (* y y)) (*.f64 (neg.f64 y) y))
#s(approx (- x (* y y)) #s(hole binary64 (- x (pow y 2))))
#s(approx (- x (* y y)) (-.f64 x (*.f64 y y)))
#s(approx x #s(hole binary64 x))
#s(approx x x)
#s(approx (- x (* y y)) #s(hole binary64 x))
#s(approx (- x (* y y)) x)
#s(approx (- x (* y y)) #s(hole binary64 (* x (+ 1 (* -1 (/ (pow y 2) x))))))
#s(approx (- x (* y y)) (-.f64 x (*.f64 y y)))
#s(approx (- x (* y y)) #s(hole binary64 (* -1 (* x (- (/ (pow y 2) x) 1)))))
#s(approx (- x (* y y)) (-.f64 x (*.f64 y y)))
#s(approx (- x (* y y)) #s(hole binary64 (+ x (* -1 (pow y 2)))))
#s(approx (- x (* y y)) (-.f64 x (*.f64 y y)))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx (* y y) (*.f64 y y))
#s(approx y #s(hole binary64 y))
#s(approx y y)
#s(approx (- x (* y y)) #s(hole binary64 (* (pow y 2) (- (/ x (pow y 2)) 1))))
#s(approx (- x (* y y)) (*.f64 (*.f64 (-.f64 (/.f64 x (*.f64 y y)) #s(literal 1 binary64)) y) y))

rewrite43.0ms (3%)

Memory
-9.5MiB live, 91.3MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0410
0610
12710
021010
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
4 → 30
Calls
Call 1
Inputs
(-.f64 x (*.f64 y y))
x
(*.f64 y y)
y
Outputs
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 y) y) #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (*.f64 (neg.f64 y) y)))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 y #s(literal 4 binary64)))) (neg.f64 (fma.f64 y y x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 6 binary64)))) (neg.f64 (fma.f64 x x (fma.f64 (*.f64 y y) x (pow.f64 y #s(literal 4 binary64))))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 y #s(literal 4 binary64))) (fma.f64 y y x))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 6 binary64))) (fma.f64 x x (fma.f64 (*.f64 y y) x (pow.f64 y #s(literal 4 binary64)))))
(fma.f64 (neg.f64 y) y x)
(fma.f64 y (neg.f64 y) x)
(-.f64 (/.f64 (*.f64 x x) (fma.f64 y y x)) (/.f64 (pow.f64 y #s(literal 4 binary64)) (fma.f64 y y x)))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (fma.f64 (*.f64 y y) x (pow.f64 y #s(literal 4 binary64))))) (/.f64 (pow.f64 y #s(literal 6 binary64)) (fma.f64 x x (fma.f64 (*.f64 y y) x (pow.f64 y #s(literal 4 binary64))))))
(-.f64 x (*.f64 (neg.f64 (neg.f64 y)) y))
(-.f64 x (*.f64 y y))
(+.f64 (*.f64 (neg.f64 y) y) x)
(+.f64 x (*.f64 (neg.f64 (neg.f64 y)) (neg.f64 y)))
(+.f64 x (*.f64 (neg.f64 (fabs.f64 y)) (fabs.f64 y)))
(+.f64 x (*.f64 (neg.f64 y) y))
x
(*.f64 (pow.f64 y #s(literal 1 binary64)) (pow.f64 y #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 y)))
(*.f64 (neg.f64 (fabs.f64 y)) (neg.f64 (fabs.f64 y)))
(*.f64 (fabs.f64 (fabs.f64 y)) (fabs.f64 (fabs.f64 y)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 y y)
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (fabs.f64 y) #s(literal 2 binary64))
(pow.f64 y #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 y) y))
(fabs.f64 (*.f64 y y))
(exp.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))
y

eval4.0ms (0.3%)

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

Compiled 370 to 100 computations (73% saved)

prune2.0ms (0.1%)

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

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New36339
Fresh000
Picked101
Done000
Total37340
Accuracy
100.0%
Counts
40 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (neg.f64 y) y x)
52.4%
#s(approx (- x (* y y)) (*.f64 (neg.f64 y) y))
49.9%
#s(approx (- x (* y y)) x)
Compiler

Compiled 22 to 16 computations (27.3% saved)

series6.0ms (0.4%)

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

6 calls:

TimeVariablePointExpression
3.0ms
y
@-inf
((- x (* y y)) x (- x (* y y)) (* (neg y) y) (neg y) y (+ (* (neg y) y) x))
1.0ms
y
@inf
((- x (* y y)) x (- x (* y y)) (* (neg y) y) (neg y) y (+ (* (neg y) y) x))
1.0ms
y
@0
((- x (* y y)) x (- x (* y y)) (* (neg y) y) (neg y) y (+ (* (neg y) y) x))
0.0ms
x
@-inf
((- x (* y y)) x (- x (* y y)) (* (neg y) y) (neg y) y (+ (* (neg y) y) x))
0.0ms
x
@inf
((- x (* y y)) x (- x (* y y)) (* (neg y) y) (neg y) y (+ (* (neg y) y) x))

simplify99.0ms (7%)

Memory
38.5MiB live, 182.9MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042165
180165
2208165
3867165
43113165
56415165
08030165
Stop Event
iter limit
node limit
Counts
17 → 17
Calls
Call 1
Inputs
#s(approx (- x (* y y)) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (- x (* y y)) #s(hole binary64 (- x (pow y 2))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* (neg y) y) x) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (+ (* (neg y) y) x) #s(hole binary64 (+ x (* -1 (pow y 2)))))
#s(approx (- x (* y y)) #s(hole binary64 x))
#s(approx (- x (* y y)) #s(hole binary64 (* x (+ 1 (* -1 (/ (pow y 2) x))))))
#s(approx (+ (* (neg y) y) x) #s(hole binary64 x))
#s(approx (+ (* (neg y) y) x) #s(hole binary64 (* x (+ 1 (* -1 (/ (pow y 2) x))))))
#s(approx (- x (* y y)) #s(hole binary64 (* -1 (* x (- (/ (pow y 2) x) 1)))))
#s(approx (+ (* (neg y) y) x) #s(hole binary64 (* -1 (* x (- (/ (pow y 2) x) 1)))))
#s(approx (- x (* y y)) #s(hole binary64 (+ x (* -1 (pow y 2)))))
#s(approx (* (neg y) y) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (neg y) #s(hole binary64 (* -1 y)))
#s(approx y #s(hole binary64 y))
#s(approx (- x (* y y)) #s(hole binary64 (* (pow y 2) (- (/ x (pow y 2)) 1))))
#s(approx (+ (* (neg y) y) x) #s(hole binary64 (* (pow y 2) (- (/ x (pow y 2)) 1))))
Outputs
#s(approx (- x (* y y)) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (+ (* (neg y) y) x) (*.f64 y (neg.f64 y)))
#s(approx (- x (* y y)) #s(hole binary64 (- x (pow y 2))))
#s(approx (+ (* (neg y) y) x) (fma.f64 y (neg.f64 y) x))
#s(approx x #s(hole binary64 x))
#s(approx x x)
#s(approx (+ (* (neg y) y) x) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (+ (* (neg y) y) x) (*.f64 y (neg.f64 y)))
#s(approx (+ (* (neg y) y) x) #s(hole binary64 (+ x (* -1 (pow y 2)))))
#s(approx (+ (* (neg y) y) x) (fma.f64 y (neg.f64 y) x))
#s(approx (- x (* y y)) #s(hole binary64 x))
#s(approx (+ (* (neg y) y) x) x)
#s(approx (- x (* y y)) #s(hole binary64 (* x (+ 1 (* -1 (/ (pow y 2) x))))))
#s(approx (+ (* (neg y) y) x) (fma.f64 y (neg.f64 y) x))
#s(approx (+ (* (neg y) y) x) #s(hole binary64 x))
#s(approx (+ (* (neg y) y) x) x)
#s(approx (+ (* (neg y) y) x) #s(hole binary64 (* x (+ 1 (* -1 (/ (pow y 2) x))))))
#s(approx (+ (* (neg y) y) x) (fma.f64 y (neg.f64 y) x))
#s(approx (- x (* y y)) #s(hole binary64 (* -1 (* x (- (/ (pow y 2) x) 1)))))
#s(approx (+ (* (neg y) y) x) (fma.f64 y (neg.f64 y) x))
#s(approx (+ (* (neg y) y) x) #s(hole binary64 (* -1 (* x (- (/ (pow y 2) x) 1)))))
#s(approx (+ (* (neg y) y) x) (fma.f64 y (neg.f64 y) x))
#s(approx (- x (* y y)) #s(hole binary64 (+ x (* -1 (pow y 2)))))
#s(approx (+ (* (neg y) y) x) (fma.f64 y (neg.f64 y) x))
#s(approx (* (neg y) y) #s(hole binary64 (* -1 (pow y 2))))
#s(approx (* (neg y) y) (*.f64 y (neg.f64 y)))
#s(approx (neg y) #s(hole binary64 (* -1 y)))
#s(approx (neg y) (neg.f64 y))
#s(approx y #s(hole binary64 y))
#s(approx y y)
#s(approx (- x (* y y)) #s(hole binary64 (* (pow y 2) (- (/ x (pow y 2)) 1))))
#s(approx (+ (* (neg y) y) x) (*.f64 (*.f64 y (-.f64 (/.f64 x (*.f64 y y)) #s(literal 1 binary64))) y))
#s(approx (+ (* (neg y) y) x) #s(hole binary64 (* (pow y 2) (- (/ x (pow y 2)) 1))))
#s(approx (+ (* (neg y) y) x) (*.f64 (*.f64 y (-.f64 (/.f64 x (*.f64 y y)) #s(literal 1 binary64))) y))

rewrite38.0ms (2.7%)

Memory
0.5MiB live, 91.8MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0930
01230
14330
031730
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
7 → 35
Calls
Call 1
Inputs
#s(approx (- x (* y y)) x)
x
#s(approx (- x (* y y)) (*.f64 (neg.f64 y) y))
(*.f64 (neg.f64 y) y)
(neg.f64 y)
y
(fma.f64 (neg.f64 y) y x)
Outputs
#s(approx (- x (* y y)) x)
x
#s(approx (- x (* y y)) (*.f64 (neg.f64 y) y))
(*.f64 (neg.f64 (fabs.f64 y)) (fabs.f64 y))
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 y))
(*.f64 (fabs.f64 y) (neg.f64 (fabs.f64 y)))
(*.f64 (neg.f64 y) (neg.f64 (neg.f64 y)))
(*.f64 (neg.f64 y) y)
(*.f64 y (neg.f64 y))
(neg.f64 (*.f64 y y))
(neg.f64 y)
y
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 y #s(literal 4 binary64)))) (neg.f64 (fma.f64 y y x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 (neg.f64 y) y) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 6 binary64)))) (neg.f64 (fma.f64 x x (fma.f64 (*.f64 y y) x (pow.f64 y #s(literal 4 binary64))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (neg.f64 (pow.f64 y #s(literal 6 binary64))))) (neg.f64 (fma.f64 x (fma.f64 y y x) (pow.f64 y #s(literal 4 binary64)))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 y #s(literal 4 binary64))) (fma.f64 y y x))
(/.f64 (-.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x x)) (-.f64 (*.f64 (neg.f64 y) y) x))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 6 binary64))) (fma.f64 x x (fma.f64 (*.f64 y y) x (pow.f64 y #s(literal 4 binary64)))))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (neg.f64 (pow.f64 y #s(literal 6 binary64)))) (fma.f64 x x (-.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 (*.f64 (neg.f64 y) y) x))))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (neg.f64 (pow.f64 y #s(literal 6 binary64)))) (fma.f64 x (fma.f64 y y x) (pow.f64 y #s(literal 4 binary64))))
(fma.f64 (neg.f64 (fabs.f64 y)) (fabs.f64 y) x)
(fma.f64 (neg.f64 (neg.f64 y)) (neg.f64 y) x)
(fma.f64 (fabs.f64 y) (neg.f64 (fabs.f64 y)) x)
(fma.f64 (neg.f64 y) (neg.f64 (neg.f64 y)) x)
(fma.f64 (neg.f64 y) y x)
(fma.f64 y (neg.f64 y) x)
(-.f64 (/.f64 (*.f64 x x) (fma.f64 y y x)) (/.f64 (pow.f64 y #s(literal 4 binary64)) (fma.f64 y y x)))
(-.f64 (/.f64 (pow.f64 y #s(literal 4 binary64)) (-.f64 (*.f64 (neg.f64 y) y) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 (neg.f64 y) y) x)))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (fma.f64 (*.f64 y y) x (pow.f64 y #s(literal 4 binary64))))) (/.f64 (pow.f64 y #s(literal 6 binary64)) (fma.f64 x x (fma.f64 (*.f64 y y) x (pow.f64 y #s(literal 4 binary64))))))
(-.f64 x (*.f64 (neg.f64 (neg.f64 y)) y))
(-.f64 x (*.f64 y y))
(+.f64 (/.f64 (neg.f64 (pow.f64 y #s(literal 6 binary64))) (fma.f64 x (fma.f64 y y x) (pow.f64 y #s(literal 4 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (fma.f64 y y x) (pow.f64 y #s(literal 4 binary64)))))
(+.f64 (*.f64 (neg.f64 y) y) x)
(+.f64 x (*.f64 (neg.f64 y) y))

eval21.0ms (1.5%)

Memory
-7.9MiB live, 46.8MiB allocated; 20ms collecting garbage
Compiler

Compiled 606 to 113 computations (81.4% saved)

prune6.0ms (0.4%)

Memory
-28.9MiB live, 17.1MiB allocated; 3ms collecting garbage
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New53053
Fresh000
Picked033
Done000
Total53356
Accuracy
100.0%
Counts
56 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (neg.f64 y) y x)
52.4%
#s(approx (- x (* y y)) (*.f64 (neg.f64 y) y))
49.9%
#s(approx (- x (* y y)) x)
Compiler

Compiled 49 to 27 computations (44.9% saved)

regimes7.0ms (0.5%)

Memory
27.9MiB live, 27.9MiB allocated; 0ms collecting garbage
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (- x (* y y)) x)
#s(approx (- x (* y y)) (*.f64 (neg.f64 y) y))
(-.f64 x (*.f64 y y))
(fma.f64 (neg.f64 y) y x)
Outputs
(fma.f64 (neg.f64 y) y x)
Calls

4 calls:

2.0ms
x
2.0ms
y
2.0ms
(-.f64 x (*.f64 y y))
2.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
100.0%1(*.f64 y y)
100.0%1(-.f64 x (*.f64 y y))
100.0%1x
100.0%1y
Compiler

Compiled 10 to 11 computations (-10% saved)

regimes7.0ms (0.5%)

Memory
-21.4MiB live, 26.0MiB allocated; 1ms collecting garbage
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (- x (* y y)) x)
#s(approx (- x (* y y)) (*.f64 (neg.f64 y) y))
(-.f64 x (*.f64 y y))
Outputs
(-.f64 x (*.f64 y y))
Calls

4 calls:

2.0ms
x
2.0ms
(-.f64 x (*.f64 y y))
2.0ms
y
1.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
100.0%1(*.f64 y y)
100.0%1(-.f64 x (*.f64 y y))
100.0%1x
100.0%1y
Compiler

Compiled 10 to 11 computations (-10% saved)

regimes5.0ms (0.4%)

Memory
24.8MiB live, 24.8MiB allocated; 0ms collecting garbage
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (- x (* y y)) x)
#s(approx (- x (* y y)) (*.f64 (neg.f64 y) y))
Outputs
#s(approx (- x (* y y)) x)
#s(approx (- x (* y y)) (*.f64 (neg.f64 y) y))
Calls

4 calls:

1.0ms
x
1.0ms
y
1.0ms
(*.f64 y y)
1.0ms
(-.f64 x (*.f64 y y))
Results
AccuracySegmentsBranch
89.1%2(*.f64 y y)
81.7%2(-.f64 x (*.f64 y y))
64.9%3x
89.1%2y
Compiler

Compiled 10 to 11 computations (-10% saved)

regimes6.0ms (0.4%)

Memory
-26.2MiB live, 19.5MiB allocated; 2ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (- x (* y y)) x)
Outputs
#s(approx (- x (* y y)) x)
Calls

4 calls:

1.0ms
(-.f64 x (*.f64 y y))
1.0ms
x
1.0ms
y
1.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
49.9%1x
49.9%1(-.f64 x (*.f64 y y))
49.9%1(*.f64 y y)
49.9%1y
Compiler

Compiled 10 to 11 computations (-10% saved)

bsearch12.0ms (0.9%)

Memory
-12.9MiB live, 43.2MiB allocated; 2ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
9.0ms
1.147113190760843e-10
1.7657003760053104e-5
Samples
5.0ms144×0valid
Compiler

Compiled 161 to 135 computations (16.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-sub: 1.0ms (55.4% of total)
ival-mult: 1.0ms (55.4% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify14.0ms (1%)

Memory
-0.2MiB live, 44.5MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01438
12738
25338
38038
49538
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 (neg.f64 y) y x)
(-.f64 x (*.f64 y y))
(if (<=.f64 y #s(literal 6989102394647075/37778931862957161709568 binary64)) #s(approx (- x (* y y)) x) #s(approx (- x (* y y)) (*.f64 (neg.f64 y) y)))
#s(approx (- x (* y y)) x)
Outputs
(fma.f64 (neg.f64 y) y x)
(-.f64 x (*.f64 y y))
(if (<=.f64 y #s(literal 6989102394647075/37778931862957161709568 binary64)) #s(approx (- x (* y y)) x) #s(approx (- x (* y y)) (*.f64 (neg.f64 y) y)))
#s(approx (- x (* y y)) x)

derivations64.0ms (4.5%)

Memory
5.5MiB live, 100.0MiB allocated; 2ms collecting garbage
Stop Event
done
Compiler

Compiled 38 to 14 computations (63.2% saved)

preprocess22.0ms (1.5%)

Memory
15.3MiB live, 66.7MiB allocated; 4ms collecting garbage
Remove

(abs y)

Compiler

Compiled 106 to 52 computations (50.9% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...