Data.Colour.Matrix:inverse from colour-2.3.3, B

Time bar (total: 1.3s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze107.0ms (8.4%)

Memory
-4.6MiB live, 148.5MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
50%49.9%49.9%0.2%0%0%0%6
50%49.9%49.9%0.2%0%0%0%7
50%49.9%49.9%0.2%0%0%0%8
50%49.9%49.9%0.2%0%0%0%9
50%49.9%49.9%0.2%0%0%0%10
75%74.8%24.9%0.2%0%0%0%11
75%74.8%24.9%0.2%0%0%0%12
Compiler

Compiled 11 to 11 computations (0% saved)

sample783.0ms (61.1%)

Memory
46.7MiB live, 1 180.6MiB allocated
Samples
486.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 242.0ms
ival-mult: 136.0ms (56.3% of total)
ival-div: 59.0ms (24.4% of total)
ival-sub: 36.0ms (14.9% of total)
ival-true: 7.0ms (2.9% of total)
ival-assert: 4.0ms (1.7% of total)
Bogosity

explain90.0ms (7%)

Memory
-17.0MiB live, 143.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
180-1(7.15495615866032e-141 2.681759982154505e-173 1.0320805788701206e-209 -4.1094033533143593e-134 5.067209178507548e-48)(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
10-0-(-.f64 (*.f64 x y) (*.f64 z t))
00-0-a
00-0-t
00-0-(*.f64 z t)
00-0-z
00-0-(*.f64 x y)
00-0-y
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)o/n170
(*.f64 x y)overflow30
(*.f64 z t)overflow32
(-.f64 (*.f64 x y) (*.f64 z t))overflow59
-.f64(-.f64 (*.f64 x y) (*.f64 z t))nan-rescue10
(*.f64 x y)overflow30
(*.f64 z t)overflow32
Confusion
Predicted +Predicted -
+181
-0237
Precision
1.0
Recall
0.9473684210526315
Confusion?
Predicted +Predicted MaybePredicted -
+1801
-00237
Precision?
1.0
Recall?
0.9473684210526315
Freqs
test
numberfreq
0238
118
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
34.0ms512×0valid
Compiler

Compiled 94 to 40 computations (57.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-mult: 8.0ms (49.2% of total)
ival-sub: 4.0ms (24.6% of total)
ival-div: 3.0ms (18.5% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess4.0ms (0.3%)

Memory
9.5MiB live, 9.5MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
Outputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
Compiler

Compiled 9 to 9 computations (0% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 5 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.0%
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
Compiler

Compiled 9 to 9 computations (0% saved)

simplify0.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 z t)
cost-diff0
(*.f64 x y)
cost-diff0
(-.f64 (*.f64 x y) (*.f64 z t))
cost-diff0
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
(-.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
x
y
(*.f64 z t)
z
t
a
Outputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
(-.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
x
y
(*.f64 z t)
z
t
a

localize22.0ms (1.7%)

Memory
-3.7MiB live, 34.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 z t)
accuracy0.0
(*.f64 x y)
accuracy0.19921875000000003
(-.f64 (*.f64 x y) (*.f64 z t))
accuracy4.2384330394466145
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
Samples
17.0ms256×0valid
Compiler

Compiled 56 to 20 computations (64.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult: 4.0ms (60.3% of total)
ival-div: 2.0ms (30.1% of total)
ival-sub: 1.0ms (15.1% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series13.0ms (1%)

Memory
19.1MiB live, 19.1MiB allocated
Counts
4 → 25
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
(-.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 z t)
Outputs
(* -1 (/ (* t z) a))
(+ (* -1 (/ (* t z) a)) (/ (* x y) a))
(* -1 (* t z))
(- (* x y) (* t z))
(* x y)
(/ (* x y) a)
(* x (+ (* -1 (/ (* t z) (* a x))) (/ y a)))
(* x (+ y (* -1 (/ (* t z) x))))
(* -1 (* x (+ (* -1 (/ y a)) (/ (* t z) (* a x)))))
(* -1 (* x (+ (* -1 y) (/ (* t z) x))))
(* y (+ (* -1 (/ (* t z) (* a y))) (/ x a)))
(* y (+ x (* -1 (/ (* t z) y))))
(* -1 (* y (+ (* -1 (/ x a)) (/ (* t z) (* a y)))))
(* -1 (* y (+ (* -1 x) (/ (* t z) y))))
(+ (* -1 (* t z)) (* x y))
(* t z)
(* z (+ (* -1 (/ t a)) (/ (* x y) (* a z))))
(* z (- (/ (* x y) z) t))
(* -1 (* z (+ (* -1 (/ (* x y) (* a z))) (/ t a))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 t))))
(* t (+ (* -1 (/ z a)) (/ (* x y) (* a t))))
(* t (- (/ (* x y) t) z))
(* -1 (* t (+ (* -1 (/ (* x y) (* a t))) (/ z a))))
(* -1 (* t (- (* -1 (/ (* x y) t)) (* -1 z))))
(/ (- (* x y) (* t z)) a)
Calls

15 calls:

TimeVariablePointExpression
2.0ms
a
@0
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (* z t))
1.0ms
y
@-inf
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (* z t))
1.0ms
x
@-inf
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (* z t))
1.0ms
x
@0
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (* z t))
1.0ms
z
@-inf
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (* z t))

