Data.Colour.CIE:cieLABView from colour-2.3.3, B

Time bar (total: 611.0ms)

start0.0ms (0.0%)

analyze1.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%99.9%0.1%0.0%0.0%0.0%0
100.0%99.9%0.0%0.1%0.0%0.0%0.0%1
Compiler

Compiled 7 to 7 computations (0.0% saved)

sample222.0ms (36.3%)

Samples
154.0ms8 228×0valid
0.0ms13×1valid
0.0ms10×3valid
0.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 5.0ms
Mul: 3.0ms (59.3% of total, 0.0 MiB)
Sub: 2.0ms (39.6% of total, 0.0 MiB)
adjust: 0.0ms (0.0% of total, 0.0 MiB)
Bogosity

preprocess46.0ms (7.5%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01532
15530
212930
327030
433930
571130
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 #s(literal 500 binary64) (-.f64 x y))
Compiler

Compiled 2 to 10 computations (-400.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series8.0ms (1.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059178
Stop Event
iter-limit
Counts
5 → 17
Calls
Call 1
Inputs
%3 = (-.f64 x y)
#s(literal 500 binary64)
x
y
%3
(*.f64 #s(literal 500 binary64) %3)
Outputs
%6 = (- x y)
%8 = (*.f64 #s(literal -1 binary64) y)
%12 = (* 500 %6)
%17 = (*.f64 #s(literal 500 binary64) x)
%21 = (/.f64 y x)
%43 = (/.f64 x y)
(approx 500 #s(literal 0 binary64))
(approx x x)
(approx %6 %8)
(approx %6 (-.f64 x y))
(approx %12 (*.f64 #s(literal -500 binary64) y))
(approx %12 (fma.f64 #s(literal -500 binary64) y %17))
(approx %6 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %21))))
(approx %12 %17)
(approx %12 (*.f64 x (+.f64 #s(literal 500 binary64) (*.f64 #s(literal -500 binary64) %21))))
(approx %6 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %21 #s(literal 1 binary64)))))
(approx %12 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 500 binary64) %21) #s(literal 500 binary64)))))
(approx y y)
(approx %6 (+.f64 x %8))
(approx %6 (*.f64 y (-.f64 %43 #s(literal 1 binary64))))
(approx %12 (*.f64 y (-.f64 (*.f64 #s(literal 500 binary64) %43) #s(literal 500 binary64))))
(approx %6 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %43)))))
(approx %12 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 500 binary64) (*.f64 #s(literal -500 binary64) %43)))))
Calls

6 calls:

TimeVariablePoint
1.0ms
x
-inf
1.0ms
x
inf
1.0ms
y
-inf
1.0ms
y
inf
0.0ms
x
0

rewrite66.0ms (10.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
0711
11811
24311
310211
422011
561311
0401511
0414711
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
5 → 47
Calls
Call 1
Inputs
%3 = (-.f64 x y)
#s(literal 500 binary64)
x
y
%3
(*.f64 #s(literal 500 binary64) %3)
Outputs
%4 = (-.f64 y x)
%7 = (-.f64 x y)
%14 = (neg.f64 y)
%15 = (*.f64 x #s(literal 1 binary64))
%18 = (*.f64 %14 #s(literal 1 binary64))
%20 = (neg.f64 x)
%26 = (*.f64 %4 #s(literal 500 binary64))
%31 = (*.f64 %7 #s(literal 500 binary64))
%38 = (*.f64 #s(literal -500 binary64) x)
%39 = (*.f64 #s(literal -500 binary64) y)
%41 = (*.f64 y #s(literal 500 binary64))
%42 = (*.f64 x #s(literal 500 binary64))
%46 = (*.f64 %42 #s(literal 1 binary64))
%48 = (*.f64 %39 #s(literal 1 binary64))
#s(literal 500 binary64)
x
y
(*.f64 #s(literal -1 binary64) %4)
(*.f64 #s(literal 1 binary64) %7)
(pow.f64 %7 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64)))
(neg.f64 %4)
(fma.f64 #s(literal -1 binary64) y x)
(fma.f64 %14 #s(literal 1 binary64) %15)
(fma.f64 #s(literal 1 binary64) %14 x)
(fma.f64 x #s(literal 1 binary64) %18)
(-.f64 %14 %20)
%7
(+.f64 %18 %15)
(+.f64 %15 %18)
(+.f64 %14 x)
(+.f64 x %14)
(*.f64 #s(literal -1 binary64) %26)
(*.f64 #s(literal -500 binary64) %4)
(*.f64 %4 #s(literal -500 binary64))
(*.f64 #s(literal 1 binary64) %31)
%31
(*.f64 #s(literal 500 binary64) %7)
(pow.f64 %31 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %31 #s(literal -1 binary64)))
(neg.f64 %26)
(fma.f64 #s(literal -1 binary64) %38 %39)
(fma.f64 #s(literal -1 binary64) %41 %42)
(fma.f64 #s(literal -500 binary64) %20 %39)
(fma.f64 #s(literal -500 binary64) y %42)
(fma.f64 %39 #s(literal 1 binary64) %46)
(fma.f64 %42 #s(literal 1 binary64) %48)
(fma.f64 %20 #s(literal -500 binary64) %39)
(fma.f64 %14 #s(literal 500 binary64) %42)
(fma.f64 #s(literal 1 binary64) %39 %42)
(fma.f64 #s(literal 1 binary64) %42 %39)
(fma.f64 y #s(literal -500 binary64) %42)
(fma.f64 x #s(literal 500 binary64) %39)
(fma.f64 #s(literal 500 binary64) %14 %42)
(fma.f64 #s(literal 500 binary64) x %39)
(-.f64 %39 %38)
(-.f64 %42 %41)
(+.f64 %48 %46)
(+.f64 %46 %48)
(+.f64 %39 %42)
(+.f64 %42 %39)

reconstruct5.0ms (0.8%)

Counts
64 → 17
Compiler

Compiled 64 to 97 computations (-51.6% saved)

eval1.0ms (0.2%)

Compiler

Compiled 15 to 40 computations (-166.7% saved)

prune1.0ms (0.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New12315
Fresh000
Picked011
Done000
Total12416
Accuracy
100.0%
Counts
16 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 #s(literal 500 binary64) x (*.f64 #s(literal -500 binary64) y))
100.0%
(*.f64 #s(literal 500 binary64) (-.f64 x y))
49.8%
(approx (* 500 (- x y)) (*.f64 #s(literal 500 binary64) x))
51.2%
(approx (* 500 (- x y)) (*.f64 #s(literal -500 binary64) y))
Compiler

Compiled 4 to 9 computations (-125.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series19.0ms (3.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037101
Stop Event
iter-limit
Counts
9 → 10
Calls
Call 1
Inputs
%4 = (*.f64 #s(literal -500 binary64) y)
%7 = (* 500 (- x y))
%9 = (*.f64 #s(literal 500 binary64) x)
#s(literal 500 binary64)
x
y
#s(literal -500 binary64)
%4
(approx %7 %4)
%9
(approx %7 %9)
(fma.f64 #s(literal 500 binary64) x %4)
Outputs
%7 = (* 500 (- x y))
%12 = (*.f64 #s(literal 500 binary64) x)
%17 = (/.f64 y x)
%29 = (/.f64 x y)
(approx 500 #s(literal 0 binary64))
(approx x x)
(approx %7 (*.f64 #s(literal -500 binary64) y))
(approx %7 (fma.f64 #s(literal -500 binary64) y %12))
(approx (* 500 x) %12)
(approx %7 (*.f64 x (+.f64 #s(literal 500 binary64) (*.f64 #s(literal -500 binary64) %17))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 500 binary64) %17) #s(literal 500 binary64)))))
(approx y y)
(approx %7 (*.f64 y (-.f64 (*.f64 #s(literal 500 binary64) %29) #s(literal 500 binary64))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 500 binary64) (*.f64 #s(literal -500 binary64) %29)))))
Calls

6 calls:

TimeVariablePoint
21.0ms
y
-inf
1.0ms
x
-inf
1.0ms
x
inf
1.0ms
y
inf
0.0ms
x
0

rewrite72.0ms (11.8%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01134
01534
14033
29133
317033
424433
561233
0402033
0416033
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
9 → 59
Calls
Call 1
Inputs
%4 = (*.f64 #s(literal -500 binary64) y)
%7 = (* 500 (- x y))
%9 = (*.f64 #s(literal 500 binary64) x)
#s(literal 500 binary64)
x
y
#s(literal -500 binary64)
%4
(approx %7 %4)
%9
(approx %7 %9)
(fma.f64 #s(literal 500 binary64) x %4)
Outputs
%5 = (*.f64 y #s(literal 500 binary64))
%7 = (neg.f64 y)
%10 = (*.f64 #s(literal -500 binary64) y)
%20 = (* (- x y) 500)
%21 = (approx %20 %10)
%26 = (*.f64 #s(literal -500 binary64) x)
%28 = (neg.f64 x)
%30 = (*.f64 x #s(literal 500 binary64))
%38 = (approx %20 %30)
%43 = (-.f64 y x)
%44 = (*.f64 %43 #s(literal 500 binary64))
%47 = (-.f64 x y)
%48 = (*.f64 %47 #s(literal 500 binary64))
%62 = (*.f64 %10 #s(literal 1 binary64))
%64 = (*.f64 %30 #s(literal 1 binary64))
#s(literal 500 binary64)
x
y
#s(literal -500 binary64)
(*.f64 #s(literal -1 binary64) %5)
(*.f64 %7 #s(literal 500 binary64))
(*.f64 #s(literal 1 binary64) %10)
%10
(*.f64 y #s(literal -500 binary64))
(*.f64 #s(literal 500 binary64) %7)
(pow.f64 %10 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -1 binary64)))
(neg.f64 %5)
(*.f64 #s(literal 1 binary64) %21)
(pow.f64 %21 #s(literal 1 binary64))
%21
(/.f64 #s(literal 1 binary64) (pow.f64 %21 #s(literal -1 binary64)))
(*.f64 #s(literal -1 binary64) %26)
(*.f64 %28 #s(literal -500 binary64))
(*.f64 #s(literal 1 binary64) %30)
(*.f64 #s(literal -500 binary64) %28)
%30
(*.f64 #s(literal 500 binary64) x)
(pow.f64 %30 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %30 #s(literal -1 binary64)))
(neg.f64 %26)
(*.f64 #s(literal 1 binary64) %38)
(pow.f64 %38 #s(literal 1 binary64))
%38
(/.f64 #s(literal 1 binary64) (pow.f64 %38 #s(literal -1 binary64)))
(*.f64 #s(literal -1 binary64) %44)
(*.f64 %43 #s(literal -500 binary64))
(*.f64 #s(literal 1 binary64) %48)
%48
(*.f64 #s(literal -500 binary64) %43)
(*.f64 #s(literal 500 binary64) %47)
(pow.f64 %48 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %48 #s(literal -1 binary64)))
(neg.f64 %44)
(fma.f64 #s(literal -1 binary64) %26 %10)
(fma.f64 #s(literal -1 binary64) %5 %30)
(fma.f64 %28 #s(literal -500 binary64) %10)
(fma.f64 %7 #s(literal 500 binary64) %30)
(fma.f64 #s(literal 1 binary64) %30 %10)
(fma.f64 #s(literal 1 binary64) %10 %30)
(fma.f64 %30 #s(literal 1 binary64) %62)
(fma.f64 %10 #s(literal 1 binary64) %64)
(fma.f64 #s(literal -500 binary64) %28 %10)
(fma.f64 #s(literal -500 binary64) y %30)
(fma.f64 y #s(literal -500 binary64) %30)
(fma.f64 x #s(literal 500 binary64) %10)
(fma.f64 #s(literal 500 binary64) %7 %30)
(fma.f64 #s(literal 500 binary64) x %10)
(-.f64 %30 %5)
(-.f64 %10 %26)
(+.f64 %64 %62)
(+.f64 %62 %64)
(+.f64 %30 %10)
(+.f64 %10 %30)

reconstruct5.0ms (0.8%)

Counts
69 → 20
Compiler

Compiled 69 to 91 computations (-31.9% saved)

eval2.0ms (0.3%)

Compiler

Compiled 18 to 38 computations (-111.1% saved)

prune1.0ms (0.2%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New18018
Fresh000
Picked033
Done011
Total18422
Accuracy
100.0%
Counts
22 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 #s(literal 500 binary64) x (*.f64 #s(literal -500 binary64) y))
100.0%
(*.f64 #s(literal 500 binary64) (-.f64 x y))
49.8%
(approx (* 500 (- x y)) (*.f64 #s(literal 500 binary64) x))
51.2%
(approx (* 500 (- x y)) (*.f64 #s(literal -500 binary64) y))
Compiler

Compiled 4 to 9 computations (-125.0% saved)

regimes12.0ms (2.0%)

Accuracy

Total 12.8b remaining (28.1%)

Threshold costs 0.0b (0.0%)

12.8b57.2%
0.0b0.0%
0.0b0.0%
0.0b0%

Counts
1 → 1
2 → 3
3 → 1
4 → 1
Calls
Call 1
Inputs
(approx (* 500 (- x y)) (*.f64 #s(literal -500 binary64) y))
Outputs
(approx (* 500 (- x y)) (*.f64 #s(literal -500 binary64) y))
Call 2
Inputs
%4 = (* 500 (- x y))
(approx %4 (*.f64 #s(literal -500 binary64) y))
(approx %4 (*.f64 #s(literal 500 binary64) x))
Outputs
%4 = (* 500 (- x y))
%7 = (approx %4 (*.f64 #s(literal -500 binary64) y))
%7
(approx %4 (*.f64 #s(literal 500 binary64) x))
%7
Call 3
Inputs
%4 = (* 500 (- x y))
(approx %4 (*.f64 #s(literal -500 binary64) y))
(approx %4 (*.f64 #s(literal 500 binary64) x))
(*.f64 #s(literal 500 binary64) (-.f64 x y))
Outputs
(*.f64 #s(literal 500 binary64) (-.f64 x y))
Call 4
Inputs
%4 = (* 500 (- x y))
%6 = (*.f64 #s(literal -500 binary64) y)
(approx %4 %6)
(approx %4 (*.f64 #s(literal 500 binary64) x))
(*.f64 #s(literal 500 binary64) (-.f64 x y))
(fma.f64 #s(literal 500 binary64) x %6)
Outputs
(fma.f64 #s(literal 500 binary64) x (*.f64 #s(literal -500 binary64) y))
Calls

4 calls:

4.0ms
(-.f64 x y)
3.0ms
y
3.0ms
(*.f64 #s(literal 500 binary64) (-.f64 x y))
3.0ms
x
Results
AccuracySegmentsBranch
51.2%1
y
51.2%1
x
51.2%1
(*.f64 #s(literal 500 binary64) (-.f64 x y))
51.2%1
(-.f64 x y)
Compiler

Compiled 8 to 14 computations (-75.0% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch14.0ms (2.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
2.4702238806001017e+40
2.5020956682989923e+48
6.0ms
-4.155509726251822e+46
-2.3642662711297703e+40
Samples
5.0ms288×0valid
Compiler

Compiled 12 to 21 computations (-75.0% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Sub: 0.0ms (0.0% of total, 0.0 MiB)
Mul: 0.0ms (0.0% of total, 0.0 MiB)

bsearch0.0ms (0.0%)

derivations23.0ms (3.7%)

Stop Event
done
Compiler

Compiled 4 to 15 computations (-275.0% saved)

preprocess14.0ms (2.2%)

Compiler

Compiled 5 to 20 computations (-300.0% saved)

end0.0ms (0.0%)

gc100ms (16.4%)

Allocations
AllocatedPercentPhase
283.2 MiB55.3%sample
89.7 MiB17.5%rewrite
43.4 MiB8.5%preprocess
24.4 MiB4.8%regimes
22.6 MiB4.4%bsearch
16.5 MiB3.2%series
13.3 MiB2.6%derivations
10.6 MiB2.1%reconstruct
4.0 MiB0.8%eval
3.4 MiB0.7%prune
0.7 MiB0.1%analyze
0.0 MiB0.0%start
0.0 MiB0.0%end
511.8 MiB100.0%total

Profiling

Loading profile data...