Data.Random.Distribution.Normal:normalTail from random-fu-0.2.6.2

Time bar (total: 2.8s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.7MiB live, 0.7MiB 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 9 to 7 computations (22.2% saved)

sample807.0ms (29.3%)

Memory
28.8MiB live, 1 299.7MiB allocated; 317ms collecting garbage
Samples
355.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 165.0ms
ival-mult: 78.0ms (47.2% of total)
ival-add: 76.0ms (46% of total)
ival-true: 6.0ms (3.6% of total)
adjust: 3.0ms (1.8% of total)
ival-assert: 3.0ms (1.8% of total)
Bogosity

explain90.0ms (3.3%)

Memory
15.8MiB live, 229.4MiB allocated; 19ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(+.f64 (*.f64 x x) y)
00-0-(+.f64 (+.f64 (*.f64 x x) y) y)
00-0-y
00-0-(*.f64 x x)
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
24.0ms512×0valid
Compiler

Compiled 45 to 19 computations (57.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-add: 5.0ms (51.1% of total)
ival-mult: 4.0ms (40.8% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess371.0ms (13.5%)

Memory
-8.6MiB live, 224.4MiB allocated; 31ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01748
14845
212243
319942
430942
537942
658742
7137842
8610542
057
087
1167
2387
3827
41177
51557
62477
76087
829007
082746
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x x) y) y)
Outputs
(+.f64 (+.f64 (*.f64 x x) y) y)
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
Symmetry

(abs x)

Compiler

Compiled 7 to 5 computations (28.6% 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
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (+.f64 (*.f64 x x) y) y)
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify150.0ms (5.5%)

Memory
1.7MiB live, 146.4MiB allocated; 22ms collecting garbage
Localize:

Found 3 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0517
0817
11617
23817
38217
411717
515517
624717
760817
8290017
0827415
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x x) y) y)
(+.f64 (*.f64 x x) y)
(*.f64 x x)
x
y
Outputs
(+.f64 (+.f64 (*.f64 x x) y) y)
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(+.f64 (*.f64 x x) y)
(fma.f64 x x y)
(*.f64 x x)
x
y

localize21.0ms (0.8%)

Memory
-16.2MiB live, 29.3MiB allocated; 7ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 (+.f64 (*.f64 x x) y) y)
accuracy0.0
(+.f64 (*.f64 x x) y)
accuracy0.0
(*.f64 x x)
Samples
17.0ms256×0valid
Compiler

Compiled 19 to 7 computations (63.2% saved)

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

series4.0ms (0.1%)

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

6 calls:

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

simplify254.0ms (9.2%)

Memory
29.6MiB live, 251.2MiB allocated; 33ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043149
1107149
2345149
31940149
08901129
Stop Event
iter limit
node limit
Counts
13 → 13
Calls
Call 1
Inputs
#s(approx (+ (* x x) y) #s(hole binary64 y))
#s(approx (+ (* x x) y) #s(hole binary64 (+ y (pow x 2))))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* 2 y)))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (+ (* 2 y) (pow x 2))))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) y) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) y) #s(hole binary64 (* (pow x 2) (+ 1 (/ y (pow x 2))))))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (pow x 2)))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))))
#s(approx (+ (* x x) y) #s(hole binary64 (* y (+ 1 (/ (pow x 2) y)))))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* y (+ 2 (/ (pow x 2) y)))))
#s(approx (+ (* x x) y) #s(hole binary64 (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))))
Outputs
#s(approx (+ (* x x) y) #s(hole binary64 y))
#s(approx (+ (* x x) y) y)
#s(approx (+ (* x x) y) #s(hole binary64 (+ y (pow x 2))))
#s(approx (+ (* x x) y) (fma.f64 x x y))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* 2 y)))
#s(approx (+ (+ (* x x) y) y) (*.f64 #s(literal 2 binary64) y))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (+ (* 2 y) (pow x 2))))
#s(approx (+ (+ (* x x) y) y) (fma.f64 #s(literal 2 binary64) y (*.f64 x x)))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (* x x) (*.f64 x x))
#s(approx (+ (* x x) y) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) y) (*.f64 x x))
#s(approx (+ (* x x) y) #s(hole binary64 (* (pow x 2) (+ 1 (/ y (pow x 2))))))
#s(approx (+ (* x x) y) (fma.f64 x x y))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (pow x 2)))
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))))
#s(approx (+ (+ (* x x) y) y) (fma.f64 #s(literal 2 binary64) y (*.f64 x x)))
#s(approx (+ (* x x) y) #s(hole binary64 (* y (+ 1 (/ (pow x 2) y)))))
#s(approx (+ (* x x) y) (fma.f64 x x y))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* y (+ 2 (/ (pow x 2) y)))))
#s(approx (+ (+ (* x x) y) y) (fma.f64 #s(literal 2 binary64) y (*.f64 x x)))
#s(approx (+ (* x x) y) #s(hole binary64 (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))))
#s(approx (+ (* x x) y) (fma.f64 x x y))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))))
#s(approx (+ (+ (* x x) y) y) (fma.f64 #s(literal 2 binary64) y (*.f64 x x)))