simplify0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
egg-herbie
Counts
25 → 4
Calls
Call 1
Inputs
(* -1 (/ (* t z) a))
(+ (* -1 (/ (* t z) a)) (/ (* x y) a))
(* -1 (* t z))
(- (* x y) (* t z))
(* x y)
(/ (* x y) a)
(* x (+ (* -1 (/ (* t z) (* a x))) (/ y a)))
(* x (+ y (* -1 (/ (* t z) x))))
(* -1 (* x (+ (* -1 (/ y a)) (/ (* t z) (* a x)))))
(* -1 (* x (+ (* -1 y) (/ (* t z) x))))
(* y (+ (* -1 (/ (* t z) (* a y))) (/ x a)))
(* y (+ x (* -1 (/ (* t z) y))))
(* -1 (* y (+ (* -1 (/ x a)) (/ (* t z) (* a y)))))
(* -1 (* y (+ (* -1 x) (/ (* t z) y))))
(+ (* -1 (* t z)) (* x y))
(* t z)
(* z (+ (* -1 (/ t a)) (/ (* x y) (* a z))))
(* z (- (/ (* x y) z) t))
(* -1 (* z (+ (* -1 (/ (* x y) (* a z))) (/ t a))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 t))))
(* t (+ (* -1 (/ z a)) (/ (* x y) (* a t))))
(* t (- (/ (* x y) t) z))
(* -1 (* t (+ (* -1 (/ (* x y) (* a t))) (/ z a))))
(* -1 (* t (- (* -1 (/ (* x y) t)) (* -1 z))))
(/ (- (* x y) (* t z)) a)
Outputs
(* -1 (/ (* t z) a))
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
(+ (* -1 (/ (* t z) a)) (/ (* x y) a))
(-.f64 (*.f64 x y) (*.f64 z t))
(* -1 (* t z))
(*.f64 x y)
(- (* x y) (* t z))
(*.f64 z t)

rewrite0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Counts
4 → 4
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
(-.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 z t)
Outputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
(-.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 z t)

eval2.0ms (0.2%)

Memory
-36.1MiB live, 1.6MiB allocated
Compiler

Compiled 98 to 19 computations (80.6% saved)

prune2.0ms (0.1%)

Memory
2.9MiB live, 3.0MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New538
Fresh000
Picked011
Done000
Total549
Accuracy
93.0%
Counts
9 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.0%
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
9.8%
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 z t)) a)
51.6%
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
13.3%
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
Compiler

Compiled 52 to 44 computations (15.4% saved)

simplify1.0ms (0%)

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

