Data.Colour.RGBSpace.HSV:hsv from colour-2.3.3, I

Time bar (total: 848.0ms)

start0.0ms (0%)

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

sample588.0ms (69.3%)

Memory
-12.7MiB live, 881.8MiB allocated
Samples
369.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 182.0ms
ival-mult: 127.0ms (69.8% of total)
ival-sub: 42.0ms (23.1% of total)
ival-true: 6.0ms (3.3% of total)
exact: 5.0ms (2.7% of total)
ival-assert: 3.0ms (1.6% of total)
Bogosity

explain77.0ms (9.1%)

Memory
16.2MiB live, 134.9MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
110-0-(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
00-0-y
00-0-#s(literal 1 binary64)
00-0-(*.f64 y z)
00-0-z
00-0-(-.f64 #s(literal 1 binary64) (*.f64 y z))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
*.f64(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))n*o110
Confusion
Predicted +Predicted -
+110
-0245
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+1100
-00245
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0245
111
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
37.0ms512×0valid
Compiler

Compiled 68 to 32 computations (52.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-mult: 16.0ms (81.5% of total)
ival-sub: 2.0ms (10.2% 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.4%)

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

Compiled 7 to 7 computations (0% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 7 to 7 computations (0% saved)

simplify0.0ms (0%)

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

Found 3 expressions of interest:

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

localize23.0ms (2.7%)

Memory
0.5MiB live, 37.8MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 y z)
accuracy0.010097509768442016
(-.f64 #s(literal 1 binary64) (*.f64 y z))
accuracy2.6713079457624755
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
Samples
18.0ms256×0valid
Compiler

Compiled 40 to 16 computations (60% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-mult: 3.0ms (60.6% of total)
ival-sub: 1.0ms (20.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.8%)

Memory
13.4MiB live, 13.4MiB allocated
Counts
3 → 16
Calls
Call 1
Inputs
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
(-.f64 #s(literal 1 binary64) (*.f64 y z))
(*.f64 y z)
Outputs
(* x (- 1 (* y z)))
x
(+ x (* -1 (* x (* y z))))
1
(+ 1 (* -1 (* y z)))
(* y z)
(* -1 (* x (* y z)))
(* y (+ (* -1 (* x z)) (/ x y)))
(* -1 (* y z))
(* y (- (/ 1 y) z))
(* -1 (* y (+ (* -1 (/ x y)) (* x z))))
(* y (+ (* -1 z) (/ 1 y)))
(* z (+ (* -1 (* x y)) (/ x z)))
(* z (- (/ 1 z) y))
(* -1 (* z (+ (* -1 (/ x z)) (* x y))))
(* z (+ (* -1 y) (/ 1 z)))
Calls

9 calls:

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

simplify0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
egg-herbie
Counts
16 → 3
Calls
Call 1
Inputs
(* x (- 1 (* y z)))
x
(+ x (* -1 (* x (* y z))))
1
(+ 1 (* -1 (* y z)))
(* y z)
(* -1 (* x (* y z)))
(* y (+ (* -1 (* x z)) (/ x y)))
(* -1 (* y z))
(* y (- (/ 1 y) z))
(* -1 (* y (+ (* -1 (/ x y)) (* x z))))
(* y (+ (* -1 z) (/ 1 y)))
(* z (+ (* -1 (* x y)) (/ x z)))
(* z (- (/ 1 z) y))
(* -1 (* z (+ (* -1 (/ x z)) (* x y))))
(* z (+ (* -1 y) (/ 1 z)))
Outputs
(* x (- 1 (* y z)))
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
x
(-.f64 #s(literal 1 binary64) (*.f64 y z))
(+ x (* -1 (* x (* y z))))
(*.f64 y z)

rewrite5.0ms (0.6%)

Memory
-47.3MiB live, 0.7MiB allocated
Counts
3 → 3
Calls
Call 1
Inputs
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
(-.f64 #s(literal 1 binary64) (*.f64 y z))
(*.f64 y z)
Outputs
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
(-.f64 #s(literal 1 binary64) (*.f64 y z))
(*.f64 y z)

eval1.0ms (0.1%)

Memory
2.1MiB live, 2.1MiB allocated
Compiler

Compiled 60 to 14 computations (76.7% saved)

prune1.0ms (0.2%)

Memory
4.0MiB live, 4.0MiB allocated
Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New426
Fresh000
Picked011
Done000
Total437
Accuracy
95.8%
Counts
7 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.8%
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
7.9%
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
7.3%
#s(approx (* x (- 1 (* y z))) (*.f64 y z))
Compiler

Compiled 31 to 27 computations (12.9% saved)

simplify0.0ms (0%)

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

Found 5 expressions of interest:

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

localize19.0ms (2.2%)

Memory
-0.3MiB live, 38.8MiB allocated
Localize:

Found 5 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 y z)
accuracy0.010097509768442016
(-.f64 #s(literal 1 binary64) (*.f64 y z))
accuracy58.940816897041
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
accuracy0.0
(*.f64 y z)
accuracy59.350716756883095
#s(approx (* x (- 1 (* y z))) (*.f64 y z))
Samples
14.0ms256×0valid
Compiler

Compiled 72 to 21 computations (70.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 4.0ms (68.4% of total)
ival-sub: 1.0ms (17.1% 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
7.1MiB live, 7.1MiB allocated
Counts
4 → 16
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* y z))) (*.f64 y z))
(*.f64 y z)
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
(-.f64 #s(literal 1 binary64) (*.f64 y z))
Outputs
(* x (- 1 (* y z)))
x
(+ x (* -1 (* x (* y z))))
(* y z)
1
(+ 1 (* -1 (* y z)))
(* -1 (* x (* y z)))
(* y (+ (* -1 (* x z)) (/ x y)))
(* -1 (* y z))
(* y (- (/ 1 y) z))
(* -1 (* y (+ (* -1 (/ x y)) (* x z))))
(* y (+ (* -1 z) (/ 1 y)))
(* z (+ (* -1 (* x y)) (/ x z)))
(* z (- (/ 1 z) y))
(* -1 (* z (+ (* -1 (/ x z)) (* x y))))
(* z (+ (* -1 y) (/ 1 z)))
Calls

9 calls:

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

simplify0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
egg-herbie
Counts
16 → 4
Calls
Call 1
Inputs
(* x (- 1 (* y z)))
x
(+ x (* -1 (* x (* y z))))
(* y z)
1
(+ 1 (* -1 (* y z)))
(* -1 (* x (* y z)))
(* y (+ (* -1 (* x z)) (/ x y)))
(* -1 (* y z))
(* y (- (/ 1 y) z))
(* -1 (* y (+ (* -1 (/ x y)) (* x z))))
(* y (+ (* -1 z) (/ 1 y)))
(* z (+ (* -1 (* x y)) (/ x z)))
(* z (- (/ 1 z) y))
(* -1 (* z (+ (* -1 (/ x z)) (* x y))))
(* z (+ (* -1 y) (/ 1 z)))
Outputs
(* x (- 1 (* y z)))
#s(approx (* x (- 1 (* y z))) (*.f64 y z))
x
(*.f64 y z)
(+ x (* -1 (* x (* y z))))
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
(* y z)
(-.f64 #s(literal 1 binary64) (*.f64 y z))

rewrite0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Counts
4 → 4
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* y z))) (*.f64 y z))
(*.f64 y z)
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
(-.f64 #s(literal 1 binary64) (*.f64 y z))
Outputs
#s(approx (* x (- 1 (* y z))) (*.f64 y z))
(*.f64 y z)
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
(-.f64 #s(literal 1 binary64) (*.f64 y z))

eval1.0ms (0.1%)

Memory
2.0MiB live, 2.0MiB allocated
Compiler

Compiled 137 to 18 computations (86.9% saved)

prune2.0ms (0.3%)

Memory
5.0MiB live, 5.0MiB allocated
Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New819
Fresh000
Picked022
Done011
Total8412
Accuracy
95.8%
Counts
12 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.8%
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
7.9%
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
7.3%
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z)))))
7.3%
#s(approx (* x (- 1 (* y z))) (*.f64 y z))
Compiler

Compiled 50 to 40 computations (20% saved)

simplify0.0ms (0%)

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

Found 4 expressions of interest:

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

localize20.0ms (2.4%)

Memory
-1.7MiB live, 36.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.010097509768442016
(-.f64 #s(literal 1 binary64) (*.f64 y z))
accuracy0.010097509768442016
(-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z))))
accuracy58.940816897041
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z)))))
accuracy62.6323502431823
#s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
Samples
15.0ms256×0valid
Compiler

