Linear.Matrix:fromQuaternion from linear-1.19.1.3, B

Time bar (total: 883.0ms)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
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 11 to 9 computations (18.2% saved)

sample616.0ms (69.8%)

Memory
41.6MiB live, 936.1MiB allocated
Samples
406.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 235.0ms
ival-mult: 182.0ms (77.4% of total)
ival-add: 38.0ms (16.2% of total)
ival-true: 6.0ms (2.6% of total)
exact: 5.0ms (2.1% of total)
ival-assert: 4.0ms (1.7% of total)
Bogosity

explain82.0ms (9.3%)

Memory
-23.2MiB live, 144.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
130-0-(+.f64 (*.f64 x x) (*.f64 x y))
00-0-#s(literal 2 binary64)
00-0-y
00-0-(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
00-0-(*.f64 x x)
00-0-(*.f64 x y)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (*.f64 x x) (*.f64 x y))nan-rescue130
(*.f64 x x)overflow72
(*.f64 x y)overflow37
Confusion
Predicted +Predicted -
+130
-0243
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+1300
-00243
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0243
113
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
28.0ms512×0valid
Compiler

Compiled 88 to 32 computations (63.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 10.0ms (75.3% of total)
ival-add: 2.0ms (15.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess3.0ms (0.3%)

Memory
5.5MiB live, 5.5MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
Outputs
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
Compiler

Compiled 9 to 7 computations (22.2% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.9%
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x y)
cost-diff0
(*.f64 x x)
cost-diff0
(+.f64 (*.f64 x x) (*.f64 x y))
cost-diff0
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
#s(literal 2 binary64)
(+.f64 (*.f64 x x) (*.f64 x y))
(*.f64 x x)
x
(*.f64 x y)
y
Outputs
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
#s(literal 2 binary64)
(+.f64 (*.f64 x x) (*.f64 x y))
(*.f64 x x)
x
(*.f64 x y)
y

localize20.0ms (2.2%)

Memory
0.3MiB live, 38.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 x y)
accuracy0.0
(*.f64 x x)
accuracy0.00390625
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
accuracy2.8085854933208236
(+.f64 (*.f64 x x) (*.f64 x y))
Samples
15.0ms256×0valid
Compiler

Compiled 52 to 16 computations (69.2% saved)

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

series6.0ms (0.6%)

Memory
9.5MiB live, 9.5MiB allocated
Counts
4 → 14
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
(+.f64 (*.f64 x x) (*.f64 x y))
(*.f64 x x)
(*.f64 x y)
Outputs
(* 2 (* x y))
(* x (+ (* 2 x) (* 2 y)))
(* x y)
(* x (+ x y))
(pow x 2)
(* 2 (pow x 2))
(* (pow x 2) (+ 2 (* 2 (/ y x))))
(* (pow x 2) (+ 1 (/ y x)))
(+ (* 2 (* x y)) (* 2 (pow x 2)))
(+ (* x y) (pow x 2))
(* y (+ (* 2 x) (* 2 (/ (pow x 2) y))))
(* y (+ x (/ (pow x 2) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (pow x 2) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (pow x 2) y)))))
Calls

6 calls:

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

simplify0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
egg-herbie
Counts
14 → 4
Calls
Call 1
Inputs
(* 2 (* x y))
(* x (+ (* 2 x) (* 2 y)))
(* x y)
(* x (+ x y))
(pow x 2)
(* 2 (pow x 2))
(* (pow x 2) (+ 2 (* 2 (/ y x))))
(* (pow x 2) (+ 1 (/ y x)))
(+ (* 2 (* x y)) (* 2 (pow x 2)))
(+ (* x y) (pow x 2))
(* y (+ (* 2 x) (* 2 (/ (pow x 2) y))))
(* y (+ x (/ (pow x 2) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (pow x 2) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (pow x 2) y)))))
Outputs
(* 2 (* x y))
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
(* x (+ (* 2 x) (* 2 y)))
(+.f64 (*.f64 x x) (*.f64 x y))
(* x y)
(*.f64 x x)
(* x (+ x y))
(*.f64 x y)