Found 10 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 z t)
cost-diff0
#s(approx (- (* x y) (* z t)) (*.f64 z t))
cost-diff0
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 z t)) a)
cost-diff0
(*.f64 x y)
cost-diff0
#s(approx (- (* x y) (* z t)) (*.f64 x y))
cost-diff0
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
cost-diff0
(*.f64 z t)
cost-diff0
(*.f64 x y)
cost-diff0
(-.f64 (*.f64 x y) (*.f64 z t))
cost-diff0
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
(-.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
x
y
(*.f64 z t)
z
t
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
#s(approx (- (* x y) (* z t)) (*.f64 x y))
(*.f64 x y)
x
y
a
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 z t)) a)
#s(approx (- (* x y) (* z t)) (*.f64 z t))
(*.f64 z t)
z
t
a
Outputs
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
(-.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
x
y
(*.f64 z t)
z
t
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
#s(approx (- (* x y) (* z t)) (*.f64 x y))
(*.f64 x y)
x
y
a
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 z t)) a)
#s(approx (- (* x y) (* z t)) (*.f64 z t))
(*.f64 z t)
z
t
a

localize28.0ms (2.2%)

Memory
3.2MiB live, 43.3MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 z t)
accuracy4.2384330394466145
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 z t)) a)
accuracy62.14702648969096
#s(approx (- (* x y) (* z t)) (*.f64 z t))
accuracy0.0
(*.f64 x y)
accuracy4.2384330394466145
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
accuracy31.982035205140612
#s(approx (- (* x y) (* z t)) (*.f64 x y))
accuracy0.0
(*.f64 z t)
accuracy0.0
(*.f64 x y)
accuracy0.19921875000000003
(-.f64 (*.f64 x y) (*.f64 z t))
accuracy55.46545875102174
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
Samples
21.0ms256×0valid
Compiler

Compiled 166 to 28 computations (83.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult: 4.0ms (59.4% of total)
ival-div: 2.0ms (29.7% of total)
ival-sub: 1.0ms (14.8% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.6%)

Memory
13.3MiB live, 13.3MiB allocated
Counts
8 → 25
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
(-.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 z t)
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
#s(approx (- (* x y) (* z t)) (*.f64 x y))
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 z t)) a)
#s(approx (- (* x y) (* z t)) (*.f64 z t))
Outputs
(* -1 (/ (* t z) a))
(+ (* -1 (/ (* t z) a)) (/ (* x y) a))
(* -1 (* t z))
(- (* x y) (* t z))
(* x y)
(/ (* x y) a)
(* x (+ (* -1 (/ (* t z) (* a x))) (/ y a)))
(* x (+ y (* -1 (/ (* t z) x))))
(* -1 (* x (+ (* -1 (/ y a)) (/ (* t z) (* a x)))))
(* -1 (* x (+ (* -1 y) (/ (* t z) x))))
(* y (+ (* -1 (/ (* t z) (* a y))) (/ x a)))
(* y (+ x (* -1 (/ (* t z) y))))
(* -1 (* y (+ (* -1 (/ x a)) (/ (* t z) (* a y)))))
(* -1 (* y (+ (* -1 x) (/ (* t z) y))))
(+ (* -1 (* t z)) (* x y))
(* t z)
(* z (+ (* -1 (/ t a)) (/ (* x y) (* a z))))
(* z (- (/ (* x y) z) t))
(* -1 (* z (+ (* -1 (/ (* x y) (* a z))) (/ t a))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 t))))
(* t (+ (* -1 (/ z a)) (/ (* x y) (* a t))))
(* t (- (/ (* x y) t) z))
(* -1 (* t (+ (* -1 (/ (* x y) (* a t))) (/ z a))))
(* -1 (* t (- (* -1 (/ (* x y) t)) (* -1 z))))
(/ (- (* x y) (* t z)) a)
Calls

15 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (* z t) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)))
1.0ms
z
@-inf
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (* z t) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)))
1.0ms
y
@-inf
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (* z t) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)))
1.0ms
t
@-inf
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (* z t) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)))
1.0ms
a
@-inf
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (* z t) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)))