rewrite123.0ms (4.5%)

Memory
0.6MiB live, 88.4MiB allocated; 69ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0515
0815
14115
035613
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
3 → 57
Calls
Call 1
Inputs
(+.f64 (*.f64 x x) y)
(+.f64 (+.f64 (*.f64 x x) y) y)
(*.f64 x x)
Outputs
(/.f64 (-.f64 (*.f64 y y) (pow.f64 x #s(literal 4 binary64))) (-.f64 y (*.f64 x x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 x x) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y (*.f64 x x)) (pow.f64 x #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 y y)) (-.f64 (*.f64 x x) y))
(/.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y y (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 y (*.f64 x x)))))
(/.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (-.f64 y (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))))
(fma.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)) y)
(fma.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)) y)
(fma.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)) y)
(fma.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)) y)
(fma.f64 (neg.f64 x) (neg.f64 x) y)
(fma.f64 (fabs.f64 x) (fabs.f64 x) y)
(fma.f64 x x y)
(-.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (*.f64 x x) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 x x) y)))
(-.f64 y (*.f64 (neg.f64 (neg.f64 x)) (neg.f64 x)))
(-.f64 y (*.f64 (neg.f64 (fabs.f64 x)) (fabs.f64 x)))
(-.f64 y (*.f64 (neg.f64 x) x))
(-.f64 y (*.f64 x (neg.f64 x)))
(+.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 y (-.f64 y (*.f64 x x)) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y (*.f64 x x)) (pow.f64 x #s(literal 4 binary64)))))
(+.f64 y (*.f64 x x))
(+.f64 (*.f64 x x) y)
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x x y) #s(literal 2 binary64))) (-.f64 y (fma.f64 x x y)))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) y) (*.f64 #s(literal 2 binary64) y))) (-.f64 (*.f64 x x) (*.f64 #s(literal 2 binary64) y)))
(/.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) y) #s(literal 3 binary64))) (+.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) y) (*.f64 #s(literal 2 binary64) y)) (*.f64 (*.f64 x x) (*.f64 #s(literal 2 binary64) y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)) (*.f64 y y))) (neg.f64 (-.f64 (fma.f64 x x y) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (fma.f64 x x y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y (fma.f64 x x y)) (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)) (*.f64 y y)) (-.f64 (fma.f64 x x y) y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (fma.f64 x x y) #s(literal 3 binary64))) (fma.f64 y y (-.f64 (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)) (*.f64 (fma.f64 x x y) y))))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (fma.f64 x x y) #s(literal 3 binary64))) (fma.f64 y (-.f64 y (fma.f64 x x y)) (pow.f64 (fma.f64 x x y) #s(literal 2 binary64))))
(fma.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) y))
(fma.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)) (*.f64 #s(literal 2 binary64) y))
(fma.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)) (*.f64 #s(literal 2 binary64) y))
(fma.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)) (*.f64 #s(literal 2 binary64) y))
(fma.f64 (neg.f64 x) (neg.f64 x) (*.f64 #s(literal 2 binary64) y))
(fma.f64 (fabs.f64 x) (fabs.f64 x) (*.f64 #s(literal 2 binary64) y))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(fma.f64 x x (*.f64 #s(literal 2 binary64) y))
(-.f64 (/.f64 (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)) (-.f64 (fma.f64 x x y) y)) (/.f64 (*.f64 y y) (-.f64 (fma.f64 x x y) y)))
(+.f64 (/.f64 (pow.f64 (fma.f64 x x y) #s(literal 3 binary64)) (fma.f64 y (-.f64 y (fma.f64 x x y)) (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y (fma.f64 x x y)) (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(literal 2 binary64) y) (*.f64 x x))
(+.f64 (fma.f64 x x y) y)
(+.f64 y (fma.f64 x x y))
(+.f64 (*.f64 x x) (*.f64 #s(literal 2 binary64) y))
(*.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)))
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)))
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)))
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 (fabs.f64 x) (fabs.f64 x))
(*.f64 x x)
(pow.f64 (neg.f64 x) #s(literal 2 binary64))
(pow.f64 (fabs.f64 x) #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 x) x))
(neg.f64 (*.f64 x (neg.f64 x)))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))

