Data.Random.Distribution.T:$ccdf from random-fu-0.2.6.2

Time bar (total: 1.9s)

start0.0ms (0%)

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

analyze18.0ms (0.9%)

Memory
-18.0MiB live, 24.6MiB allocated; 12ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
75%74.9%25%0.1%0%0%0%5
75%74.9%25%0.1%0%0%0%6
87.5%87.4%12.5%0.1%0%0%0%7
87.5%87.4%12.5%0.1%0%0%0%8
93.8%93.7%6.2%0.1%0%0%0%9
93.8%93.7%6.2%0.1%0%0%0%10
96.9%96.8%3.1%0.1%0%0%0%11
96.9%96.8%3.1%0.1%0%0%0%12
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample964.0ms (50.4%)

Memory
40.2MiB live, 757.4MiB allocated; 95ms collecting garbage
Samples
677.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 341.0ms
ival-add: 249.0ms (73.1% of total)
ival-div: 81.0ms (23.8% of total)
ival-true: 5.0ms (1.5% of total)
ival-assert: 3.0ms (0.9% of total)
adjust: 2.0ms (0.6% of total)
Bogosity

explain72.0ms (3.8%)

Memory
1.2MiB live, 45.6MiB allocated; 10ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(+.f64 y y)
00-0-(/.f64 (+.f64 x y) (+.f64 y y))
00-0-y
00-0-(+.f64 x 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
21.0ms512×0valid
Compiler

Compiled 41 to 19 computations (53.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-add: 5.0ms (55.4% of total)
ival-div: 3.0ms (33.2% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess17.0ms (0.9%)

Memory
7.6MiB live, 7.6MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01541
13939
210839
324635
439635
545635
646935
057
087
1147
2247
3367
4427
0427
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (+.f64 y y))
Outputs
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (/.f64 (+.f64 y x) y) #s(literal 2 binary64))
Compiler

Compiled 7 to 5 computations (28.6% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 7 to 5 computations (28.6% saved)

simplify4.0ms (0.2%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 y y)
cost-diff0
(+.f64 x y)
cost-diff0
(/.f64 (+.f64 x y) (+.f64 y y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0515
0815
11415
22415
33615
44215
04215
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (+.f64 y y))
(+.f64 x y)
x
y
(+.f64 y y)
Outputs
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (/.f64 (+.f64 y x) y) #s(literal 2 binary64))
(+.f64 x y)
(+.f64 y x)
x
y
(+.f64 y y)
(*.f64 #s(literal 2 binary64) y)

localize66.0ms (3.5%)

Memory
-46.9MiB live, 16.1MiB allocated; 30ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 y y)
accuracy0.0
(+.f64 x y)
accuracy0.00390625
(/.f64 (+.f64 x y) (+.f64 y y))
Samples
62.0ms256×0valid
Compiler

Compiled 17 to 7 computations (58.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 55.0ms
ival-add: 52.0ms (95.3% of total)
ival-div: 2.0ms (3.7% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.2%)

Memory
2.1MiB live, 2.1MiB allocated; 0ms collecting garbage
Counts
3 → 13
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (+.f64 y y))
(+.f64 x y)
(+.f64 y y)
Outputs
1/2
(+ 1/2 (* 1/2 (/ x y)))
y
(+ x y)
(* 1/2 (/ x y))
(* x (+ (* 1/2 (/ 1 x)) (* 1/2 (/ 1 y))))
x
(* x (+ 1 (/ y x)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(/ (+ (* 1/2 x) (* 1/2 y)) y)
(* 2 y)
(* y (+ 1 (/ x y)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
((/ (+ x y) (+ y y)) (+ x y) (+ y y))
1.0ms
y
@inf
((/ (+ x y) (+ y y)) (+ x y) (+ y y))
1.0ms
y
@0
((/ (+ x y) (+ y y)) (+ x y) (+ y y))
1.0ms
x
@inf
((/ (+ x y) (+ y y)) (+ x y) (+ y y))
1.0ms
x
@-inf
((/ (+ x y) (+ y y)) (+ x y) (+ y y))

simplify125.0ms (6.5%)

Memory
28.1MiB live, 28.1MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03447
110547
222847
364847
4204947
5449847
6740947
0820044
Stop Event
iter limit
node limit
Counts
13 → 11
Calls
Call 1
Inputs
1/2
(+ 1/2 (* 1/2 (/ x y)))
y
(+ x y)
(* 1/2 (/ x y))
(* x (+ (* 1/2 (/ 1 x)) (* 1/2 (/ 1 y))))
x
(* x (+ 1 (/ y x)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(/ (+ (* 1/2 x) (* 1/2 y)) y)
(* 2 y)
(* y (+ 1 (/ x y)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
Outputs
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* 1/2 (/ x y)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) y) x #s(literal 1/2 binary64))
y
(+ x y)
(+.f64 y x)
(* 1/2 (/ x y))
(*.f64 (/.f64 x y) #s(literal 1/2 binary64))
(* x (+ (* 1/2 (/ 1 x)) (* 1/2 (/ 1 y))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) y) x #s(literal 1/2 binary64))
x
(* x (+ 1 (/ y x)))
(+.f64 y x)
(* -1 (* x (- (* -1 (/ y x)) 1)))
(+.f64 y x)
(/ (+ (* 1/2 x) (* 1/2 y)) y)
(fma.f64 (/.f64 #s(literal 1/2 binary64) y) x #s(literal 1/2 binary64))
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* y (+ 1 (/ x y)))
(+.f64 y x)
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+.f64 y x)

rewrite69.0ms (3.6%)

Memory
-28.8MiB live, 19.9MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0513
0813
13613
026713
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
3 → 42
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (+.f64 y y))
(+.f64 x y)
(+.f64 y y)
Outputs
(*.f64 (/.f64 (+.f64 y x) #s(literal 0 binary64)) #s(literal 0 binary64))
(*.f64 (/.f64 (+.f64 y x) (*.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y y #s(literal 0 binary64)))
(/.f64 (/.f64 (+.f64 y x) #s(literal 2 binary64)) y)
(/.f64 (-.f64 (*.f64 (/.f64 x (*.f64 #s(literal -2 binary64) y)) (/.f64 x (*.f64 #s(literal -2 binary64) y))) (*.f64 (/.f64 y (*.f64 #s(literal -2 binary64) y)) (/.f64 y (*.f64 #s(literal -2 binary64) y)))) (-.f64 (/.f64 x (*.f64 #s(literal -2 binary64) y)) (/.f64 y (*.f64 #s(literal -2 binary64) y))))
(/.f64 (+.f64 (pow.f64 (/.f64 x (*.f64 #s(literal -2 binary64) y)) #s(literal 3 binary64)) (pow.f64 (/.f64 y (*.f64 #s(literal -2 binary64) y)) #s(literal 3 binary64))) (fma.f64 (/.f64 x (*.f64 #s(literal -2 binary64) y)) (/.f64 x (*.f64 #s(literal -2 binary64) y)) (-.f64 (*.f64 (/.f64 y (*.f64 #s(literal -2 binary64) y)) (/.f64 y (*.f64 #s(literal -2 binary64) y))) (*.f64 (/.f64 x (*.f64 #s(literal -2 binary64) y)) (/.f64 y (*.f64 #s(literal -2 binary64) y))))))
(/.f64 (neg.f64 (neg.f64 (+.f64 y x))) (*.f64 #s(literal -2 binary64) y))
(/.f64 (fma.f64 x (*.f64 #s(literal -2 binary64) y) (*.f64 (*.f64 #s(literal -2 binary64) y) y)) (*.f64 (*.f64 #s(literal -2 binary64) y) (*.f64 #s(literal -2 binary64) y)))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (*.f64 (-.f64 x y) (*.f64 #s(literal -2 binary64) y)))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (*.f64 #s(literal -2 binary64) y)))
(/.f64 (neg.f64 (+.f64 y x)) (*.f64 #s(literal -2 binary64) y))
(/.f64 (+.f64 y x) (*.f64 #s(literal -2 binary64) y))
(neg.f64 (*.f64 (/.f64 (+.f64 y x) #s(literal 0 binary64)) #s(literal 0 binary64)))
(fma.f64 (/.f64 x #s(literal 0 binary64)) #s(literal 0 binary64) (/.f64 y (*.f64 #s(literal -2 binary64) y)))
(fma.f64 (/.f64 x (*.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y y #s(literal 0 binary64)) (/.f64 y (*.f64 #s(literal -2 binary64) y)))
(fma.f64 (/.f64 y #s(literal 0 binary64)) #s(literal 0 binary64) (/.f64 x (*.f64 #s(literal -2 binary64) y)))
(fma.f64 (/.f64 y (*.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y y #s(literal 0 binary64)) (/.f64 x (*.f64 #s(literal -2 binary64) y)))
(+.f64 (/.f64 y (*.f64 #s(literal -2 binary64) y)) (/.f64 x (*.f64 #s(literal -2 binary64) y)))
(+.f64 (/.f64 x (*.f64 #s(literal -2 binary64) y)) (/.f64 y (*.f64 #s(literal -2 binary64) y)))
(/.f64 (-.f64 (*.f64 y y) (*.f64 x x)) (-.f64 y x))
(/.f64 (neg.f64 (*.f64 (+.f64 y x) (-.f64 x y))) (neg.f64 (-.f64 x y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 y y (-.f64 (*.f64 x x) (*.f64 y x))))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x y)) (/.f64 (*.f64 y y) (-.f64 x y)))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(+.f64 y x)
(+.f64 x y)
(*.f64 #s(literal -2 binary64) y)
(*.f64 #s(literal 2 binary64) (neg.f64 y))
(*.f64 #s(literal 2 binary64) y)
(*.f64 y #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y y #s(literal 0 binary64))))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y y #s(literal 0 binary64)))
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 3 binary64))) (neg.f64 (fma.f64 y y #s(literal 0 binary64))))
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y y #s(literal 0 binary64)))
(neg.f64 (*.f64 #s(literal -2 binary64) y))
(-.f64 (/.f64 (*.f64 y y) #s(literal 0 binary64)) (/.f64 (*.f64 y y) #s(literal 0 binary64)))
(+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y y #s(literal 0 binary64))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y y #s(literal 0 binary64))))
(+.f64 (neg.f64 y) (neg.f64 y))
(+.f64 y y)

eval4.0ms (0.2%)

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

Compiled 661 to 140 computations (78.8% saved)

prune2.0ms (0.1%)

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

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New45247
Fresh000
Picked011
Done000
Total45348
Accuracy
100.0%
Counts
48 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (+.f64 x y) (+.f64 y y))
57.1%
#s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64)))
42.9%
#s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64))
Compiler

Compiled 29 to 21 computations (27.6% saved)

simplify4.0ms (0.2%)

Memory
7.2MiB live, 7.2MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 x y)
cost-diff0
(*.f64 (/.f64 x y) #s(literal 1/2 binary64))
cost-diff0
#s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64)))
cost-diff0
#s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01034
01234
12134
23534
34734
45434
05434
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64)))
(*.f64 (/.f64 x y) #s(literal 1/2 binary64))
(/.f64 x y)
x
y
#s(literal 1/2 binary64)
Outputs
#s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64)))
(*.f64 (/.f64 x y) #s(literal 1/2 binary64))
(/.f64 x y)
x
y
#s(literal 1/2 binary64)

localize48.0ms (2.5%)

Memory
-0.9MiB live, 45.0MiB allocated; 3ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 x y)
accuracy0.00390625
(*.f64 (/.f64 x y) #s(literal 1/2 binary64))
accuracy27.48109609711816
#s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64)))
accuracy36.518005581629666
#s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64))
Samples
39.0ms256×0valid
Compiler

Compiled 28 to 10 computations (64.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-div: 3.0ms (38.4% of total)
ival-add: 3.0ms (38.4% of total)
ival-mult: 1.0ms (12.8% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.3%)

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

6 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((/ (+ x y) (+ y y)) (/ (+ x y) (+ y y)) (* (/ x y) 1/2) (/ x y))
1.0ms
x
@-inf
((/ (+ x y) (+ y y)) (/ (+ x y) (+ y y)) (* (/ x y) 1/2) (/ x y))
1.0ms
y
@-inf
((/ (+ x y) (+ y y)) (/ (+ x y) (+ y y)) (* (/ x y) 1/2) (/ x y))
1.0ms
x
@0
((/ (+ x y) (+ y y)) (/ (+ x y) (+ y y)) (* (/ x y) 1/2) (/ x y))
1.0ms
y
@inf
((/ (+ x y) (+ y y)) (/ (+ x y) (+ y y)) (* (/ x y) 1/2) (/ x y))

simplify39.0ms (2.1%)

Memory
3.4MiB live, 48.7MiB allocated; 4ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01730
15330
212230
329630
448030
572230
6147730
7214030
8252230
9252230
0252227
Stop Event
iter limit
saturated
Counts
6 → 6
Calls
Call 1
Inputs
1/2
(+ 1/2 (* 1/2 (/ x y)))
(* 1/2 (/ x y))
(/ x y)
(* x (+ (* 1/2 (/ 1 x)) (* 1/2 (/ 1 y))))
(/ (+ (* 1/2 x) (* 1/2 y)) y)
Outputs
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* 1/2 (/ x y)))
(fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64))
(* 1/2 (/ x y))
(*.f64 (/.f64 x y) #s(literal 1/2 binary64))
(/ x y)
(/.f64 x y)
(* x (+ (* 1/2 (/ 1 x)) (* 1/2 (/ 1 y))))
(fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64))
(/ (+ (* 1/2 x) (* 1/2 y)) y)
(fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64))

rewrite60.0ms (3.1%)

Memory
-12.6MiB live, 36.1MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01030
01230
14630
029330
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
4 → 14
Calls
Call 1
Inputs
#s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64))
#s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64)))
(*.f64 (/.f64 x y) #s(literal 1/2 binary64))
(/.f64 x y)
Outputs
#s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64))
#s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64)))
(*.f64 (/.f64 x y) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 x y))
(*.f64 x (/.f64 #s(literal 1/2 binary64) y))
(/.f64 (*.f64 (neg.f64 x) #s(literal 1/2 binary64)) (neg.f64 y))
(/.f64 (*.f64 #s(literal 1/2 binary64) (neg.f64 x)) (neg.f64 y))
(/.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) x)) (neg.f64 y))
(/.f64 (*.f64 #s(literal 1/2 binary64) x) y)
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 y)))
(/.f64 (neg.f64 x) (neg.f64 y))
(/.f64 x y)
(neg.f64 (/.f64 (neg.f64 x) y))
(neg.f64 (/.f64 x (neg.f64 y)))

eval2.0ms (0.1%)

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

Compiled 244 to 55 computations (77.5% saved)

prune3.0ms (0.1%)

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

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New17017
Fresh000
Picked022
Done011
Total17320
Accuracy
100.0%
Counts
20 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (+.f64 x y) (+.f64 y y))
57.1%
#s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64)))
42.9%
#s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64))
Compiler

Compiled 58 to 34 computations (41.4% saved)

regimes12.0ms (0.6%)

Memory
-28.8MiB live, 16.6MiB allocated; 4ms collecting garbage
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64))
#s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64)))
(/.f64 (+.f64 x y) (+.f64 y y))
Outputs
(/.f64 (+.f64 x y) (+.f64 y y))
Calls

3 calls:

9.0ms
y
2.0ms
x
1.0ms
(/.f64 (+.f64 x y) (+.f64 y y))
Results
AccuracySegmentsBranch
100.0%1(/.f64 (+.f64 x y) (+.f64 y y))
100.0%1x
100.0%1y
Compiler

Compiled 9 to 9 computations (0% saved)

regimes4.0ms (0.2%)

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

3 calls:

1.0ms
y
1.0ms
x
1.0ms
(/.f64 (+.f64 x y) (+.f64 y y))
Results
AccuracySegmentsBranch
96.7%3(/.f64 (+.f64 x y) (+.f64 y y))
77.2%3x
76.4%3y
Compiler

Compiled 9 to 9 computations (0% saved)

regimes3.0ms (0.2%)

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

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64))
Outputs
#s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64))
Calls

3 calls:

1.0ms
y
1.0ms
x
1.0ms
(/.f64 (+.f64 x y) (+.f64 y y))
Results
AccuracySegmentsBranch
42.9%1y
42.9%1x
42.9%1(/.f64 (+.f64 x y) (+.f64 y y))
Compiler

Compiled 9 to 9 computations (0% saved)

bsearch1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.6727080135161867
12.513335108383222
0.0ms
-12435732.747256406
0.4997112000293668
Compiler

Compiled 10 to 10 computations (0% saved)

simplify86.0ms (4.5%)

Memory
-17.0MiB live, 77.8MiB allocated; 4ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01959
13059
23959
35459
48259
513959
632359
799059
8252959
9398359
10588959
11753559
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (+.f64 y y))
(if (<=.f64 (/.f64 (+.f64 x y) (+.f64 y y)) #s(literal -10000000 binary64)) #s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64))) (if (<=.f64 (/.f64 (+.f64 x y) (+.f64 y y)) #s(literal 1 binary64)) #s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64)) #s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64)))))
#s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64))
Outputs
(/.f64 (+.f64 x y) (+.f64 y y))
(if (<=.f64 (/.f64 (+.f64 x y) (+.f64 y y)) #s(literal -10000000 binary64)) #s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64))) (if (<=.f64 (/.f64 (+.f64 x y) (+.f64 y y)) #s(literal 1 binary64)) #s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64)) #s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64)))))
(if (or (<=.f64 (/.f64 (+.f64 x y) (+.f64 y y)) #s(literal -10000000 binary64)) (not (<=.f64 (/.f64 (+.f64 x y) (+.f64 y y)) #s(literal 1 binary64)))) #s(approx (/ (+ x y) (+ y y)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64))) #s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64)))
#s(approx (/ (+ x y) (+ y y)) #s(literal 1/2 binary64))

derivations221.0ms (11.5%)

Memory
1.7MiB live, 188.5MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03447
110547
222847
364847
4204947
5449847
6740947
0820044
Stop Event
done
iter limit
node limit
Compiler

Compiled 59 to 20 computations (66.1% saved)

preprocess78.0ms (4.1%)

Memory
7.0MiB live, 97.4MiB allocated; 30ms collecting garbage
Compiler

Compiled 146 to 62 computations (57.5% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...