simplify0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
egg-herbie
Counts
25 → 8
Calls
Call 1
Inputs
(* -1 (/ (* t z) a))
(+ (* -1 (/ (* t z) a)) (/ (* x y) a))
(* -1 (* t z))
(- (* x y) (* t z))
(* x y)
(/ (* x y) a)
(* x (+ (* -1 (/ (* t z) (* a x))) (/ y a)))
(* x (+ y (* -1 (/ (* t z) x))))
(* -1 (* x (+ (* -1 (/ y a)) (/ (* t z) (* a x)))))
(* -1 (* x (+ (* -1 y) (/ (* t z) x))))
(* y (+ (* -1 (/ (* t z) (* a y))) (/ x a)))
(* y (+ x (* -1 (/ (* t z) y))))
(* -1 (* y (+ (* -1 (/ x a)) (/ (* t z) (* a y)))))
(* -1 (* y (+ (* -1 x) (/ (* t z) y))))
(+ (* -1 (* t z)) (* x y))
(* t z)
(* z (+ (* -1 (/ t a)) (/ (* x y) (* a z))))
(* z (- (/ (* x y) z) t))
(* -1 (* z (+ (* -1 (/ (* x y) (* a z))) (/ t a))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 t))))
(* t (+ (* -1 (/ z a)) (/ (* x y) (* a t))))
(* t (- (/ (* x y) t) z))
(* -1 (* t (+ (* -1 (/ (* x y) (* a t))) (/ z a))))
(* -1 (* t (- (* -1 (/ (* x y) t)) (* -1 z))))
(/ (- (* x y) (* t z)) a)
Outputs
(* -1 (/ (* t z) a))
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
(+ (* -1 (/ (* t z) a)) (/ (* x y) a))
(-.f64 (*.f64 x y) (*.f64 z t))
(* -1 (* t z))
(*.f64 x y)
(- (* x y) (* t z))
(*.f64 z t)
(* x y)
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
(/ (* x y) a)
#s(approx (- (* x y) (* z t)) (*.f64 x y))
(* x (+ (* -1 (/ (* t z) (* a x))) (/ y a)))
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 z t)) a)
(* x (+ y (* -1 (/ (* t z) x))))
#s(approx (- (* x y) (* z t)) (*.f64 z t))

rewrite0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Counts
8 → 8
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
(-.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 z t)
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
#s(approx (- (* x y) (* z t)) (*.f64 x y))
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 z t)) a)
#s(approx (- (* x y) (* z t)) (*.f64 z t))
Outputs
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
(-.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 z t)
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
#s(approx (- (* x y) (* z t)) (*.f64 x y))
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 z t)) a)
#s(approx (- (* x y) (* z t)) (*.f64 z t))

eval2.0ms (0.1%)

Memory
3.1MiB live, 3.1MiB allocated
Compiler

Compiled 320 to 28 computations (91.3% saved)

prune3.0ms (0.2%)

Memory
6.1MiB live, 6.1MiB allocated
Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New14216
Fresh000
Picked033
Done011
Total14620
Accuracy
93.4%
Counts
20 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.0%
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
9.8%
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 z t)) a)
51.6%
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
13.3%
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
8.9%
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
11.9%
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
Compiler

Compiled 94 to 68 computations (27.7% saved)

simplify0.0ms (0%)

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

Found 6 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 z t)
cost-diff0
#s(approx (- (* x y) (* z t)) (*.f64 z t))
cost-diff0
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
cost-diff0
(*.f64 x y)
cost-diff0
#s(approx (- (* x y) (* z t)) (*.f64 x y))
cost-diff0
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
#s(approx (- (* x y) (* z t)) (*.f64 x y))
(*.f64 x y)
x
y
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
#s(approx (- (* x y) (* z t)) (*.f64 z t))
(*.f64 z t)
z
t
Outputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
#s(approx (- (* x y) (* z t)) (*.f64 x y))
(*.f64 x y)
x
y
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
#s(approx (- (* x y) (* z t)) (*.f64 z t))
(*.f64 z t)
z
t