eval17.0ms (0.6%)

Memory
-18.1MiB live, 23.9MiB allocated; 14ms collecting garbage
Compiler

Compiled 819 to 186 computations (77.3% saved)

prune2.0ms (0.1%)

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

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New60464
Fresh000
Picked101
Done000
Total61465
Accuracy
100.0%
Counts
65 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (fma.f64 x x y) y)
57.9%
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
52.9%
(+.f64 #s(approx (+ (* x x) y) y) y)
50.0%
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
Compiler

Compiled 37 to 24 computations (35.1% saved)

simplify220.0ms (8%)

Memory
30.2MiB live, 214.9MiB allocated; 86ms collecting garbage
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 x x y)
cost-diff0
(+.f64 (fma.f64 x x y) y)
cost-diff0
(*.f64 x x)
cost-diff0
#s(approx (+ (* x x) y) (*.f64 x x))
cost-diff0
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
cost-diff0
#s(approx (+ (* x x) y) y)
cost-diff0
(+.f64 #s(approx (+ (* x x) y) y) y)
cost-diff0
(*.f64 x x)
cost-diff0
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01364
01864
12864
25064
39464
412964
516764
626564
765964
8307064
0844464
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
(*.f64 x x)
x
(+.f64 #s(approx (+ (* x x) y) y) y)
#s(approx (+ (* x x) y) y)
y
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
#s(approx (+ (* x x) y) (*.f64 x x))
(*.f64 x x)
x
y
(+.f64 (fma.f64 x x y) y)
(fma.f64 x x y)
x
y
Outputs
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
(*.f64 x x)
x
(+.f64 #s(approx (+ (* x x) y) y) y)
#s(approx (+ (* x x) y) y)
y
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
#s(approx (+ (* x x) y) (*.f64 x x))
(*.f64 x x)
x
y
(+.f64 (fma.f64 x x y) y)
(fma.f64 x x y)
x
y

localize37.0ms (1.3%)

Memory
3.8MiB live, 48.8MiB allocated; 4ms collecting garbage
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(fma.f64 x x y)
accuracy0.0
(+.f64 (fma.f64 x x y) y)
accuracy0.0
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
accuracy0.0
(*.f64 x x)
accuracy31.991583710451405
#s(approx (+ (* x x) y) (*.f64 x x))
accuracy0.0
(+.f64 #s(approx (+ (* x x) y) y) y)
accuracy30.123927101089212
#s(approx (+ (* x x) y) y)
accuracy0.0
(*.f64 x x)
accuracy31.997664651268156
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
Samples
31.0ms256×0valid
Compiler

Compiled 57 to 7 computations (87.7% saved)

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

series3.0ms (0.1%)

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

6 calls:

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

simplify183.0ms (6.6%)

Memory
-15.1MiB live, 237.5MiB allocated; 33ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043149
1107149
2345149
31936149
08877129
Stop Event
iter limit
node limit
Counts
13 → 13
Calls
Call 1
Inputs
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* 2 y)))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (+ (* 2 y) (pow x 2))))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) y) #s(hole binary64 y))
#s(approx (+ (* x x) y) #s(hole binary64 (+ y (pow x 2))))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (pow x 2)))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))))
#s(approx (+ (* x x) y) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) y) #s(hole binary64 (* (pow x 2) (+ 1 (/ y (pow x 2))))))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* y (+ 2 (/ (pow x 2) y)))))
#s(approx (+ (* x x) y) #s(hole binary64 (* y (+ 1 (/ (pow x 2) y)))))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))))
#s(approx (+ (* x x) y) #s(hole binary64 (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))))
Outputs
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* 2 y)))
#s(approx (+ (+ (* x x) y) y) (*.f64 #s(literal 2 binary64) y))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (+ (* 2 y) (pow x 2))))
#s(approx (+ (+ (* x x) y) y) (fma.f64 #s(literal 2 binary64) y (*.f64 x x)))
#s(approx (* x x) #s(hole binary64 (pow x 2)))
#s(approx (* x x) (*.f64 x x))
#s(approx (+ (* x x) y) #s(hole binary64 y))
#s(approx (+ (* x x) y) y)
#s(approx (+ (* x x) y) #s(hole binary64 (+ y (pow x 2))))
#s(approx (+ (* x x) y) (fma.f64 x x y))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (pow x 2)))
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))))
#s(approx (+ (+ (* x x) y) y) (fma.f64 #s(literal 2 binary64) y (*.f64 x x)))
#s(approx (+ (* x x) y) #s(hole binary64 (pow x 2)))
#s(approx (+ (* x x) y) (*.f64 x x))
#s(approx (+ (* x x) y) #s(hole binary64 (* (pow x 2) (+ 1 (/ y (pow x 2))))))
#s(approx (+ (* x x) y) (fma.f64 x x y))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* y (+ 2 (/ (pow x 2) y)))))
#s(approx (+ (+ (* x x) y) y) (fma.f64 #s(literal 2 binary64) y (*.f64 x x)))
#s(approx (+ (* x x) y) #s(hole binary64 (* y (+ 1 (/ (pow x 2) y)))))
#s(approx (+ (* x x) y) (fma.f64 x x y))
#s(approx (+ (+ (* x x) y) y) #s(hole binary64 (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))))
#s(approx (+ (+ (* x x) y) y) (fma.f64 #s(literal 2 binary64) y (*.f64 x x)))
#s(approx (+ (* x x) y) #s(hole binary64 (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))))
#s(approx (+ (* x x) y) (fma.f64 x x y))

