Data.Colour.CIE:cieLAB from colour-2.3.3, C

Time bar (total: 1.7s)

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 7 to 7 computations (0% saved)

sample762.0ms (44.8%)

Memory
37.9MiB live, 968.1MiB allocated; 300ms collecting garbage
Samples
503.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 191.0ms
ival-div!: 135.0ms (70.8% of total)
ival-add!: 55.0ms (28.8% of total)
adjust: 1.0ms (0.5% of total)
Bogosity

preprocess87.0ms (5.1%)

Memory
-39.2MiB live, 60.5MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01434
14330
210430
319130
442030
5296530
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x (/.f64 y #s(literal 500 binary64)))
Compiler

Compiled 10 to 10 computations (0% saved)

series3.0ms (0.2%)

Memory
5.4MiB live, 5.4MiB allocated; 0ms collecting garbage
Counts
5 → 8
Calls
Call 1
Inputs
(+.f64 x (/.f64 y #s(literal 500 binary64)))
x
(/.f64 y #s(literal 500 binary64))
y
#s(literal 500 binary64)
Outputs
#s(approx (+ x (/ y 500)) #s(hole binary64 (* 1/500 y)))
#s(approx (+ x (/ y 500)) #s(hole binary64 (+ x (* 1/500 y))))
#s(approx x #s(hole binary64 x))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* x (+ 1 (* 1/500 (/ y x))))))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* -1 (* x (- (* -1/500 (/ y x)) 1)))))
#s(approx y #s(hole binary64 y))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* y (+ 1/500 (/ x y)))))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1/500)))))
Calls

6 calls:

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

rewrite201.0ms (11.8%)

Memory
29.3MiB live, 166.8MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03699
03789
119489
2108489
Stop Event
iter-limit
unsound
node-limit
iter-limit
Counts
13 → 11
Calls
Call 1
Inputs
(+.f64 x (/.f64 y #s(literal 500 binary64)))
x
(/.f64 y #s(literal 500 binary64))
y
#s(literal 500 binary64)
#s(approx (+ x (/ y 500)) #s(hole binary64 (* 1/500 y)))
#s(approx (+ x (/ y 500)) #s(hole binary64 (+ x (* 1/500 y))))
#s(approx x #s(hole binary64 x))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* x (+ 1 (* 1/500 (/ y x))))))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* -1 (* x (- (* -1/500 (/ y x)) 1)))))
#s(approx y #s(hole binary64 y))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* y (+ 1/500 (/ x y)))))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1/500)))))
Outputs
(+.f64 x (/.f64 y #s(literal 500 binary64)))
x
(/.f64 y #s(literal 500 binary64))
y
#s(literal 500 binary64)
#s(approx (+ x (/ y 500)) (/.f64 y #s(literal 500 binary64)))
#s(approx (+ x (/ y 500)) (+.f64 x (/.f64 y #s(literal 500 binary64))))
#s(approx x x)
#s(approx y y)
#s(approx (+ x (/ y 500)) (+.f64 x (/.f64 y #s(literal 500 binary64))))
#s(approx (+ x (/ y 500)) (+.f64 x (/.f64 y #s(literal 500 binary64))))

eval0.0ms (0%)

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

Compiled 19 to 15 computations (21.1% saved)

prune1.0ms (0%)

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

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New314
Fresh000
Picked011
Done000
Total325
Accuracy
100.0%
Counts
5 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x (/.f64 y #s(literal 500 binary64)))
50.4%
#s(approx (+ x (/ y 500)) (/.f64 y #s(literal 500 binary64)))
Compiler

Compiled 13 to 13 computations (0% saved)

series2.0ms (0.1%)

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

6 calls:

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

rewrite139.0ms (8.2%)

Memory
-8.8MiB live, 174.5MiB allocated; 22ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036106
03796
119396
2108396
Stop Event
iter-limit
unsound
node-limit
iter-limit
Counts
12 → 7
Calls
Call 1
Inputs
#s(approx (+ x (/ y 500)) (/.f64 y #s(literal 500 binary64)))
(/.f64 y #s(literal 500 binary64))
y
#s(literal 500 binary64)
#s(approx (+ x (/ y 500)) #s(hole binary64 (* 1/500 y)))
#s(approx (+ x (/ y 500)) #s(hole binary64 (+ x (* 1/500 y))))
#s(approx (+ x (/ y 500)) #s(hole binary64 x))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* x (+ 1 (* 1/500 (/ y x))))))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* -1 (* x (- (* -1/500 (/ y x)) 1)))))
#s(approx y #s(hole binary64 y))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* y (+ 1/500 (/ x y)))))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1/500)))))
Outputs
#s(approx (+ x (/ y 500)) (/.f64 y #s(literal 500 binary64)))
(/.f64 y #s(literal 500 binary64))
y
#s(literal 500 binary64)
#s(approx (+ x (/ y 500)) (/.f64 y #s(literal 500 binary64)))
#s(approx (+ x (/ y 500)) x)
#s(approx y y)

eval0.0ms (0%)

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

Compiled 12 to 10 computations (16.7% saved)

prune1.0ms (0.1%)

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

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New112
Fresh000
Picked011
Done011
Total134
Accuracy
100.0%
Counts
4 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x (/.f64 y #s(literal 500 binary64)))
50.4%
#s(approx (+ x (/ y 500)) (/.f64 y #s(literal 500 binary64)))
51.5%
#s(approx (+ x (/ y 500)) x)
Compiler

Compiled 19 to 19 computations (0% saved)

series1.0ms (0.1%)

Memory
3.6MiB live, 3.6MiB allocated; 0ms collecting garbage
Counts
2 → 7
Calls
Call 1
Inputs
#s(approx (+ x (/ y 500)) x)
x
Outputs
#s(approx (+ x (/ y 500)) #s(hole binary64 (* 1/500 y)))
#s(approx (+ x (/ y 500)) #s(hole binary64 (+ x (* 1/500 y))))
#s(approx x #s(hole binary64 x))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* x (+ 1 (* 1/500 (/ y x))))))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* -1 (* x (- (* -1/500 (/ y x)) 1)))))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* y (+ 1/500 (/ x y)))))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1/500)))))
Calls

6 calls:

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

rewrite392.0ms (23%)

Memory
-65.2MiB live, 171.4MiB allocated; 188ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03493
03483
119083
2108083
Stop Event
iter-limit
unsound
node-limit
saturated
Counts
9 → 3
Calls
Call 1
Inputs
#s(approx (+ x (/ y 500)) x)
x
#s(approx (+ x (/ y 500)) #s(hole binary64 (* 1/500 y)))
#s(approx (+ x (/ y 500)) #s(hole binary64 (+ x (* 1/500 y))))
#s(approx x #s(hole binary64 x))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* x (+ 1 (* 1/500 (/ y x))))))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* -1 (* x (- (* -1/500 (/ y x)) 1)))))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* y (+ 1/500 (/ x y)))))
#s(approx (+ x (/ y 500)) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1/500)))))
Outputs
#s(approx (+ x (/ y 500)) x)
x
#s(approx x x)

eval0.0ms (0%)

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

Compiled 7 to 7 computations (0% saved)

prune1.0ms (0.1%)

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

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New101
Fresh000
Picked011
Done022
Total134
Accuracy
100.0%
Counts
4 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x (/.f64 y #s(literal 500 binary64)))
50.4%
#s(approx (+ x (/ y 500)) (/.f64 y #s(literal 500 binary64)))
51.5%
#s(approx (+ x (/ y 500)) x)
Compiler

Compiled 32 to 29 computations (9.4% saved)

regimes6.0ms (0.4%)

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

4 calls:

2.0ms
(+.f64 x (/.f64 y #s(literal 500 binary64)))
2.0ms
x
1.0ms
y
1.0ms
(/.f64 y #s(literal 500 binary64))
Results
AccuracySegmentsBranch
100.0%1(/.f64 y #s(literal 500 binary64))
100.0%1(+.f64 x (/.f64 y #s(literal 500 binary64)))
100.0%1x
100.0%1y
Compiler

Compiled 10 to 13 computations (-30% saved)

regimes5.0ms (0.3%)

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

4 calls:

1.0ms
y
1.0ms
(+.f64 x (/.f64 y #s(literal 500 binary64)))
1.0ms
x
1.0ms
(/.f64 y #s(literal 500 binary64))
Results
AccuracySegmentsBranch
75.1%3(/.f64 y #s(literal 500 binary64))
62.6%5(+.f64 x (/.f64 y #s(literal 500 binary64)))
80.8%3x
75.1%3y
Compiler

Compiled 10 to 13 computations (-30% saved)

regimes32.0ms (1.9%)

Memory
-36.7MiB live, 58.8MiB allocated; 11ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

4 calls:

26.0ms
x
4.0ms
y
1.0ms
(/.f64 y #s(literal 500 binary64))
1.0ms
(+.f64 x (/.f64 y #s(literal 500 binary64)))
Results
AccuracySegmentsBranch
51.5%1(+.f64 x (/.f64 y #s(literal 500 binary64)))
51.5%1(/.f64 y #s(literal 500 binary64))
51.5%1y
51.5%1x
Compiler

Compiled 10 to 13 computations (-30% saved)

bsearch15.0ms (0.9%)

Memory
38.7MiB live, 38.7MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
1.0177900553812953e-32
3.7349546920096394e-31
7.0ms
-1.1034104456567895e+40
-4.668711528440479e+38
Samples
6.0ms224×0valid
Compiler

Compiled 204 to 234 computations (-14.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-div!: 1.0ms (50.4% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

derivations29.0ms (1.7%)

Memory
-41.6MiB live, 50.1MiB allocated; 6ms collecting garbage
Stop Event
done
Compiler

Compiled 19 to 16 computations (15.8% saved)

preprocess22.0ms (1.3%)

Memory
7.3MiB live, 62.4MiB allocated; 5ms collecting garbage
Compiler

Compiled 24 to 21 computations (12.5% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...