Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, D

Time bar (total: 3.3s)

analyze14.0ms (0.4%)

Memory
-11.8MiB live, 4.0MiB 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 32 to 27 computations (15.6% saved)

sample3.2s (96.2%)

Memory
3.0MiB live, 817.5MiB allocated
Samples
803.0ms7 668×0valid-sollya
545.0ms7 668×0valid-baseline
506.0ms7 668×0valid-rival
92.0ms424×1valid-baseline
55.0ms424×1valid-rival
53.0ms164×2valid-baseline
44.0ms424×1valid-sollya
31.0ms164×2valid-rival
17.0ms164×2valid-sollya
Bogosity

preprocess92.0ms (2.8%)

Memory
5.1MiB live, 20.9MiB allocated
Algorithm
egg-herbie
Rules
738×distribute-lft-in
723×fma-define
709×distribute-rgt-in
483×associate-*l*
312×distribute-lft-neg-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
051509
1114449
2387441
31870405
47441405
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 (neg.f64 x) (*.f64 (*.f64 (-.f64 y (neg.f64 x)) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x (*.f64 (*.f64 (-.f64 (neg.f64 y) x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (neg.f64 z))))
(neg.f64 (+.f64 (neg.f64 x) (*.f64 (*.f64 (-.f64 y (neg.f64 x)) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
(neg.f64 (+.f64 x (*.f64 (*.f64 (-.f64 (neg.f64 y) x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
(neg.f64 (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (neg.f64 z)))))
(+.f64 y (*.f64 (*.f64 (-.f64 x y) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 z (*.f64 (*.f64 (-.f64 y z) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) x)))
(+.f64 x (*.f64 (*.f64 (-.f64 z x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) y)))
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 #s(literal 2/3 binary64) z)))
(fma.f64 (-.f64 y x) (*.f64 #s(literal 6 binary64) (-.f64 #s(literal 2/3 binary64) z)) x)
(fma.f64 (-.f64 y x) (+.f64 #s(literal 4 binary64) (*.f64 z #s(literal -6 binary64))) x)
(fma.f64 (-.f64 y x) (fma.f64 z #s(literal -6 binary64) #s(literal 4 binary64)) x)
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 #s(literal 2/3 binary64) z)))
(fma.f64 (-.f64 y x) (*.f64 #s(literal 6 binary64) (-.f64 #s(literal 2/3 binary64) z)) x)
(fma.f64 (-.f64 y x) (+.f64 #s(literal 4 binary64) (*.f64 z #s(literal -6 binary64))) x)
(fma.f64 (-.f64 y x) (fma.f64 z #s(literal -6 binary64) #s(literal 4 binary64)) x)
(+.f64 (neg.f64 x) (*.f64 (*.f64 (-.f64 y (neg.f64 x)) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 (neg.f64 x) (*.f64 (-.f64 #s(literal 2/3 binary64) z) (*.f64 #s(literal 6 binary64) (-.f64 y (neg.f64 x)))))
(-.f64 (*.f64 (+.f64 x y) (*.f64 #s(literal 6 binary64) (-.f64 #s(literal 2/3 binary64) z))) x)
(-.f64 (*.f64 (+.f64 x y) (+.f64 #s(literal 4 binary64) (*.f64 z #s(literal -6 binary64)))) x)
(-.f64 (*.f64 (+.f64 x y) (fma.f64 z #s(literal -6 binary64) #s(literal 4 binary64))) x)
(+.f64 x (*.f64 (*.f64 (-.f64 (neg.f64 y) x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x (*.f64 (-.f64 #s(literal 2/3 binary64) z) (*.f64 #s(literal 6 binary64) (-.f64 (neg.f64 y) x))))
(-.f64 x (*.f64 (+.f64 x y) (*.f64 #s(literal 6 binary64) (-.f64 #s(literal 2/3 binary64) z))))
(fma.f64 (+.f64 x y) (*.f64 #s(literal 6 binary64) (+.f64 z #s(literal -2/3 binary64))) x)
(fma.f64 (+.f64 x y) (+.f64 (*.f64 #s(literal 6 binary64) z) #s(literal -4 binary64)) x)
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (neg.f64 z))))
(+.f64 x (*.f64 (-.f64 y x) (*.f64 #s(literal 6 binary64) (-.f64 #s(literal 2/3 binary64) (neg.f64 z)))))
(fma.f64 (-.f64 y x) (+.f64 #s(literal 4 binary64) (*.f64 #s(literal 6 binary64) z)) x)
(fma.f64 (-.f64 y x) (fma.f64 #s(literal 6 binary64) z #s(literal 4 binary64)) x)
(neg.f64 (+.f64 (neg.f64 x) (*.f64 (*.f64 (-.f64 y (neg.f64 x)) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
(+.f64 x (*.f64 (-.f64 #s(literal 2/3 binary64) z) (*.f64 #s(literal 6 binary64) (-.f64 (neg.f64 y) x))))
(-.f64 x (*.f64 (+.f64 x y) (*.f64 #s(literal 6 binary64) (-.f64 #s(literal 2/3 binary64) z))))
(fma.f64 (+.f64 x y) (*.f64 #s(literal 6 binary64) (+.f64 z #s(literal -2/3 binary64))) x)
(fma.f64 (+.f64 x y) (+.f64 (*.f64 #s(literal 6 binary64) z) #s(literal -4 binary64)) x)
(neg.f64 (+.f64 x (*.f64 (*.f64 (-.f64 (neg.f64 y) x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
(+.f64 (neg.f64 x) (*.f64 (-.f64 #s(literal 2/3 binary64) z) (*.f64 #s(literal 6 binary64) (-.f64 y (neg.f64 x)))))
(-.f64 (*.f64 (+.f64 x y) (*.f64 #s(literal 6 binary64) (-.f64 #s(literal 2/3 binary64) z))) x)
(-.f64 (*.f64 (+.f64 x y) (+.f64 #s(literal 4 binary64) (*.f64 z #s(literal -6 binary64)))) x)
(-.f64 (*.f64 (+.f64 x y) (fma.f64 z #s(literal -6 binary64) #s(literal 4 binary64))) x)
(neg.f64 (+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (neg.f64 z)))))
(neg.f64 (+.f64 x (*.f64 (-.f64 y x) (*.f64 #s(literal 6 binary64) (-.f64 #s(literal 2/3 binary64) (neg.f64 z))))))
(neg.f64 (fma.f64 (-.f64 y x) (+.f64 #s(literal 4 binary64) (*.f64 #s(literal 6 binary64) z)) x))
(-.f64 (*.f64 (-.f64 x y) (+.f64 #s(literal 4 binary64) (*.f64 #s(literal 6 binary64) z))) x)
(-.f64 (*.f64 (-.f64 x y) (fma.f64 #s(literal 6 binary64) z #s(literal 4 binary64))) x)
(+.f64 y (*.f64 (*.f64 (-.f64 x y) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 y (*.f64 (-.f64 #s(literal 2/3 binary64) z) (*.f64 #s(literal 6 binary64) (-.f64 x y))))
(fma.f64 (-.f64 #s(literal 2/3 binary64) z) (*.f64 #s(literal 6 binary64) (-.f64 x y)) y)
(fma.f64 #s(literal 6 binary64) (*.f64 (-.f64 #s(literal 2/3 binary64) z) (-.f64 x y)) y)
(fma.f64 (-.f64 x y) (fma.f64 z #s(literal -6 binary64) #s(literal 4 binary64)) y)
(+.f64 z (*.f64 (*.f64 (-.f64 y z) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) x)))
(+.f64 z (*.f64 (-.f64 y z) (*.f64 #s(literal 6 binary64) (-.f64 #s(literal 2/3 binary64) x))))
(fma.f64 (-.f64 y z) (*.f64 #s(literal 6 binary64) (-.f64 #s(literal 2/3 binary64) x)) z)
(fma.f64 #s(literal 6 binary64) (*.f64 (-.f64 y z) (-.f64 #s(literal 2/3 binary64) x)) z)
(fma.f64 (-.f64 y z) (fma.f64 x #s(literal -6 binary64) #s(literal 4 binary64)) z)
(+.f64 x (*.f64 (*.f64 (-.f64 z x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) y)))
(+.f64 x (*.f64 (*.f64 #s(literal 6 binary64) (-.f64 z x)) (-.f64 #s(literal 2/3 binary64) y)))
(fma.f64 (-.f64 z x) (*.f64 #s(literal 6 binary64) (-.f64 #s(literal 2/3 binary64) y)) x)
(fma.f64 (-.f64 z x) (+.f64 #s(literal 4 binary64) (*.f64 y #s(literal -6 binary64))) x)
(fma.f64 (-.f64 z x) (fma.f64 y #s(literal -6 binary64) #s(literal 4 binary64)) x)
Compiler

Compiled 16 to 12 computations (25% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.5%
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Compiler

Compiled 32 to 24 computations (25% saved)

simplify2.0ms (0.1%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
egg-herbie
Rules
+-commutative
sub-neg
*-commutative
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01943
12743
23543
33943
44143
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 #s(literal 2/3 binary64) z)))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 14 to 10 computations (28.6% saved)

preprocess16.0ms (0.5%)

Memory
6.8MiB live, 22.4MiB allocated
Compiler

Compiled 60 to 44 computations (26.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...