localize23.0ms (1.8%)

Memory
-3.1MiB live, 35.3MiB allocated
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 z t)
accuracy55.46545875102174
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
accuracy62.14702648969096
#s(approx (- (* x y) (* z t)) (*.f64 z t))
accuracy0.0
(*.f64 x y)
accuracy31.982035205140612
#s(approx (- (* x y) (* z t)) (*.f64 x y))
accuracy55.46545875102174
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
Samples
17.0ms256×0valid
Compiler

Compiled 118 to 26 computations (78% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult: 4.0ms (59.8% of total)
ival-div: 2.0ms (29.9% of total)
ival-sub: 1.0ms (14.9% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series8.0ms (0.7%)

Memory
-25.4MiB live, 12.6MiB allocated
Counts
6 → 25
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
#s(approx (- (* x y) (* z t)) (*.f64 x y))
(*.f64 x y)
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
#s(approx (- (* x y) (* z t)) (*.f64 z t))
(*.f64 z t)
Outputs
(* -1 (/ (* t z) a))
(+ (* -1 (/ (* t z) a)) (/ (* x y) a))
(* -1 (* t z))
(- (* x y) (* t z))
(* x y)
(/ (* x y) a)
(* x (+ (* -1 (/ (* t z) (* a x))) (/ y a)))
(* x (+ y (* -1 (/ (* t z) x))))
(* -1 (* x (+ (* -1 (/ y a)) (/ (* t z) (* a x)))))
(* -1 (* x (+ (* -1 y) (/ (* t z) x))))
(* y (+ (* -1 (/ (* t z) (* a y))) (/ x a)))
(* y (+ x (* -1 (/ (* t z) y))))
(* -1 (* y (+ (* -1 (/ x a)) (/ (* t z) (* a y)))))
(* -1 (* y (+ (* -1 x) (/ (* t z) y))))
(+ (* -1 (* t z)) (* x y))
(* t z)
(* z (+ (* -1 (/ t a)) (/ (* x y) (* a z))))
(* z (- (/ (* x y) z) t))
(* -1 (* z (+ (* -1 (/ (* x y) (* a z))) (/ t a))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 t))))
(* t (+ (* -1 (/ z a)) (/ (* x y) (* a t))))
(* t (- (/ (* x y) t) z))
(* -1 (* t (+ (* -1 (/ (* x y) (* a t))) (/ z a))))
(* -1 (* t (- (* -1 (/ (* x y) t)) (* -1 z))))
(/ (- (* x y) (* t z)) a)
Calls

15 calls:

TimeVariablePointExpression
2.0ms
a
@inf
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* z t))
1.0ms
a
@-inf
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* z t))
1.0ms
x
@-inf
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* z t))
1.0ms
y
@-inf
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* z t))
0.0ms
t
@-inf
((/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* x y) (/ (- (* x y) (* z t)) a) (- (* x y) (* z t)) (* z t))

simplify0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
egg-herbie
Counts
25 → 6
Calls
Call 1
Inputs
(* -1 (/ (* t z) a))
(+ (* -1 (/ (* t z) a)) (/ (* x y) a))
(* -1 (* t z))
(- (* x y) (* t z))
(* x y)
(/ (* x y) a)
(* x (+ (* -1 (/ (* t z) (* a x))) (/ y a)))
(* x (+ y (* -1 (/ (* t z) x))))
(* -1 (* x (+ (* -1 (/ y a)) (/ (* t z) (* a x)))))
(* -1 (* x (+ (* -1 y) (/ (* t z) x))))
(* y (+ (* -1 (/ (* t z) (* a y))) (/ x a)))
(* y (+ x (* -1 (/ (* t z) y))))
(* -1 (* y (+ (* -1 (/ x a)) (/ (* t z) (* a y)))))
(* -1 (* y (+ (* -1 x) (/ (* t z) y))))
(+ (* -1 (* t z)) (* x y))
(* t z)
(* z (+ (* -1 (/ t a)) (/ (* x y) (* a z))))
(* z (- (/ (* x y) z) t))
(* -1 (* z (+ (* -1 (/ (* x y) (* a z))) (/ t a))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 t))))
(* t (+ (* -1 (/ z a)) (/ (* x y) (* a t))))
(* t (- (/ (* x y) t) z))
(* -1 (* t (+ (* -1 (/ (* x y) (* a t))) (/ z a))))
(* -1 (* t (- (* -1 (/ (* x y) t)) (* -1 z))))
(/ (- (* x y) (* t z)) a)
Outputs
(* -1 (/ (* t z) a))
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
(+ (* -1 (/ (* t z) a)) (/ (* x y) a))
#s(approx (- (* x y) (* z t)) (*.f64 x y))
(* -1 (* t z))
(*.f64 x y)
(- (* x y) (* t z))
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
(* x y)
#s(approx (- (* x y) (* z t)) (*.f64 z t))
(/ (* x y) a)
(*.f64 z t)