Compiled 78 to 22 computations (71.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult: 6.0ms (81.5% of total)
ival-sub: 1.0ms (13.6% 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
7.1MiB live, 7.1MiB allocated
Counts
4 → 16
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z)))))
(-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z))))
#s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
(-.f64 #s(literal 1 binary64) (*.f64 y z))
Outputs
(* x (- 1 (* y z)))
x
(+ x (* -1 (* x (* y z))))
1
(+ 1 (* -1 (* y z)))
(* y z)
(* -1 (* x (* y z)))
(* y (+ (* -1 (* x z)) (/ x y)))
(* -1 (* y z))
(* y (- (/ 1 y) z))
(* -1 (* y (+ (* -1 (/ x y)) (* x z))))
(* y (+ (* -1 z) (/ 1 y)))
(* z (+ (* -1 (* x y)) (/ x z)))
(* z (- (/ 1 z) y))
(* -1 (* z (+ (* -1 (/ x z)) (* x y))))
(* z (+ (* -1 y) (/ 1 z)))
Calls

9 calls:

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

simplify0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
egg-herbie
Counts
16 → 4
Calls
Call 1
Inputs
(* x (- 1 (* y z)))
x
(+ x (* -1 (* x (* y z))))
1
(+ 1 (* -1 (* y z)))
(* y z)
(* -1 (* x (* y z)))
(* y (+ (* -1 (* x z)) (/ x y)))
(* -1 (* y z))
(* y (- (/ 1 y) z))
(* -1 (* y (+ (* -1 (/ x y)) (* x z))))
(* y (+ (* -1 z) (/ 1 y)))
(* z (+ (* -1 (* x y)) (/ x z)))
(* z (- (/ 1 z) y))
(* -1 (* z (+ (* -1 (/ x z)) (* x y))))
(* z (+ (* -1 y) (/ 1 z)))
Outputs
(* x (- 1 (* y z)))
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z)))))
x
(-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z))))
(+ x (* -1 (* x (* y z))))
#s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
1
(-.f64 #s(literal 1 binary64) (*.f64 y z))

rewrite0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Counts
4 → 4
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z)))))
(-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z))))
#s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
(-.f64 #s(literal 1 binary64) (*.f64 y z))
Outputs
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z)))))
(-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z))))
#s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
(-.f64 #s(literal 1 binary64) (*.f64 y z))

eval1.0ms (0.1%)

Memory
1.9MiB live, 1.9MiB allocated
Compiler

Compiled 139 to 17 computations (87.8% saved)

prune3.0ms (0.3%)

Memory
6.8MiB live, 6.8MiB allocated
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New707
Fresh000
Picked011
Done033
Total7411
Accuracy
95.8%
Counts
11 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.8%
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
7.9%
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
7.3%
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z)))))
7.3%
#s(approx (* x (- 1 (* y z))) (*.f64 y z))
Compiler