rewrite0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Counts
4 → 4
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
(+.f64 (*.f64 x x) (*.f64 x y))
(*.f64 x x)
(*.f64 x y)
Outputs
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
(+.f64 (*.f64 x x) (*.f64 x y))
(*.f64 x x)
(*.f64 x y)

eval1.0ms (0.1%)

Memory
1.7MiB live, 1.7MiB allocated
Compiler

Compiled 98 to 18 computations (81.6% saved)

prune1.0ms (0.1%)

Memory
2.3MiB live, 2.3MiB allocated
Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New628
Fresh000
Picked011
Done000
Total639
Accuracy
100.0%
Counts
9 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.9%
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
60.5%
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
57.9%
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
Compiler

Compiled 35 to 25 computations (28.6% saved)

simplify0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x y)
cost-diff0
#s(approx (+ (* x x) (* x y)) (*.f64 x y))
cost-diff0
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
cost-diff0
(*.f64 x x)
cost-diff0
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
cost-diff0
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(literal 2 binary64)
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
(*.f64 x x)
x
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
#s(literal 2 binary64)
#s(approx (+ (* x x) (* x y)) (*.f64 x y))
(*.f64 x y)
x
y
Outputs
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(literal 2 binary64)
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
(*.f64 x x)
x
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
#s(literal 2 binary64)
#s(approx (+ (* x x) (* x y)) (*.f64 x y))
(*.f64 x y)
x
y

localize21.0ms (2.4%)

Memory
-1.7MiB live, 36.9MiB allocated
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 x y)
accuracy0.00390625
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
accuracy25.290273476755996
#s(approx (+ (* x x) (* x y)) (*.f64 x y))
accuracy0.0
(*.f64 x x)
accuracy0.00390625
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
accuracy26.953781454736944
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
Samples
15.0ms256×0valid
Compiler

Compiled 104 to 21 computations (79.8% saved)

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

series3.0ms (0.4%)

Memory
6.2MiB live, 6.2MiB allocated
Counts
6 → 14
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
(*.f64 x x)
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
#s(approx (+ (* x x) (* x y)) (*.f64 x y))
(*.f64 x y)
Outputs
(* 2 (* x y))
(* x (+ (* 2 x) (* 2 y)))
(* x y)
(* x (+ x y))
(pow x 2)
(* 2 (pow x 2))
(* (pow x 2) (+ 2 (* 2 (/ y x))))
(* (pow x 2) (+ 1 (/ y x)))
(+ (* 2 (* x y)) (* 2 (pow x 2)))
(+ (* x y) (pow x 2))
(* y (+ (* 2 x) (* 2 (/ (pow x 2) y))))
(* y (+ x (/ (pow x 2) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (pow x 2) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (pow x 2) y)))))
Calls

6 calls:

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

simplify3.0ms (0.3%)

Memory
-40.2MiB live, 0.7MiB allocated
Algorithm
egg-herbie
Counts
14 → 6
Calls
Call 1
Inputs
(* 2 (* x y))
(* x (+ (* 2 x) (* 2 y)))
(* x y)
(* x (+ x y))
(pow x 2)
(* 2 (pow x 2))
(* (pow x 2) (+ 2 (* 2 (/ y x))))
(* (pow x 2) (+ 1 (/ y x)))
(+ (* 2 (* x y)) (* 2 (pow x 2)))
(+ (* x y) (pow x 2))
(* y (+ (* 2 x) (* 2 (/ (pow x 2) y))))
(* y (+ x (/ (pow x 2) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (pow x 2) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (pow x 2) y)))))
Outputs
(* 2 (* x y))
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
(* x (+ (* 2 x) (* 2 y)))
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
(* x y)
(*.f64 x x)
(* x (+ x y))
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
(pow x 2)
#s(approx (+ (* x x) (* x y)) (*.f64 x y))
(* 2 (pow x 2))
(*.f64 x y)