rewrite0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
#s(approx (- (* x y) (* z t)) (*.f64 x y))
(*.f64 x y)
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
#s(approx (- (* x y) (* z t)) (*.f64 z t))
(*.f64 z t)
Outputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
#s(approx (- (* x y) (* z t)) (*.f64 x y))
(*.f64 x y)
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
#s(approx (- (* x y) (* z t)) (*.f64 z t))
(*.f64 z t)

eval1.0ms (0.1%)

Memory
2.3MiB live, 2.3MiB allocated
Compiler

Compiled 242 to 22 computations (90.9% saved)

prune4.0ms (0.3%)

Memory
7.6MiB live, 7.6MiB allocated
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New10010
Fresh000
Picked022
Done044
Total10616
Accuracy
93.4%
Counts
16 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.0%
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
9.8%
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 z t)) a)
51.6%
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
13.3%
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
8.9%
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
11.9%
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
Compiler

Compiled 188 to 88 computations (53.2% saved)

regimes23.0ms (1.8%)

Memory
7.1MiB live, 45.6MiB allocated
Counts
6 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 z t)) a)
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
Outputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
Calls

9 calls:

3.0ms
t
3.0ms
y
3.0ms
a
2.0ms
x
2.0ms
z
Results
AccuracySegmentsBranch
93.0%1x
93.0%1y
93.0%1z
93.0%1t
93.0%1a
93.0%1(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
93.0%1(-.f64 (*.f64 x y) (*.f64 z t))
93.0%1(*.f64 x y)
93.0%1(*.f64 z t)
Compiler

Compiled 27 to 54 computations (-100% saved)

regimes28.0ms (2.2%)

Memory
-38.7MiB live, 45.5MiB allocated
Counts
5 → 3
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 z t)) a)
Outputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
(/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a)
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
Calls

9 calls:

10.0ms
(*.f64 z t)
2.0ms
x
2.0ms
t
2.0ms
a
2.0ms
y
Results
AccuracySegmentsBranch
51.6%1x
51.6%1y
51.6%1a
51.6%1(*.f64 x y)
55.7%3(*.f64 z t)
51.6%1z
51.6%1t
51.6%1(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
53.8%2(-.f64 (*.f64 x y) (*.f64 z t))
Compiler

Compiled 27 to 54 computations (-100% saved)

regimes16.0ms (1.3%)

Memory
-5.0MiB live, 33.7MiB allocated
Counts
3 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
Outputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
#s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))
Calls

9 calls:

3.0ms
(*.f64 x y)
2.0ms
a
2.0ms
x
2.0ms
t
2.0ms
y
Results
AccuracySegmentsBranch
13.3%1y
13.3%1z
15.1%2x
13.3%1t
13.3%1(*.f64 x y)
13.3%1(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
19.6%2a
13.3%1(-.f64 (*.f64 x y) (*.f64 z t))
16.6%3(*.f64 z t)
Compiler

Compiled 27 to 54 computations (-100% saved)

regimes2.0ms (0.1%)

Memory
3.7MiB live, 3.7MiB allocated
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
Outputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t)))
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
Calls