Compiled 100 to 56 computations (44% saved)

regimes14.0ms (1.6%)

Memory
-8.3MiB live, 30.6MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* y z))) (*.f64 y z))
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) (*.f64 y z)))
#s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z)))))
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
Outputs
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
Calls

6 calls:

4.0ms
(*.f64 y z)
2.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
2.0ms
y
2.0ms
z
2.0ms
x
Results
AccuracySegmentsBranch
95.8%1x
95.8%1y
95.8%1z
95.8%1(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
95.8%1(-.f64 #s(literal 1 binary64) (*.f64 y z))
95.8%1(*.f64 y z)
Compiler

Compiled 18 to 26 computations (-44.4% saved)

regimes14.0ms (1.6%)

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

6 calls:

5.0ms
y
2.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
2.0ms
x
2.0ms
z
2.0ms
(*.f64 y z)
Results
AccuracySegmentsBranch
7.9%1(-.f64 #s(literal 1 binary64) (*.f64 y z))
7.9%1(*.f64 y z)
13.7%2x
7.9%1y
9.6%2z
7.9%1(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
Compiler

Compiled 18 to 26 computations (-44.4% saved)

regimes2.0ms (0.2%)

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

1 calls:

1.0ms
x
Results
AccuracySegmentsBranch
13.6%2x
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes8.0ms (0.9%)

Memory
-10.2MiB live, 29.5MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

6 calls:

2.0ms
z
1.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
1.0ms
x
1.0ms
y
1.0ms
(*.f64 y z)
Results
AccuracySegmentsBranch
7.3%1(-.f64 #s(literal 1 binary64) (*.f64 y z))
7.3%1y
7.3%1(*.f64 y z)
7.3%1(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
7.3%1z
7.3%1x
Compiler

Compiled 18 to 26 computations (-44.4% saved)

bsearch6.0ms (0.7%)

Memory
12.0MiB live, 12.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
5.0ms
6.589382942361928e-215
1.1146995136617611e-214
Samples
3.0ms64×0valid
Compiler

Compiled 138 to 117 computations (15.2% saved)

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

bsearch12.0ms (1.5%)

Memory
-13.9MiB live, 24.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
11.0ms
2.5698122614228533e-194
1.9550927218834942e-191
Samples
5.0ms128×0valid
Compiler

Compiled 202 to 189 computations (6.4% saved)

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

simplify5.0ms (0.6%)

Memory
12.3MiB live, 12.3MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
(if (<=.f64 x #s(literal 800517141342553/12129047596099288555851402253613301212944422008724192274523844047078523067862319424459987568973800608988185396071336509423215469094646987433158494336259227650034804500162889887111447543996862850197367181200909912116350366045437952 binary64)) #s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z))))) #s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) (*.f64 y z))))
(if (<=.f64 x #s(literal 8547720840016107/328758493846773344202561867680008041596896237676448366218642556441795759643567551382104158517349278201686435553511138607063714515636487741445488423165742553122201479445527787386978984867770169829455828233486336 binary64)) #s(approx (* x (- 1 (* y z))) (*.f64 y z)) #s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) (*.f64 y z))))
#s(approx (* x (- 1 (* y z))) (*.f64 y z))
Outputs
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y z)))
(if (<=.f64 x #s(literal 800517141342553/12129047596099288555851402253613301212944422008724192274523844047078523067862319424459987568973800608988185396071336509423215469094646987433158494336259227650034804500162889887111447543996862850197367181200909912116350366045437952 binary64)) #s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) #s(approx (* y z) (-.f64 #s(literal 1 binary64) (*.f64 y z))))) #s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) (*.f64 y z))))
(if (<=.f64 x #s(literal 8547720840016107/328758493846773344202561867680008041596896237676448366218642556441795759643567551382104158517349278201686435553511138607063714515636487741445488423165742553122201479445527787386978984867770169829455828233486336 binary64)) #s(approx (* x (- 1 (* y z))) (*.f64 y z)) #s(approx (* x (- 1 (* y z))) (-.f64 #s(literal 1 binary64) (*.f64 y z))))
#s(approx (* x (- 1 (* y z))) (*.f64 y z))

soundness1.0ms (0.1%)

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

Compiled 82 to 22 computations (73.2% saved)

preprocess26.0ms (3.1%)

Memory
-7.2MiB live, 72.4MiB allocated
Compiler

Compiled 178 to 58 computations (67.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...