rewrite0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
(*.f64 x x)
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
#s(approx (+ (* x x) (* x y)) (*.f64 x y))
(*.f64 x y)
Outputs
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
(*.f64 x x)
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
#s(approx (+ (* x x) (* x y)) (*.f64 x y))
(*.f64 x y)

eval1.0ms (0.1%)

Memory
2.5MiB live, 2.5MiB allocated
Compiler

Compiled 183 to 22 computations (88% saved)

prune2.0ms (0.2%)

Memory
3.4MiB live, 3.4MiB allocated
Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New9211
Fresh000
Picked022
Done011
Total9514
Accuracy
100.0%
Counts
14 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.9%
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
60.5%
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
57.9%
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
30.0%
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
42.6%
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
Compiler

Compiled 69 to 44 computations (36.2% saved)

simplify0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 5 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x y)
cost-diff0
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
cost-diff0
(*.f64 x x)
cost-diff0
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
cost-diff0
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
Calls
Call 1
Inputs
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
(*.f64 x x)
x
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
(*.f64 x y)
x
y
Outputs
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
(*.f64 x x)
x
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
(*.f64 x y)
x
y

localize18.0ms (2.1%)

Memory
26.9MiB live, 26.9MiB allocated
Localize:

Found 5 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 x y)
accuracy44.82569762508244
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
accuracy0.0
(*.f64 x x)
accuracy26.953781454736944
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
accuracy30.05411731546016
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
Samples
13.0ms256×0valid
Compiler

Compiled 90 to 21 computations (76.7% saved)

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

series6.0ms (0.7%)

Memory
-32.3MiB live, 5.2MiB allocated
Counts
5 → 14
Calls
Call 1
Inputs
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
(*.f64 x x)
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
(*.f64 x y)
Outputs
(* 2 (* x y))
(* x (+ (* 2 x) (* 2 y)))
(* x y)
(* x (+ x y))
(pow x 2)
(* 2 (pow x 2))
(* (pow x 2) (+ 2 (* 2 (/ y x))))
(* (pow x 2) (+ 1 (/ y x)))
(+ (* 2 (* x y)) (* 2 (pow x 2)))
(+ (* x y) (pow x 2))
(* y (+ (* 2 x) (* 2 (/ (pow x 2) y))))
(* y (+ x (/ (pow x 2) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (pow x 2) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (pow x 2) y)))))
Calls

6 calls:

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

simplify0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
egg-herbie
Counts
14 → 5
Calls
Call 1
Inputs
(* 2 (* x y))
(* x (+ (* 2 x) (* 2 y)))
(* x y)
(* x (+ x y))
(pow x 2)
(* 2 (pow x 2))
(* (pow x 2) (+ 2 (* 2 (/ y x))))
(* (pow x 2) (+ 1 (/ y x)))
(+ (* 2 (* x y)) (* 2 (pow x 2)))
(+ (* x y) (pow x 2))
(* y (+ (* 2 x) (* 2 (/ (pow x 2) y))))
(* y (+ x (/ (pow x 2) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (pow x 2) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (pow x 2) y)))))
Outputs
(* 2 (* x y))
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
(* x (+ (* 2 x) (* 2 y)))
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
(* x y)
(*.f64 x x)
(* x (+ x y))
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
(pow x 2)
(*.f64 x y)

rewrite0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Counts
5 → 5
Calls
Call 1
Inputs
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
(*.f64 x x)
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
(*.f64 x y)
Outputs
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(approx (+ (* x x) (* x y)) (*.f64 x x))
(*.f64 x x)
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
(*.f64 x y)

eval1.0ms (0.1%)

Memory
1.7MiB live, 1.7MiB allocated
Compiler

Compiled 176 to 18 computations (89.8% saved)

prune3.0ms (0.4%)

Memory
5.5MiB live, 5.5MiB allocated
Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New808
Fresh000
Picked022
Done033
Total8513
Accuracy
100.0%
Counts
13 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.9%
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
60.5%
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
57.9%
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
30.0%
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
42.6%
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
Compiler

Compiled 138 to 62 computations (55.1% saved)

regimes9.0ms (1.1%)