1 calls:

1.0ms
a
Results
AccuracySegmentsBranch
16.3%2a
Compiler

Compiled 1 to 5 computations (-400% saved)

regimes11.0ms (0.9%)

Memory
-13.7MiB live, 25.1MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
Outputs
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
Calls

9 calls:

2.0ms
t
1.0ms
y
1.0ms
(*.f64 z t)
1.0ms
a
1.0ms
x
Results
AccuracySegmentsBranch
11.9%1(*.f64 x y)
11.9%1y
11.9%1t
11.9%1(-.f64 (*.f64 x y) (*.f64 z t))
11.9%1(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
11.9%1z
11.9%1(*.f64 z t)
11.9%1x
11.9%1a
Compiler

Compiled 27 to 54 computations (-100% saved)

bsearch30.0ms (2.4%)

Memory
10.6MiB live, 48.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
2.118261575550607e+302
+inf
15.0ms
-1.9211777316116183e+292
-1.2682012312066483e+269
Samples
15.0ms320×0valid
Compiler

Compiled 616 to 506 computations (17.9% saved)

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

bsearch16.0ms (1.2%)

Memory
24.5MiB live, 24.5MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
14.0ms
-2.3911312712521146e-307
6.750016632597747e-295
Samples
8.0ms160×0valid
Compiler

Compiled 392 to 287 computations (26.8% saved)

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

bsearch3.0ms (0.3%)

Memory
-38.5MiB live, 2.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
-2.3911312712521146e-307
6.750016632597747e-295
Compiler

Compiled 432 to 277 computations (35.9% saved)

simplify5.0ms (0.4%)

Memory
10.1MiB live, 10.1MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
(if (<=.f64 (*.f64 z t) #s(literal -18500000000000000466829867611656729502930554939183477944761999732454476019512279818381007542300951123794262485209309749866466864882347782336515305681316649582137145285524390015208347871358999097446795925021038093729622064195409742243068155205346450081737532955760692228917647384983460829462528 binary64)) #s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t))) (if (<=.f64 (*.f64 z t) #s(literal 21500000000000000155748480579033799052093975704530495280794187517596018840664421473055418518461007028981500536122287554839979401257967693158882447288327904952920792546514336667987232037770202428182445898987433190934714339367023771270870280188888333943448517395469372597937169884460445765735332847284125696 binary64)) (/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a) #s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))))
(if (<=.f64 a #s(literal -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t))) #s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t))))
(if (<=.f64 a #s(literal -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t))) #s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y))))
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))
Outputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
(if (<=.f64 (*.f64 z t) #s(literal -18500000000000000466829867611656729502930554939183477944761999732454476019512279818381007542300951123794262485209309749866466864882347782336515305681316649582137145285524390015208347871358999097446795925021038093729622064195409742243068155205346450081737532955760692228917647384983460829462528 binary64)) #s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t))) (if (<=.f64 (*.f64 z t) #s(literal 21500000000000000155748480579033799052093975704530495280794187517596018840664421473055418518461007028981500536122287554839979401257967693158882447288327904952920792546514336667987232037770202428182445898987433190934714339367023771270870280188888333943448517395469372597937169884460445765735332847284125696 binary64)) (/.f64 #s(approx (- (* x y) (* z t)) (*.f64 x y)) a) #s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t)))))
(if (<=.f64 a #s(literal -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t))) #s(approx (/ (- (* x y) (* z t)) a) (-.f64 (*.f64 x y) (*.f64 z t))))
(if (<=.f64 a #s(literal -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 z t))) #s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y))))
#s(approx (/ (- (* x y) (* z t)) a) #s(approx (- (* x y) (* z t)) (*.f64 x y)))

soundness1.0ms (0.1%)

Memory
2.8MiB live, 2.8MiB allocated
Stop Event
done
Compiler

Compiled 181 to 29 computations (84% saved)

preprocess41.0ms (3.2%)

Memory
7.1MiB live, 82.1MiB allocated
Compiler

Compiled 458 to 116 computations (74.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...