rewrite98.0ms (3.6%)

Memory
-10.6MiB live, 36.4MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01355
01855
17355
055855
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
8 → 80
Calls
Call 1
Inputs
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
(*.f64 x x)
(+.f64 #s(approx (+ (* x x) y) y) y)
#s(approx (+ (* x x) y) y)
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
#s(approx (+ (* x x) y) (*.f64 x x))
(+.f64 (fma.f64 x x y) y)
(fma.f64 x x y)
Outputs
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
(*.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)))
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)))
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)))
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 (fabs.f64 x) (fabs.f64 x))
(*.f64 x x)
(pow.f64 (neg.f64 x) #s(literal 2 binary64))
(pow.f64 (fabs.f64 x) #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 x) x))
(neg.f64 (*.f64 x (neg.f64 x)))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 #s(approx (+ (* x x) y) y) #s(literal 2 binary64))) (-.f64 y #s(approx (+ (* x x) y) y)))
(/.f64 (neg.f64 (*.f64 (+.f64 #s(approx (+ (* x x) y) y) y) (-.f64 #s(approx (+ (* x x) y) y) y))) (neg.f64 (-.f64 #s(approx (+ (* x x) y) y) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 #s(approx (+ (* x x) y) y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(approx (+ (* x x) y) y) #s(approx (+ (* x x) y) y) (*.f64 y (-.f64 y #s(approx (+ (* x x) y) y))))))
(/.f64 (*.f64 (+.f64 #s(approx (+ (* x x) y) y) y) (-.f64 #s(approx (+ (* x x) y) y) y)) (-.f64 #s(approx (+ (* x x) y) y) y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 #s(approx (+ (* x x) y) y) #s(literal 3 binary64))) (fma.f64 y y (-.f64 (pow.f64 #s(approx (+ (* x x) y) y) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* x x) y) y) y))))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 #s(approx (+ (* x x) y) y) #s(literal 3 binary64))) (fma.f64 #s(approx (+ (* x x) y) y) #s(approx (+ (* x x) y) y) (*.f64 y (-.f64 y #s(approx (+ (* x x) y) y)))))
(-.f64 (/.f64 (pow.f64 #s(approx (+ (* x x) y) y) #s(literal 2 binary64)) (-.f64 #s(approx (+ (* x x) y) y) y)) (/.f64 (*.f64 y y) (-.f64 #s(approx (+ (* x x) y) y) y)))
(+.f64 (/.f64 (pow.f64 #s(approx (+ (* x x) y) y) #s(literal 3 binary64)) (fma.f64 #s(approx (+ (* x x) y) y) #s(approx (+ (* x x) y) y) (*.f64 y (-.f64 y #s(approx (+ (* x x) y) y))))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 #s(approx (+ (* x x) y) y) #s(approx (+ (* x x) y) y) (*.f64 y (-.f64 y #s(approx (+ (* x x) y) y))))))
(+.f64 #s(approx (+ (* x x) y) y) y)
(+.f64 y #s(approx (+ (* x x) y) y))
#s(approx (+ (* x x) y) y)
(/.f64 (-.f64 (*.f64 y y) (pow.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(literal 2 binary64))) (-.f64 y #s(approx (+ (* x x) y) (*.f64 x x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(literal 2 binary64)) (*.f64 y y))) (neg.f64 (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y #s(approx (+ (* x x) y) (*.f64 x x))) (pow.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(literal 2 binary64)) (*.f64 y y)) (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y y (-.f64 (pow.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y))))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (-.f64 y #s(approx (+ (* x x) y) (*.f64 x x))) (pow.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(literal 2 binary64)) (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)) (/.f64 (*.f64 y y) (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)))
(+.f64 (/.f64 (pow.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(literal 3 binary64)) (fma.f64 y (-.f64 y #s(approx (+ (* x x) y) (*.f64 x x))) (pow.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(literal 2 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y #s(approx (+ (* x x) y) (*.f64 x x))) (pow.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(literal 2 binary64)))))
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
(+.f64 y #s(approx (+ (* x x) y) (*.f64 x x)))
#s(approx (+ (* x x) y) (*.f64 x x))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) y) (*.f64 #s(literal 2 binary64) y))) (-.f64 (*.f64 x x) (*.f64 #s(literal 2 binary64) y)))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x x y) #s(literal 2 binary64))) (-.f64 y (fma.f64 x x y)))
(/.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) y) #s(literal 3 binary64))) (+.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) y) (*.f64 #s(literal 2 binary64) y)) (*.f64 (*.f64 x x) (*.f64 #s(literal 2 binary64) y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)) (*.f64 y y))) (neg.f64 (-.f64 (fma.f64 x x y) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x x y) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y (fma.f64 x x y)) (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)) (*.f64 y y)) (-.f64 (fma.f64 x x y) y))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x y) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y y (-.f64 (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)) (*.f64 (fma.f64 x x y) y))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x y) #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (-.f64 y (fma.f64 x x y)) (pow.f64 (fma.f64 x x y) #s(literal 2 binary64))))
(fma.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) y))
(fma.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)) (*.f64 #s(literal 2 binary64) y))
(fma.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)) (*.f64 #s(literal 2 binary64) y))
(fma.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)) (*.f64 #s(literal 2 binary64) y))
(fma.f64 (neg.f64 x) (neg.f64 x) (*.f64 #s(literal 2 binary64) y))
(fma.f64 (fabs.f64 x) (fabs.f64 x) (*.f64 #s(literal 2 binary64) y))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(fma.f64 x x (*.f64 #s(literal 2 binary64) y))
(-.f64 (/.f64 (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)) (-.f64 (fma.f64 x x y) y)) (/.f64 (*.f64 y y) (-.f64 (fma.f64 x x y) y)))
(+.f64 (/.f64 (pow.f64 (fma.f64 x x y) #s(literal 3 binary64)) (fma.f64 y (-.f64 y (fma.f64 x x y)) (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y (fma.f64 x x y)) (pow.f64 (fma.f64 x x y) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(literal 2 binary64) y) (*.f64 x x))
(+.f64 (*.f64 x x) (*.f64 #s(literal 2 binary64) y))
(+.f64 (fma.f64 x x y) y)
(+.f64 y (fma.f64 x x y))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 x #s(literal 4 binary64))) (-.f64 y (*.f64 x x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 x x) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y (*.f64 x x)) (pow.f64 x #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 y y)) (-.f64 (*.f64 x x) y))
(/.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y y (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (*.f64 x x) y))))
(/.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (-.f64 y (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))))
(fma.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)) y)
(fma.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)) y)
(fma.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)) y)
(fma.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)) y)
(fma.f64 (neg.f64 x) (neg.f64 x) y)
(fma.f64 (fabs.f64 x) (fabs.f64 x) y)
(fma.f64 x x y)
(-.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (*.f64 x x) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 x x) y)))
(-.f64 y (*.f64 (neg.f64 (neg.f64 x)) (neg.f64 x)))
(-.f64 y (*.f64 (neg.f64 (fabs.f64 x)) (fabs.f64 x)))
(-.f64 y (*.f64 (neg.f64 x) x))
(-.f64 y (*.f64 x (neg.f64 x)))
(+.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 y (-.f64 y (*.f64 x x)) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y (*.f64 x x)) (pow.f64 x #s(literal 4 binary64)))))
(+.f64 (*.f64 x x) y)
(+.f64 y (*.f64 x x))

eval9.0ms (0.3%)

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

Compiled 1 729 to 257 computations (85.1% saved)

prune4.0ms (0.2%)

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

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New99099
Fresh000
Picked044
Done000
Total994103
Accuracy
100.0%
Counts
103 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (fma.f64 x x y) y)
57.9%
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
52.9%
(+.f64 #s(approx (+ (* x x) y) y) y)
50.0%
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
Compiler

Compiled 81 to 39 computations (51.9% saved)

regimes10.0ms (0.4%)

Memory
-25.0MiB live, 21.4MiB allocated; 2ms collecting garbage
Counts
5 → 1
Calls
Call 1
Inputs
(+.f64 #s(approx (+ (* x x) y) y) y)
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
(+.f64 (fma.f64 x x y) y)
(+.f64 (+.f64 (*.f64 x x) y) y)
Outputs
(+.f64 (fma.f64 x x y) y)
Calls

4 calls:

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

Compiled 12 to 12 computations (0% saved)

regimes6.0ms (0.2%)

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

4 calls:

2.0ms
y
2.0ms
(+.f64 (+.f64 (*.f64 x x) y) y)
1.0ms
x
1.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
90.8%2(*.f64 x x)
84.1%2(+.f64 (+.f64 (*.f64 x x) y) y)
90.8%2x
67.4%3y
Compiler

Compiled 12 to 12 computations (0% saved)

regimes3.0ms (0.1%)

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

2 calls:

1.0ms
x
1.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
89.9%2(*.f64 x x)
89.9%2x
Compiler

Compiled 4 to 5 computations (-25% saved)

regimes7.0ms (0.3%)

Memory
-34.1MiB live, 11.4MiB allocated; 4ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(+.f64 #s(approx (+ (* x x) y) y) y)
Outputs
(+.f64 #s(approx (+ (* x x) y) y) y)
Calls

4 calls:

3.0ms
(*.f64 x x)
1.0ms
y
1.0ms
(+.f64 (+.f64 (*.f64 x x) y) y)
1.0ms
x
Results
AccuracySegmentsBranch
52.9%1y
52.9%1(+.f64 (+.f64 (*.f64 x x) y) y)
52.9%1(*.f64 x x)
52.9%1x
Compiler

Compiled 12 to 12 computations (0% saved)

bsearch9.0ms (0.3%)

Memory
16.7MiB live, 16.7MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
8.0ms
31177.62545276775
1434897.0645864827
Samples
4.0ms112×0valid
Compiler

Compiled 150 to 115 computations (23.3% saved)

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

bsearch4.0ms (0.2%)

Memory
10.2MiB live, 10.2MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
4.0ms
31177.62545276775
1434897.0645864827
Samples
2.0ms48×0valid
Compiler

Compiled 150 to 115 computations (23.3% saved)

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

simplify128.0ms (4.6%)

Memory
-51.5MiB live, 63.7MiB allocated; 76ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01963
12763
24963
39363
412963
517263
632263
7150963
8588563
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (fma.f64 x x y) y)
(if (<=.f64 x #s(literal 600000 binary64)) (+.f64 #s(approx (+ (* x x) y) y) y) (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y))
(if (<=.f64 x #s(literal 800000 binary64)) (+.f64 #s(approx (+ (* x x) y) y) y) #s(approx (+ (+ (* x x) y) y) (*.f64 x x)))
(+.f64 #s(approx (+ (* x x) y) y) y)
Outputs
(+.f64 (fma.f64 x x y) y)
(if (<=.f64 x #s(literal 600000 binary64)) (+.f64 #s(approx (+ (* x x) y) y) y) (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y))
(if (<=.f64 x #s(literal 800000 binary64)) (+.f64 #s(approx (+ (* x x) y) y) y) #s(approx (+ (+ (* x x) y) y) (*.f64 x x)))
(+.f64 #s(approx (+ (* x x) y) y) y)

derivations163.0ms (5.9%)

Memory
48.4MiB live, 140.8MiB allocated; 9ms collecting garbage
Stop Event
done
Compiler

Compiled 63 to 19 computations (69.8% saved)

preprocess30.0ms (1.1%)

Memory
-36.4MiB live, 58.1MiB allocated; 13ms collecting garbage
Remove

(abs x)

Compiler

Compiled 166 to 66 computations (60.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...