Memory
16.5MiB live, 16.5MiB allocated
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
Outputs
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
Calls

4 calls:

2.0ms
(+.f64 (*.f64 x x) (*.f64 x y))
2.0ms
x
2.0ms
y
2.0ms
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
Results
AccuracySegmentsBranch
97.2%2x
94.9%1y
98.4%2(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
98.4%2(+.f64 (*.f64 x x) (*.f64 x y))
Compiler

Compiled 18 to 16 computations (11.1% saved)

regimes10.0ms (1.2%)

Memory
-22.5MiB live, 15.1MiB allocated
Counts
4 → 3
Calls
Call 1
Inputs
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
Outputs
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x y)))
Calls

4 calls:

2.0ms
x
2.0ms
y
2.0ms
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
2.0ms
(+.f64 (*.f64 x x) (*.f64 x y))
Results
AccuracySegmentsBranch
84.7%3y
84.2%3x
82.8%2(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
82.8%2(+.f64 (*.f64 x x) (*.f64 x y))
Compiler

Compiled 18 to 16 computations (11.1% saved)

regimes7.0ms (0.8%)

Memory
13.9MiB live, 13.9MiB allocated
Counts
3 → 3
Calls
Call 1
Inputs
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
Outputs
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
(*.f64 #s(literal 2 binary64) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
Calls

4 calls:

2.0ms
y
2.0ms
x
2.0ms
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
2.0ms
(+.f64 (*.f64 x x) (*.f64 x y))
Results
AccuracySegmentsBranch
57.9%1x
62.1%2(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
62.1%2(+.f64 (*.f64 x x) (*.f64 x y))
63.9%3y
Compiler

Compiled 18 to 16 computations (11.1% saved)

regimes6.0ms (0.7%)

Memory
11.8MiB live, 11.8MiB allocated
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
Outputs
#s(approx (* 2 (+ (* x x) (* x y))) (*.f64 x y))
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
Calls

4 calls:

1.0ms
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
1.0ms
x
1.0ms
y
1.0ms
(+.f64 (*.f64 x x) (*.f64 x y))
Results
AccuracySegmentsBranch
48.8%3x
47.8%2(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
47.8%2(+.f64 (*.f64 x x) (*.f64 x y))
48.6%3y
Compiler

Compiled 18 to 16 computations (11.1% saved)

regimes5.0ms (0.5%)

Memory
11.2MiB live, 11.2MiB allocated
Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
Outputs
#s(approx (* 2 (+ (* x x) (* x y))) #s(approx (+ (* x x) (* x y)) (*.f64 x x)))
Calls

4 calls:

1.0ms
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
1.0ms
y
1.0ms
x
1.0ms
(+.f64 (*.f64 x x) (*.f64 x y))
Results
AccuracySegmentsBranch
42.6%1y
42.6%1x
42.6%1(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x x) (*.f64 x y)))
42.6%1(+.f64 (*.f64 x x) (*.f64 x y))
Compiler

Compiled 18 to 16 computations (11.1% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
Compiler

Compiled 12 to 12 computations (0% saved)

bsearch28.0ms (3.1%)

Memory
3.5MiB live, 40.3MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
9.713926903933424e-26
2.9971598031699905e-23
14.0ms
-5.816778751558922e-41
-8.067590039516144e-46
Samples
15.0ms272×0valid
Compiler

Compiled 454 to 352 computations (22.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 5.0ms (53.3% of total)
ival-add: 4.0ms (42.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch23.0ms (2.7%)

Memory
-16.7MiB live, 23.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
8.0ms
7.475816954104059e+206
3.7801759828551066e+207
14.0ms
-2.6098011320406325e+128
-1.7075307852903123e+128
Samples
7.0ms160×0valid
Compiler

Compiled 272 to 212 computations (22.1% saved)

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

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6.750768235141207e+41
9.424746390907838e+41
Compiler

Compiled 12 to 12 computations (0% saved)

simplify4.0ms (0.5%)

Memory
9.2MiB live, 9.2MiB allocated

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...