%!PS-Adobe-3.0 EPSF-3.0 YG620-7R
%%BoundingBox: 70 83 795 587

%START PDFDE011.EPS
/pdfmark07 where {pop} {userdict /pdfmark07 /cleartomark load put} ifelse
/languagelevel where {pop languagelevel} {1} ifelse
2 lt { userdict (<<) cvn ([) cvn load put
       userdict (>>) cvn (]) cvn load put} if
[ /Title (PostScript pictures: http://130.149.60.45/~farbmetrik/YG62/)
  /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1)
  /Subject (goto: http://farbe.li.tu-berlin.de
   or http://130.149.60.45/~farbmetrik)
  /Keywords (image reproduction, colour devices)
  /Creator (klaus.richter@me.com)
  /CreationDate (D:2014100112000)
  /ModDate (D:2014100112000)
/DOCINFO pdfmark07
[ /View [ /FitB ]
/DOCVIEW pdfmark07
%END  PDFDE011

%SETCMYK_OLV.PS
/setcmyk_olvcolor %transfer cmyk to olv
{/ncolor exch def /ycolor exch def
 /mcolor exch def /ccolor exch def
 ncolor 0 eq {1 ccolor sub
              1 mcolor sub
              1 ycolor sub setrgbcolor
             }
             {ccolor 0 eq
              mcolor 0 eq and
              ycolor 0 eq and {%only black n
                               1 ncolor sub
                               dup
                               dup
                               setrgbcolor
                              }
                              {%cmy and black n
                               1 ccolor sub 1 ncolor sub mul
                               1 mcolor sub 1 ncolor sub mul
                               1 ycolor sub 1 ncolor sub mul
                               setrgbcolor
                              } ifelse
             } ifelse
} bind def

% !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I

/Times-Roman findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/Times-ISOL1 exch definefont pop

/Times-Italic findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/TimesI-ISOL1 exch definefont pop

/Times-Bold findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/TimesB-ISOL1 exch definefont pop

/Times-BoldItalic findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/TimesBI-ISOL1 exch definefont pop


/Courier findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/Courier-ISOL1 exch definefont pop

/Courier-Bold findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/CourierB-ISOL1 exch definefont pop


/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def /str {8 string } bind def

/TS {200 /Times-ISOL1 FS} bind def
/TK {250 /Times-ISOL1 FS} bind def
/TM {300 /Times-ISOL1 FS} bind def
/TG {350 /Times-ISOL1 FS} bind def

/TIS {200 /TimesI-ISOL1 FS} bind def
/TIK {250 /TimesI-ISOL1 FS} bind def
/TIM {300 /TimesI-ISOL1 FS} bind def
/TIG {350 /TimesI-ISOL1 FS} bind def

/TBS {200 /TimesB-ISOL1 FS} bind def
/TBK {250 /TimesB-ISOL1 FS} bind def
/TBM {300 /TimesB-ISOL1 FS} bind def
/TBG {350 /TimesB-ISOL1 FS} bind def

/TBIS {200 /TimesBI-ISOL1 FS} bind def
/TBIK {250 /TimesBI-ISOL1 FS} bind def
/TBIM {300 /TimesBI-ISOL1 FS} bind def
/TBIG {350 /TimesBI-ISOL1 FS} bind def

/SS {200 /Symbol FS} bind def
/SK {250 /Symbol FS} bind def
/SM {290 /Symbol FS} bind def
/SG {350 /Symbol FS} bind def

/CSS {115 /Courier-ISOL1 FS} bind def
/CSK {140 /Courier-ISOL1 FS} bind def
/CS {200 /Courier-ISOL1 FS} bind def
/CK {250 /Courier-ISOL1 FS} bind def
/CM {300 /Courier-ISOL1 FS} bind def
/CG {350 /Courier-ISOL1 FS} bind def

/CBSS {115 /CourierB-ISOL1 FS} bind def
/CBSK {140 /CourierB-ISOL1 FS} bind def
/CBS {200 /CourierB-ISOL1 FS} bind def
/CBK {250 /CourierB-ISOL1 FS} bind def
/CBM {300 /CourierB-ISOL1 FS} bind def
/CBG {350 /CourierB-ISOL1 FS} bind def

/ns {350 /Times-ISOL1 FS  show} bind def
/ks {350 /TimesI-ISOL1 FS  show} bind def
/bs {350 /TimesB-ISOL1 FS  show} bind def
/js {350 /TimesBI-ISOL1 FS  show} bind def
/ss {350 /Symbol FS  show} bind def
/is {300 /Times-ISOL1 FS 0 -90 rmoveto show 0   90 rmoveto} bind def
/es {300 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ib {300 /TimesB-ISOL1 FS 0 -90 rmoveto show 0   90 rmoveto} bind def
/eb {300 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ip {300 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def

%20% kleiner
/ns2 {300 /Times-ISOL1 FS  show TM} bind def
/ks2 {300 /TimesI-ISOL1 FS  show TM} bind def
/bs2 {300 /TimesB-ISOL1 FS  show TM} bind def
/js2 {300 /TimesBI-ISOL1 FS  show TM} bind def
/ss2 {300 /Symbol FS  show TM} bind def
/is2 {250 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def
/es2 {250 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ib2 {250 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def
/eb2 {250 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ip2 {250 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def

%40% kleiner
/ns4 {250 /Times-ISOL1 FS  show TK} bind def
/ks4 {250 /TimesI-ISOL1 FS  show TK} bind def
/bs4 {250 /TimesB-ISOL1 FS  show TK} bind def
/js4 {250 /TimesBI-ISOL1 FS  show TK} bind def
/ss4 {250 /Symbol FS  show TK} bind def
/is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def
/es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def
/eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def

%XCHA01.PS BEG
/rec %x, y width heigth
  {/heigth exch def /width exch def
   moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def

/colrecfi %x y width heigth c m y k
  {setcmyk_olvcolor rec fill} bind def

/colrecst %x y width heigth c m y k
  {setcmyk_olvcolor rec stroke} bind def

/rem %x, y width heigth
  {/heigth exch 0.5 mul def /width exch 0.5 mul def
   /yleftb exch heigth 0.5 mul add def
   /xleftb exch width  0.5 mul add def
   xleftb yleftb
   moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def

/colremfi %x y width heigth c m y k
  {setcmykcolor rem fill} bind def

/colremst %x y width heigth c m y k
  {setcmykcolor rem stroke} bind def

/tzr {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben
/tzg {1.0 0.0 1.0 0.0} bind def
/tzb {1.0 1.0 0.0 0.0} bind def
/tzc {1.0 0.0 0.0 0.0} bind def
/tzm {0.0 1.0 0.0 0.0} bind def
/tzy {0.0 0.0 1.0 0.0} bind def

/tzn {0.0 0.0 0.0 1.00} bind def %Graureihe
/tzd {0.0 0.0 0.0 0.75} bind def
/tzz {0.0 0.0 0.0 0.50} bind def
/tzh {0.0 0.0 0.0 0.25} bind def
/tzw {0.0 0.0 0.0 0.00} bind def

/tfr {0.0 1.0 1.0 0.0 setcmyk_olvcolor} bind def %Reproduktionsfarben
/tfg {1.0 0.0 1.0 0.0 setcmyk_olvcolor} bind def
/tfb {1.0 1.0 0.0 0.0 setcmyk_olvcolor} bind def
/tfc {1.0 0.0 0.0 0.0 setcmyk_olvcolor} bind def
/tfm {0.0 1.0 0.0 0.0 setcmyk_olvcolor} bind def
/tfy {0.0 0.0 1.0 0.0 setcmyk_olvcolor} bind def

/tfrz {0.0 1.0 1.0 0.5 setcmyk_olvcolor} bind def %Reproduktionsfarben
/tfgz {1.0 0.0 1.0 0.5 setcmyk_olvcolor} bind def
/tfbz {1.0 1.0 0.0 0.5 setcmyk_olvcolor} bind def
/tfcz {1.0 0.0 0.0 0.5 setcmyk_olvcolor} bind def
/tfmz {0.0 1.0 0.0 0.5 setcmyk_olvcolor} bind def
/tfyz {0.0 0.0 1.0 0.5 setcmyk_olvcolor} bind def

/tfn {0.0 0.0 0.0 1.00 setcmyk_olvcolor} bind def %Graureihe
/tfd {0.0 0.0 0.0 0.75 setcmyk_olvcolor} bind def
/tfz {0.0 0.0 0.0 0.50 setcmyk_olvcolor} bind def
/tfh {0.0 0.0 0.0 0.25 setcmyk_olvcolor} bind def
/tfw {0.0 0.0 0.0 0.00 setcmyk_olvcolor} bind def

/cvishow {cvi 10 string cvs show} def
/cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def
/cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def
/cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def
/cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def

%0
%1
%max 2800 sample pairs with 10 data per line = minimum 28000 data
/Wdata0 28000 array def
/Wdata1 28000 array def
/Wdata1
[

%1-003030-L0 XE620-7R_0_0
%DV*DViimp=106, colour difference pairs KA_LV106=KIT_ADJACENT, xchart3=2, xchart4=1 %
%Xn     Yn      Zn      X0      Y0      Z0      X1      Y1      Z1      DV*DV   CODE
0095050 0100000 0108900 0043074 0051427 0077399 0081895 0087159 0084892 0006863 %62000001 %
0095050 0100000 0108900 0043074 0051427 0077399 0019343 0027473 0069838 0006246 %62000002 %
0095050 0100000 0108900 0030852 0028282 0046115 0081865 0087136 0084766 0007773 %62000003 %
0095050 0100000 0108900 0030852 0028282 0046115 0007801 0005152 0022368 0009321 %62000004 %
0095050 0100000 0108900 0053920 0042704 0046585 0081957 0087176 0085290 0006962 %62000005 %
0095050 0100000 0108900 0053920 0042704 0046585 0033139 0017030 0021987 0008509 %62000006 %
0095050 0100000 0108900 0052074 0043502 0024322 0082025 0087214 0085669 0006344 %62000007 %
0095050 0100000 0108900 0052074 0043502 0024322 0030662 0017102 0002671 0009516 %62000008 %
0095050 0100000 0108900 0071925 0080693 0032042 0082017 0087277 0085077 0003204 %62000009 %
0095050 0100000 0108900 0071925 0080693 0032042 0066664 0073806 0006995 0004258 %62000010 %
0095050 0100000 0108900 0032292 0044663 0029339 0081978 0087247 0084968 0006686 %62000011 %
0095050 0100000 0108900 0032292 0044663 0029339 0009712 0020830 0006418 0006639 %62000012 %
0095050 0100000 0108900 0008527 0010959 0021142 0019770 0027965 0070590 0008074 %62000013 %
0095050 0100000 0108900 0008527 0010959 0021142 0002980 0003099 0003081 0006845 %62000014 %
0095050 0100000 0108900 0005284 0004233 0010255 0008218 0005476 0023253 0003459 %62000015 %
0095050 0100000 0108900 0005284 0004233 0010255 0003089 0003186 0003175 0003500 %62000016 %
0095050 0100000 0108900 0012276 0008036 0009325 0032537 0016547 0021197 0007319 %62000017 %
0095050 0100000 0108900 0012276 0008036 0009325 0002842 0002946 0002963 0006583 %62000018 %
0095050 0100000 0108900 0011579 0007961 0002636 0030314 0016860 0002493 0008354 %62000019 %
0095050 0100000 0108900 0011579 0007961 0002636 0002902 0003013 0002999 0007426 %62000020 %
0095050 0100000 0108900 0020099 0022165 0004769 0066798 0074098 0007444 0007756 %62000021 %
0095050 0100000 0108900 0020099 0022165 0004769 0003033 0003118 0003076 0009368 %62000022 %
0095050 0100000 0108900 0005367 0008949 0004486 0010243 0021552 0006753 0005819 %62000023 %
0095050 0100000 0108900 0005367 0008949 0004486 0003141 0003224 0003188 0007459 %62000024 %
0095050 0100000 0108900 0018978 0027010 0069411 0081903 0087166 0084901 0012812 %62000025 %
0095050 0100000 0108900 0018978 0027010 0069411 0002714 0002829 0002886 0015365 %62000026 %
0095050 0100000 0108900 0007467 0004897 0021984 0081875 0087121 0084914 0016349 %62000027 %
0095050 0100000 0108900 0007467 0004897 0021984 0002736 0002851 0002907 0006526 %62000028 %
0095050 0100000 0108900 0032650 0016676 0021392 0081940 0087190 0085037 0013124 %62000029 %
0095050 0100000 0108900 0032650 0016676 0021392 0002832 0002949 0003016 0017026 %62000030 %
0095050 0100000 0108900 0030215 0016816 0002562 0081966 0087204 0085258 0014764 %62000031 %
0095050 0100000 0108900 0030215 0016816 0002562 0002849 0002958 0003070 0016033 %62000032 %
0095050 0100000 0108900 0066737 0073834 0007177 0082007 0087317 0084700 0008376 %62000033 %
0095050 0100000 0108900 0066737 0073834 0007177 0002672 0002786 0002857 0019113 %62000034 %
0095050 0100000 0108900 0009334 0020322 0006403 0081861 0087155 0084581 0012365 %62000035 %
0095050 0100000 0108900 0009334 0020322 0006403 0002711 0002826 0002883 0012078 %62000036 %
0095050 0100000 0108900 0007648 0005037 0022249 0019131 0027146 0069686 0009730 %62000037 %
0095050 0100000 0108900 0007648 0005037 0022249 0032775 0016792 0021389 0010566 %62000038 %
0095050 0100000 0108900 0030190 0016793 0002540 0032749 0016740 0021479 0007556 %62000039 %
0095050 0100000 0108900 0030190 0016793 0002540 0066638 0073825 0007508 0015383 %62000040 %
0095050 0100000 0108900 0009237 0020192 0006398 0066640 0073753 0007320 0014563 %62000041 %
0095050 0100000 0108900 0009237 0020192 0006398 0018964 0026976 0069349 0009519 %62000042 %
0095050 0100000 0108900 0018934 0026937 0069287 0007531 0004955 0021877 0011394 %62000043 %
0095050 0100000 0108900 0018934 0026937 0069287 0009307 0020222 0006423 0008014 %62000044 %
0095050 0100000 0108900 0066618 0073785 0007373 0009555 0020600 0006529 0016825 %62000045 %
0095050 0100000 0108900 0066618 0073785 0007373 0030059 0016679 0002509 0013603 %62000046 %
0095050 0100000 0108900 0032755 0016755 0021344 0030173 0016785 0002553 0006067 %62000047 %
0095050 0100000 0108900 0032755 0016755 0021344 0007669 0005063 0022199 0011415 %62000048 %
0095050 0100000 0108900 0061414 0068767 0083109 0081967 0087195 0085247 0003166 %62000049 %
0095050 0100000 0108900 0061414 0068767 0083109 0042846 0051178 0077724 0003377 %62000050 %
0095050 0100000 0108900 0030129 0038759 0074364 0042846 0051178 0077724 0002997 %62000051 %
0095050 0100000 0108900 0030129 0038759 0074364 0019117 0027166 0069759 0004812 %62000052 %
0095050 0100000 0108900 0053773 0053723 0066406 0081677 0086843 0085230 0003466 %62000053 %
0095050 0100000 0108900 0053773 0053723 0066406 0031007 0028449 0046980 0003159 %62000054 %
0095050 0100000 0108900 0017140 0013979 0033873 0031007 0028449 0046980 0003220 %62000055 %
0095050 0100000 0108900 0017140 0013979 0033873 0007724 0005099 0022445 0005072 %62000056 %
0095050 0100000 0108900 0068553 0064010 0066228 0082016 0087216 0085531 0004189 %62000057 %
0095050 0100000 0108900 0068553 0064010 0066228 0054225 0042964 0047363 0003563 %62000058 %
0095050 0100000 0108900 0043132 0028245 0033517 0054225 0042964 0047363 0003852 %62000059 %
0095050 0100000 0108900 0043132 0028245 0033517 0032941 0016859 0021835 0004767 %62000060 %
0095050 0100000 0108900 0064913 0061743 0048224 0081898 0087155 0084581 0003588 %62000061 %
0095050 0100000 0108900 0064913 0061743 0048224 0051433 0042502 0023758 0003495 %62000062 %
0095050 0100000 0108900 0039728 0027280 0009052 0051433 0042502 0023758 0003840 %62000063 %
0095050 0100000 0108900 0039728 0027280 0009052 0030153 0016716 0002439 0004921 %62000064 %
0095050 0100000 0108900 0075935 0083223 0055281 0081998 0087239 0085073 0002089 %62000065 %
0095050 0100000 0108900 0075935 0083223 0055281 0072081 0080771 0032956 0002000 %62000066 %
0095050 0100000 0108900 0069109 0077892 0016272 0072081 0080771 0032956 0002293 %62000067 %
0095050 0100000 0108900 0069109 0077892 0016272 0066785 0074005 0007581 0002497 %62000068 %
0095050 0100000 0108900 0054957 0065264 0054935 0081892 0087084 0085314 0002944 %62000069 %
0095050 0100000 0108900 0054957 0065264 0054935 0032602 0044922 0030627 0002476 %62000070 %
0095050 0100000 0108900 0019612 0032347 0016223 0032602 0044922 0030627 0002717 %62000071 %
0095050 0100000 0108900 0019612 0032347 0016223 0009866 0021113 0006738 0003556 %62000072 %
0095050 0100000 0108900 0012815 0017460 0040601 0019274 0027357 0069614 0003944 %62000073 %
0095050 0100000 0108900 0012815 0017460 0040601 0008051 0010396 0020660 0003130 %62000074 %
0095050 0100000 0108900 0004691 0005674 0008904 0008051 0010396 0020660 0003480 %62000075 %
0095050 0100000 0108900 0004691 0005674 0008904 0002732 0002842 0002934 0003269 %62000076 %
0095050 0100000 0108900 0006167 0004418 0015597 0007633 0005004 0022145 0001732 %62000077 %
0095050 0100000 0108900 0006167 0004418 0015597 0004846 0003858 0009872 0002106 %62000078 %
0095050 0100000 0108900 0003743 0003394 0005660 0004846 0003858 0009872 0002410 %62000079 %
0095050 0100000 0108900 0003743 0003394 0005660 0002828 0002931 0002979 0001708 %62000080 %
0095050 0100000 0108900 0020068 0011211 0014294 0032800 0016758 0021462 0004011 %62000081 %
0095050 0100000 0108900 0020068 0011211 0014294 0012454 0008161 0009708 0003177 %62000082 %
0095050 0100000 0108900 0006621 0005133 0005569 0012454 0008161 0009708 0002658 %62000083 %
0095050 0100000 0108900 0006621 0005133 0005569 0002956 0003059 0003075 0003930 %62000084 %
0095050 0100000 0108900 0018784 0011347 0002510 0030131 0016704 0002461 0004248 %62000085 %
0095050 0100000 0108900 0018784 0011347 0002510 0011283 0007750 0002628 0002964 %62000086 %
0095050 0100000 0108900 0006222 0004944 0002707 0011283 0007750 0002628 0003562 %62000087 %
0095050 0100000 0108900 0006222 0004944 0002707 0002745 0002868 0002951 0004177 %62000088 %
0095050 0100000 0108900 0039436 0044284 0006442 0066658 0073857 0007567 0005090 %62000089 %
0095050 0100000 0108900 0039436 0044284 0006442 0019741 0021839 0004835 0004050 %62000090 %
0095050 0100000 0108900 0008996 0009737 0003907 0019741 0021839 0004835 0003502 %62000091 %
0095050 0100000 0108900 0008996 0009737 0003907 0002812 0002925 0002972 0005965 %62000092 %
0095050 0100000 0108900 0007159 0013858 0005360 0009802 0021038 0006738 0003449 %62000093 %
0095050 0100000 0108900 0007159 0013858 0005360 0005090 0008604 0004498 0002414 %62000094 %
0095050 0100000 0108900 0003682 0005086 0003618 0005090 0008604 0004498 0003509 %62000095 %
0095050 0100000 0108900 0003682 0005086 0003618 0002992 0003106 0003128 0003374 %62000096 %
0095050 0100000 0108900 0012120 0012755 0040676 0019062 0027088 0069269 0005147 %62000097 %
0095050 0100000 0108900 0012120 0012755 0040676 0007373 0004814 0021600 0005655 %62000098 %
0095050 0100000 0108900 0016051 0008945 0020741 0007373 0004814 0021600 0006051 %62000099 %
0095050 0100000 0108900 0016051 0008945 0020741 0032507 0016557 0021023 0005442 %62000100 %
0095050 0100000 0108900 0031564 0016801 0008907 0032474 0016544 0020959 0004854 %62000101 %
0095050 0100000 0108900 0031564 0016801 0008907 0030157 0016753 0002527 0003134 %62000102 %
0095050 0100000 0108900 0046533 0039404 0004835 0030157 0016753 0002527 0008475 %62000103 %
0095050 0100000 0108900 0046533 0039404 0004835 0066702 0073903 0007494 0008475 %62000104 %
0095050 0100000 0108900 0028031 0040716 0007177 0066703 0073927 0007609 0008139 %62000105 %
0095050 0100000 0108900 0028031 0040716 0007177 0009666 0020820 0006752 0007338 %62000106 %
] def %END WData

%BEG FILE CODR1.PS V=VIK
/CODT0 2800 array def
/CODT0 [%BEG CODT0 %114 codes
%114 pairs: 12 triplets = 24 pairs (page 1)
%           12 triplets = 24 pairs (page 3)
%           06 triplets = 12 pairs (page 3)
%           12 5 step series (page 2) = 48 pairs
%           01 triplet (W-Z-N) = 2 pairs
%           01 5 step series (W-H-Z-D-N) = 4 pairs
%           
%page 1: 12 triplets
(CW_W) (CW-C) (VW-W) (VW-V) (MW-W) (MW-M) %6 triplets, each 6 pairs
(OW_W) (OW-O) (YW-W) (YW-Y) (LW-W) (LW-L)

(CN-C) (CN-N) (VN-V) (VN-N) (MN-M) (MN-N) %6 triplets, each 6 pairs
(ON-O) (ON-N) (YN-Y) (YN-N) (LN-L) (LN-N)

%page 3: 12 triplets
(C-W) (C-N)  (V-W) (V-N)  (M-W) (W-N) %6 triplets, each 6 pairs
(O-W) (O-N)  (Y-W) (Y-N)  (L-W) (L-N)

(V-C) (V-M)  (O-M) (O-Y)  (L-Y) (L-C) %6 triplets, each 6 pairs
(C-V) (C-L)  (Y-L) (Y-O)  (M-O) (M-V)

%page 3: 6 triplets, each 2 pairs
%5 step series C-CV-V-MV-M, only two triplets evaluations
(CV-C) (CV-V) %01 each 2 pairs
(VM-V) (VM-M) %02
%5 step series M-MO-O-YO-Y, only two triplets evaluations
(MO-M) (MO-O) %03
(YO-O) (YO-Y) %04
%5 step series Y-YL-L_CL_C, only two triplets evaluations
(YL-Y) (YL-L) %05
(CL-L) (CL-C) %06

%page 2: 12 x 5 step series: each 5 step series
%page 2: 12 x 4 pairs = 48 pairs
(W-Wc) (Wc-CW) (CW-Cw) (Cw-C) %01 each 4 pairs
(W-Wv) (Wv-VW) (VW-Vw) (Vw-V) %02
(W-Wm) (Wm-MW) (MW-Mw) (Mw-M) %03
(W-Wo) (Wo-OW) (OW-Ow) (Ow-O) %04
(W-Wy) (Wy-YW) (YW-Yw) (Yw-Y) %05
(W-Wl) (Wl-LW) (LW-Lw) (Lw-L) %06

(C-Cn) (Cn-CN) (CN-Nc) (Nc-N) %07
(V-Vn) (Vn-VN) (VN-Nv) (Nv-N) %08
(M-Mn) (Mn-MN) (MN-Nm) (Nm-N) %09
(O-On) (On-ON) (ON-No) (No-N) %10
(Y-Yn) (Yn-YN) (YN-Ny) (Ny-N) %11
(L-Ln) (Ln-LN) (LN-Nl) (Nl-N) %12

(Z-W)  (Z-N)                  %triplet, 2 pairs
(H-W)  (H-Z)   (D-Z)   (D-N)  %5 step series, 4 pairs
() () () () () () () () () () %default
] def %END CODT0
/CODTi 2800 array def
/i1 114 def
0 1 i1 {/i exch def CODTi i CODT0 i get put} for %test
i1 1 add 1 2799 {/i exch def CODTi i (    ) put} for %test
%END FILE CODV1.PS V=VIK

%*************************************
/cvi36show
{1000 mul /nx exch cvi def
nx      9 le {(0) show} if
nx     99 le {(0) show} if
nx    999 le {(0) show} if
nx   9999 le {(0) show} if
nx  99999 le {(0) show} if
nx 999999 le {(0) show} if
nx cvi 10 string cvs show
} def

/cvi24show
{100 mul /nx exch cvi def
nx      9 le {(0) show} if
nx     99 le {(0) show} if
nx    999 le {(0) show} if
nx   9999 le {(0) show} if
nx cvi 8 string cvs show
} def
%*******************************************
/cvi03show
{/nx exch cvi def
nx      9 le {(0) show} if
nx     99 le {(0) show} if
nx    999 le {(0) show} if
nx cvi 7 string cvs show
} def

/cvi02show
{/nx exch cvi def
nx      9 le {(0) show} if
nx     99 le {(0) show} if
nx cvi 6 string cvs show
} def

/cvi02nshow
{/nx exch def %with round
nx 0 eq {%nx=0
         (00) show
         nx cvi 6 string cvs show
        } if %nx>=0
nx 0 gt {%nx>=0
         /nx nx 0.5 add cvi def
         nx      9 le {(0) show} if
         nx     99 le {(0) show} if
         nx 6 string cvs show
        } if
nx 0 lt {%nx<0
         /nx nx 0.5 sub cvi def
         nx abs   99 le {(0) show} if
         nx 6 string cvs show
        } if %nx>=0
} def

/cvi02xshow
{/nx exch def %with round
nx 0 eq {%nx=0
         (  ) show
         nx cvi 6 string cvs show
        } if %nx>=0
nx 0 gt {%nx>=0
         /nx nx 0.5 add cvi def
         nx      9 le {( ) show} if
         nx     99 le {( ) show} if
         nx 6 string cvs show
        } if
nx 0 lt {%nx<0
         /nx nx 0.5 sub cvi def
         nx abs   99 le {( ) show} if
         nx 6 string cvs show
        } if %nx>=0
} def

/cvi03nshow
{/nx exch def %with round
nx 0 eq {%nx=0
         (000) show
         nx cvi 7 string cvs show
        } if %nx>=0
nx 0 gt {%nx>=0
         /nx nx 0.5 add cvi def
         nx      9 le {(0) show} if
         nx     99 le {(0) show} if
         nx    999 le {(0) show} if
         nx 7 string cvs show
        } if
nx 0 lt {%nx<0
         /nx nx 0.5 sub cvi def
         nx abs    9 le {(0) show} if
         nx abs   99 le {(0) show} if
         nx 7 string cvs show
        } if %nx>=0
} def

/cvi03xshow
{/nx exch cvi def %with round
nx 0 eq {%nx=0
         (   ) show
         nx cvi 7 string cvs show
        } if %nx>=0
nx 0 gt {%nx>=0
%         /nx nx 0.5 add cvi def
         nx      9 le {( ) show} if
         nx     99 le {( ) show} if
         nx    999 le {( ) show} if
         nx 7 string cvs show
        } if
nx 0 lt {%nx<0
%         /nx nx 0.5 sub cvi def
         nx abs    9 le {( ) show} if
         nx abs   99 le {( ) show} if
         nx 7 string cvs show
        } if %nx>=0
} def

%*************************************************************
/d_CIELABi  2800 array def
/d_CIELCHi  2800 array def
/d_C94LCHi  2800 array def
/d_CMCLCHi  2800 array def
/d_CM2LCHi  2800 array def
/d_C00LCHi  2800 array def
/d_C85LCHi  2800 array def
/d_C77LCHi  2800 array def
/d_C78LCHi  2800 array def
/d_C79LCHi  2800 array def

/d_CIELABmi  2800 array def
/d_CIELCHmi  2800 array def
/d_C94LCHmi  2800 array def
/d_CMCLCHmi  2800 array def
/d_CM2LCHmi  2800 array def
/d_C00LCHmi  2800 array def
/d_C85LCHmi  2800 array def
/d_C77LCHmi  2800 array def
/d_C78LCHmi  2800 array def
/d_C79LCHmi  2800 array def

/D13 1 3 div def
/D841_108 841 108 div def
/D4_29 4 29 div def
/D6_29 6 29 div 3 exp def

/proc_coldiff {%BEG procedure proc_coldiff PROC_COLDIFF_WK58.PS 150529
%calculates CIE colour data and differences for 10 colour spaces
%BEG CIELAB/CIELCH
/FL 0.000001 def
X0 XW div D6_29 gt {/FXXN0 X0 XW div 0.0001 add D13 exp def}
                   {/FXXN0 D841_108 X0 XW div mul D4_29 add def} ifelse

Y0 YW div D6_29 gt {/FYYN0 Y0 YW div 0.0001 add D13 exp def}
                    {/FYYN0 D841_108 Y0 YW div mul D4_29 add def} ifelse

Z0 ZW div D6_29 gt {/FZZN0 Z0 ZW div 0.0001 add D13 exp def}
                    {/FZZN0 D841_108 Z0 ZW div mul D4_29 add def} ifelse

/CIEL*0 116. FYYN0 mul 16. sub def
/CIEa*0 500. FXXN0 FYYN0 sub mul def
/CIEb*0 200. FYYN0 FZZN0 sub mul def
/CIEC*ab0 CIEa*0 dup mul
          CIEb*0 dup mul add 0.0001 add sqrt def
/CIEhab0 CIEb*0 CIEa*0 0.0001 add atan def

X1 XW div D6_29 gt {/FXXN1 X1 XW div 0.0001 add D13 exp def}
                   {/FXXN1 D841_108 X1 XW div mul D4_29 add def} ifelse

Y1 YW div D6_29 gt {/FYYN1 Y1 YW div 0.0001 add D13 exp def}
                   {/FYYN1 D841_108 Y1 YW div mul D4_29 add def} ifelse

Z1 ZW div D6_29 gt {/FZZN1 Z1 ZW div 0.0001 add D13 exp def}
                   {/FZZN1 D841_108 Z1 ZW div mul D4_29 add def} ifelse

/CIEL*1 116. FYYN1 mul 16. sub def
/CIEa*1 500. FXXN1 FYYN1 sub mul def
/CIEb*1 200. FYYN1 FZZN1 sub mul def
/CIEC*ab1 CIEa*1 dup mul
          CIEb*1 dup mul add 0.0001 add sqrt def
/CIEhab1 CIEb*1 CIEa*1 0.0001 add atan def

%mixed terms with *0 sn *1:
/d_CIEL* CIEL*1 CIEL*0 sub def
/d_CIEa* CIEa*1 CIEa*0 sub def
/d_CIEb* CIEb*1 CIEb*0 sub def

d_CIELABi i d_CIEL* dup mul
            d_CIEa* dup mul add 
            d_CIEb* dup mul add 0.00000001 add sqrt put

/a_CIELAB 1.26 def
/b_CIELAB 0.55 def
d_CIELABmi i d_CIELABi i get b_CIELAB exp a_CIELAB mul put

/d_CIEh CIEhab1 CIEhab0 sub def                    %see CIEDE2000 page 4
CIEC*ab1 CIEC*ab0 mul 0 eq {/d_CIEh 0 def} if      %CIEC*ab1 x CIEC*ab0 =0
CIEC*ab1 CIEC*ab0 mul 0 ne  d_CIEh  180 gt and
         {/d_CIEh d_CIEh 360 sub def} if
CIEC*ab1 CIEC*ab0 mul 0 ne  d_CIEh -180 lt and
         {/d_CIEh d_CIEh 360 add def} if

/d_CIEL   CIEL*1   CIEL*0   sub def
/d_CIECab CIEC*ab1 CIEC*ab0 sub def
/d_CIEHab CIEC*ab1 CIEC*ab0 mul 0.000001 add sqrt 2 mul
          d_CIEh 0.5 mul sin mul def

d_CIELCHi i d_CIEL   dup mul
            d_CIECab dup mul add
            d_CIEHab dup mul add 0.000001 add sqrt put

%alternative:
%for 2 an 10 degree observer, see Richter (1996)
%a'=0,2191 b'=-0,08376 a'10=0,2193, b'10=-0,08417
%a'2 and a'10 used for both 12 and 190 degree observer

%BEG LABD65_1976=C76
/S76L 1 def
/S76A 1 def
/S76B 1 def
/K76L 1 def
/K76A 1 def
/K76B 1 def
/AS2 0.2191 def
/BS2 -0.08376 def
%C76a'=AS2*(x/y)**(1/3)
%C76b'=BS2*(z/y)**(1/3)
%C76L*=L*CIE
%C76a*=500*[C76a'-C76a'n]*Y**(1/3)
%C76b*=500*[C76b'-C76b'n]*Y**(1/3)

/C76a'0 X0 Y0 FL add div 0.3333 exp AS2 mul def
/C76a'1 X1 Y1 FL add div 0.3333 exp AS2 mul def
/C76a'n XW YW FL add div 0.3333 exp AS2 mul def

/C76b'0 Z0 Y0 FL add div 0.3333 exp BS2 mul def
/C76b'1 Z1 Y1 FL add div 0.3333 exp BS2 mul def
/C76b'n ZW YW FL add div 0.3333 exp BS2 mul def
 
/C76a*0 C76a'0 C76a'n sub 500 mul Y0 1 3 div exp mul def
/C76a*1 C76a'1 C76a'n sub 500 mul Y1 1 3 div exp mul def
/C76b*0 C76b'0 C76b'n sub 500 mul Y0 1 3 div exp mul def
/C76b*1 C76b'1 C76b'n sub 500 mul Y1 1 3 div exp mul def

%name d_CIELCHi instead of d_LABD65i 1976
d_CIELCHi i CIEL*1 CIEL*0 sub K76L div S76L div dup mul
            C76a*1 C76a*0 sub K76A div S76A div dup mul add
            C76b*1 C76b*0 sub K76B div S76B div dup mul add
            0.00000001 add sqrt put

%END LABD65_1976=C76

/a_CIELCH 1.26 def
/b_CIELCH 0.55 def
d_CIELCHmi i d_CIELCHi i get b_CIELCH exp a_CIELCH mul put

%BEG CIELAB/CIELCH

%BEG CIE94
/S94L 1 def
/S94C 1 0.045 CIEC*ab0 mul add def
/S94H 1 0.015 CIEC*ab0 mul add def
/K94L 1 def
/K94C 1 def
/K94H 1 def

/LC94*0 CIEL*0 K94L div S94L div def
/LC94*1 CIEL*1 K94L div S94L div def
/CC94*ab0 CIEC*ab0 K94C div S94C div def
/CC94*ab1 CIEC*ab1 K94C div S94C div def

d_C94LCHi i CIEL*1   CIEL*0   sub K94L div S94L div dup mul
            CIEC*ab1 CIEC*ab0 sub K94C div S94C div dup mul add 
            d_CIEHab              K94H div S94H div dup mul add
            0.00000001 add sqrt put

/a_C94LCH 1.41 def
/b_C94LCH 0.70 def
d_C94LCHmi i d_C94LCHi i get b_C94LCH exp a_C94LCH mul put

%END CIE94

%BEG CMC(l:c=1:1)
%special mean m of two samples for SCML, SCMC, TCMC

/CIEL*0m   CIEL*0 CIEL*1 add 0.5 mul def
/CMCC0S CIEC*ab0 def
/CMCC1S CIEC*ab1 def
/CIEC*ab0m CMCC0S CMCC1S add 0.5 mul def

CIEC*ab0 0 eq {/CMCh0S 0 def}
              {/CMCh0S CIEb*0 CIEa*0  0.0001 add atan def
              } ifelse
CIEC*ab1 0 eq {/CMCh1S 0 def}
              {/CMCh1S CIEb*1 CIEa*1  0.0001 add atan def
              } ifelse

%beg special EQUATION (11) TO (14)
/d_CMChS0 CMCh1S CMCh0S sub def                    %see CIEDE2000 page 4
CMCC1S CMCC0S mul 0 eq {/d_CMChS 0 def} if    %CIEC*ab1 x CIEC*ab0 =0
CMCC1S CMCC0S mul 0 ne
d_CMChS0 abs  180 le and
         {/d_CMChSm d_CMChS0 def} if
CMCC1S CMCC0S mul 0 ne
d_CMChS0  180 gt and
         {/d_CMChSm d_CMChS0 360 sub def} if
CMCC1S CMCC0S mul 0 ne
d_CMChS0 -180 lt and
         {/d_CMChSm d_CMChS0 360 add def} if
%end special EQUATION (11) TO (14)

%beg special EQUATION (23) TO (26)
/a_CMChsm CMCh0S CMCh1S add 0.5 mul def
/m_CMCCSm CMCC0S CMCC1S mul def

d_CMChSm abs 180 le
m_CMCCSm 0   ne and
{/CMChSqm a_CMChsm def} if

d_CMChSm abs 180 gt
a_CMChsm 360 le and
m_CMCCSm 0   ne and
{/CMChSqm CMCh0S CMCh1S add 360 add 0.5 mul def} if

d_CMChSm abs 180 gt
a_CMChsm 360 ge and
m_CMCCSm 0   ne and
{/CMChSqm CMCh0S CMCh1S add 360 sub 0.5 mul def} if

m_CMCCSm 0 eq {/CMChSqm CMCh0S CMCh1S add def } if
%end special EQUATION (23) TO (26)

CIEL*0m 16 lt {/SCMLm 0.511 def}
              {/SCMLm 0.040975 CIEL*0m mul
                      0.01765  CIEL*0m mul 1 add div def
             } ifelse
/SCMCm 0.0638 CIEC*ab0m mul
       0.0131 CIEC*ab0m mul 1 add div 0.638 add def
%beg special
/FCMCm CIEC*ab0m dup mul dup mul
       CIEC*ab0m dup mul dup mul 1900 add div sqrt def
CMChSqm 164 lt
CMChSqm 345 gt or
{/TCMCm CMChSqm  35 add cos 0.4 mul abs 0.36 add def}
{/TCMCm CMChSqm 168 add cos 0.2 mul abs 0.56 add def} ifelse
%end special

/SCMHm TCMCm FCMCm mul 1 add FCMCm sub SCMCm mul def

/KCML 1 def %=l
/KCMC 1 def %=c
/KCMH 1 def %1

/CMCL*0m CIEL*0 KCML div SCMLm div def
/CMCL*1m CIEL*1 KCML div SCMLm div def
/CMCC*ab0m CIEC*ab0 KCMC div SCMCm div def
/CMCC*ab1m CIEC*ab1 KCMC div SCMCm div def

d_CMCLCHi i CIEL*1 CIEL*0 sub     KCML div SCMLm div dup mul
            CIEC*ab1 CIEC*ab0 sub KCMC div SCMCm div dup mul add 
            d_CIEHab              KCMH div SCMHm div dup mul add
            0.00000001 add sqrt put

/a_CMCLCH 1.34 def
/b_CMCLCH 0.66 def
d_CMCLCHmi i d_CMCLCHi i get b_CMCLCH exp a_CMCLCH mul put

%END CMC(m:l:c=m:1:1)=CMC

%BEG CM2(m:l:c=m:1:2)=CM2
/KM2L 1 def %=l
/KM2C 2 def %=c
/KM2H 1 def %1

/CM2L*0 CIEL*0 KM2L div SCMLm div def
/CM2L*1 CIEL*1 KM2L div SCMLm div def
/CM2C*ab0 CIEC*ab0 KM2C div SCMCm div def
/CM2C*ab1 CIEC*ab1 KM2C div SCMCm div def

d_CM2LCHi i CIEL*1 CIEL*0 sub     KM2L div SCMLm div dup mul
            CIEC*ab1 CIEC*ab0 sub KM2C div SCMCm div dup mul add
            d_CIEHab              KM2H div SCMHm div dup mul add
            0.00000001 add sqrt put

%END CM2(m:l:c=m:1:2)=CM2

%BEG CIEDE2000=C00
%beg special equation (7)
/CIEC*ab CIEC*ab0 CIEC*ab1 add 0.5 mul def
/DEG 1 CIEC*ab 7 exp
       CIEC*ab 7 exp 25 7 exp add div
       0.000001 add sqrt sub 0.5 mul def
%end special equation (7)

%beg special EQUATION (1) TO (6)
%0
/C00L0S CIEL*0 def
/C00a0S 1 DEG add CIEa*0 mul def
/C00b0S CIEb*0 def
/C00C0S C00a0S dup mul
        C00b0S dup mul add
        0.000001 add sqrt def
C00C0S 0 eq {/C00h0S 0 def}
            {/C00h0S C00b0S C00a0S  0.0001 add atan def
            } ifelse
%1
/C00L1S CIEL*1 def
/C00a1S 1 DEG add CIEa*1 mul def
/C00b1S CIEb*1 def
/C00C1S C00a1S dup mul
        C00b1S dup mul add
        0.000001 add sqrt def
C00C1S 0 eq {/C00h1S 0 def}
            {/C00h1S C00b1S C00a1S  0.0001 add atan def
            } ifelse
%end special EQUATION (1) TO (6)

%beg special EQUATION (11) TO (14)
/d_C00hS0 C00h1S C00h0S sub def                    %see CIEDE2000 page 4
C00C1S C00C0S mul 0 eq {/d_C00hS 0 def} if    %CIEC*ab1 x CIEC*ab0 =0
C00C1S C00C0S mul 0 ne
d_C00hS0 abs  180 le and
         {/d_C00hS d_C00hS0 def} if
C00C1S C00C0S mul 0 ne
d_C00hS0  180 gt and
         {/d_C00hS d_C00hS0 360 sub def} if
C00C1S C00C0S mul 0 ne
d_C00hS0 -180 lt and
         {/d_C00hS d_C00hS0 360 add def} if
%end special EQUATION (11) TO (14)

%beg special EQUATION (8) TO (10)
/d_C00LS C00L1S C00L0S sub def
/d_C00aS C00a1S C00a0S sub def
/d_C00bS C00b1S C00b0S sub def
/d_C00CS C00C1S C00C0S sub def
/d_C00HS C00C0S C00C1S mul 0.000001 add sqrt 2 mul
         d_C00hS 0.5 mul sin mul def
%end special EQUATION (8) TO (10)

%beg special EQUATION (23) TO (26)
/a_C00hs C00h0S C00h1S add 0.5 mul def
/m_C00CS C00C0S C00C1S mul def

d_C00hS abs 180 le
m_C00CS 0   ne and
{/C00hSq a_C00hs def} if

d_C00hS abs 180 gt
a_C00hs 360 le and
m_C00CS 0   ne and
{/C00hSq C00h0S C00h1S add 360 add 0.5 mul def} if

d_C00hS abs 180 gt
a_C00hs 360 ge and
m_C00CS 0   ne and
{/C00hSq C00h0S C00h1S add 360 sub 0.5 mul def} if

m_C00CS 0 eq {/C00hSq C00h0S C00h1S add def } if
%end special EQUATION (23) TO (26)

%beg special EQUATIONS (16) TO (22)
/C00LSq C00L0S C00L1S add 0.5 mul def
/C00CSq C00C0S C00C1S add 0.5 mul def

/C00SL C00LSq 50 sub dup mul 0.015 mul
       C00LSq 50 sub dup mul 20 add sqrt div
       1 add def
/C00SC 0.045 C00CSq mul 1 add def

%beg special T, RT, d_D, RC
/C00T C00hSq 30 sub cos -0.17 mul
      C00hSq 2 mul  cos  0.24 mul add
      C00hSq 3 mul 6 add cos  0.32 mul add
      C00hSq 4 mul 63 sub cos 0.20 mul sub
      1 add def
/C00SH 0.015 C00CSq mul C00T mul 1 add def

/C00RC C00CSq 7 exp
       C00CSq 7 exp 25 7 exp add 0.000001 add div 0.000001 add sqrt 2 mul def
/expDT C00hSq 275 sub 25 div dup mul def
/econst 2.718281 def
/C00DT 30 econst expDT neg exp mul def
/C00RT C00DT 2 mul sin neg C00RC mul def
%end special T, RT, d_D, RC
%end special EQUATIONS (16) TO (22)

%beg special EQUATION (15)

/C00KL 1.0 def
/C00KC 1.0 def
/C00KH 1.0 def

/d_C00LSN d_C00LS C00KL div C00SL div def
/d_C00CSN d_C00CS C00KC div C00SC div def
/d_C00HSN d_C00HS C00KH div C00SH div def

d_C00LCHi i d_C00LSN dup mul
            d_C00CSN dup mul add
            d_C00HSN dup mul add
            d_C00CSN d_C00HSN mul C00RT mul add
            0.000001 add sqrt put

/a_C00LCH 1.43 def
/b_C00LCH 0.70 def
d_C00LCHmi i d_C00LCHi i get b_C00LCH exp a_C00LCH mul put

%end special EQUATION (15)
%END CIEDE2000=C00

%BEG LABJND=C85
/Yq Y0 Y1 add 0.5 mul def
/d_Y Y1 Y0 sub def

/a085 X0 Y0 0.000001 add div def
/b085 Z0 Y0 0.000001 add div 0.4 mul neg def
/a185 X1 Y1 0.000001 add div def
/b185 Z1 Y1 0.000001 add div 0.4 mul neg def

/an85 XW YW 0.000001 add div def
/bn85 ZW YW 0.000001 add div 0.4 mul neg def

/d_a085 a085 an85 sub def
/d_b085 b085 bn85 sub def
/d_a185 a185 an85 sub def
/d_b185 b185 bn85 sub def

/a0"85 d_a085 d_a085 abs 0.5 mul 1 add div an85 add def
/b0"85 d_b085 d_b085 abs 0.5 mul 1 add div bn85 add def
/a1"85 d_a185 d_a185 abs 0.5 mul 1 add div an85 add def
/b1"85 d_b185 d_b185 abs 0.5 mul 1 add div bn85 add def

/d_Y Y1 Y0 sub def
/d_a"85 a1"85 a0"85 sub def
/d_b"85 b1"85 b0"85 sub def

/s85 0.0170 def
/q85 0.0058 def
/g85 1.0000 def %not used

/a0085 1.0 def
/b0085 1.8 def
/Y0085 1.5 def

d_C85LCHi i d_Y dup mul
            a0085 d_a"85 mul Yq mul dup mul add
            b0085 d_b"85 mul Yq mul dup mul add
            0.000001 add sqrt Y0085 mul
            q85 Yq mul s85 add div put

/a_C85LCH 1.17 def
/b_C85LCH 0.35 def
d_C85LCHmi i d_C85LCHi i get b_C85LCH exp a_C85LCH mul put

%END LABJND=C85

%BEG LABHNU_1977=C77
/S77L 1 def
/S77A 1 def
/S77B 1 def
/K77L 1 def
/K77A 1 def
/K77B 1 def
%C77a'=(x/y+1/6)**(1/3)/4
%C77b'=-(z/y+1/6)**(1/3)/12
%C77L*=L*CIE
%C77a*=500*[C77a'-C77a'n]*Y**(1/3)
%C77b*=500*[C77b'-C77b'n]*Y**(1/3)

/C77a'0 X0 Y0 FL add div 1 6 div add 0.3333 exp 4 div def
/C77a'1 X1 Y1 FL add div 1 6 div add 0.3333 exp 4 div def
/C77a'n XW YW FL add div 1 6 div add 0.3333 exp 4 div def

/C77b'0 Z0 Y0 FL add div 1 6 div add 0.3333 exp 12 div neg def
/C77b'1 Z1 Y1 FL add div 1 6 div add 0.3333 exp 12 div neg def
/C77b'n ZW YW FL add div 1 6 div add 0.3333 exp 12 div neg def
 
/C77a*0 C77a'0 C77a'n sub 500 mul Y0 1 3 div exp mul def
/C77a*1 C77a'1 C77a'n sub 500 mul Y1 1 3 div exp mul def
/C77b*0 C77b'0 C77b'n sub 500 mul Y0 1 3 div exp mul def
/C77b*1 C77b'1 C77b'n sub 500 mul Y1 1 3 div exp mul def


d_C77LCHi i CIEL*1 CIEL*0 sub K77L div S77L div dup mul
            C77a*1 C77a*0 sub K77A div S77A div dup mul add
            C77b*1 C77b*0 sub K77B div S77B div dup mul add
            0.00000001 add sqrt put
%END LABHNU_1977=C77

%BEG LABHNU1=C78
/S78L 1 def
/S78A 1 def
/S78B 1 def
/K78L 1 def
/K78A 1 def
/K78B 1 def
%C78a'=(x/y+1)/15
%C78b'=-(z/y+1/6)**(1/3)/12
%C78L*=L*CIE
%C78a*=500*[C78a'-C78a'n]*Y**(1/3)
%C78b*=500*[C78b'-C78b'n]*Y**(1/3)

/C78a'0 X0 Y0 FL add div 1 add 15 div def
/C78a'1 X1 Y1 FL add div 1 add 15 div def
/C78a'n XW YW FL add div 1 add 15 div def

/C78b'0 Z0 Y0 FL add div 1 6 div add 0.3333 exp 12 div neg def
/C78b'1 Z1 Y1 FL add div 1 6 div add 0.3333 exp 12 div neg def
/C78b'n ZW YW FL add div 1 6 div add 0.3333 exp 12 div neg def
 
/C78a*0 C78a'0 C78a'n sub 500 mul Y0 1 3 div exp mul def
/C78a*1 C78a'1 C78a'n sub 500 mul Y0 1 3 div exp mul def
/C78b*0 C78b'0 C78b'n sub 500 mul Y0 1 3 div exp mul def
/C78b*1 C78b'1 C78b'n sub 500 mul Y0 1 3 div exp mul def

d_C78LCHi i CIEL*1 CIEL*0 sub K78L div S78L div dup mul
            C78a*1 C78a*0 sub K78A div S78A div dup mul add
            C78b*1 C78b*0 sub K78B div S78B div dup mul add
            0.00000001 add sqrt put
%END LABHNU1_1978-C78

%BEG LABHNU2_1979=C79
/S79L 1 def
/S79A 1 def
/S79B 1 def
/K79L 1 def
/K79A 1 def
/K79B 1 def
%C79a'=(x/y+1/6)**(2/3)/15
%C79b'=-(z/y+1/6)**(1/3)/12
%C79L*=L*CIE
%C79a*=500*[C79a'-C79a'n]*Y**(1/3)
%C79b*=500*[C79b'-C79b'n]*Y**(1/3)

/C79a'0 X0 Y0 FL add div 1 6 div add 0.6667 exp 15 div def
/C79a'1 X1 Y1 FL add div 1 6 div add 0.6667 exp 15 div def
/C79a'n XW YW FL add div 1 6 div add 0.6667 exp 15 div def

/C79b'0 Z0 Y0 FL add div 1 6 div add 0.3333 exp 12 div neg def
/C79b'1 Z1 Y1 FL add div 1 6 div add 0.3333 exp 12 div neg def
/C79b'n ZW YW FL add div 1 6 div add 0.3333 exp 12 div neg def
 
/C79a*0 C79a'0 C79a'n sub 500 mul Y0 1 3 div exp mul def
/C79a*1 C79a'1 C79a'n sub 500 mul Y1 1 3 div exp mul def
/C79b*0 C79b'0 C79b'n sub 500 mul Y0 1 3 div exp mul def
/C79b*1 C79b'1 C79b'n sub 500 mul Y1 1 3 div exp mul def

d_C79LCHi i CIEL*1 CIEL*0 sub K79L div S79L div dup mul
            C79a*1 C79a*0 sub K79A div S79A div dup mul add
            C79b*1 C79b*0 sub K79B div S79B div dup mul add
            0.00000001 add sqrt put
%END LABHNU2_1979=C79

} bind def %END procedure proc_coldiff
%*************************************************************

%%EndProlog
gsave

/lanind 1 def
/lantex [(G) (E) (S) (F) (I) (J) (M)] def
/showde {0 lanind eq {show} {pop} ifelse} bind def
/showen {1 lanind eq {show} {pop} ifelse} bind def
/showes {2 lanind eq {show} {pop} ifelse} bind def
/showfr {3 lanind eq {show} {pop} ifelse} bind def
/showit {4 lanind eq {show} {pop} ifelse} bind def
/showjp {5 lanind eq {show} {pop} ifelse} bind def
/showea {1 lanind le {show} {pop} ifelse} bind def

/lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def
                    /lanindd laninddf def}
               {/lanind1 0 def /lanind2 0 def} ifelse
/colormf where {pop /colorm1 colormf def /colorm2 colormf def
                    /colorMD colormdf def}
               {/colorm1 0 def} ifelse
/deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def
                    /deintpd deintpdf def}
               {/deintp1 0 def} ifelse
/xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def
                    /xcolord xcolordf def}
               {/xcolor1 3 def} ifelse
/xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def
                    /xchartd xchartdf def
                    /xchartm xchart2f xchart1f sub 1 add def}
               {/xchart1 0 def /xchartm 1 def} ifelse
/xchart3f where {pop /xchart3 xchart3f def}
                {/xchart3 0 def} ifelse
/xchart4f where {pop /xchart4 xchart4f def}
                {/xchart4 0 def} ifelse
/pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def
                    /pchartd pchartdf def}
               {/pchart1 3 def} ifelse
/colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def
                    /colsepd colsepdf def}
               {/colsep1 0 def} ifelse
/pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def
                    /pmetaMD pmetamdf def}
               {/pmetam1 0 def} ifelse

%either defaul values for xchart=0 or values for xchart=1
/lanind lanind1 def %
/colorm colorm1 def %
/deintp deintp1 def %
/xcolor xcolor1 def %
/xchart xchart1 def %
/pchart pchart1 def %
/colsep colsep1 def %
/pmetam pmetam1 def %

colorm 0 eq deintp 0 eq and {/Txx (d) def /Fxx (d) def} if %colorm=0, deintp=0
colorm 0 eq deintp 1 eq and {/Txx (e) def /Fxx (e) def} if %colorm=0, deintp=1
colorm 1 eq deintp 0 eq and {/Txx (dd) def /Fxx (d) def} if %colorm=1, deintp=0
colorm 1 eq deintp 1 eq and {/Txx (de) def /Fxx (e) def} if %colorm=1, deintp=1
xchart 0 eq {/Txx (-) def /Fxx (-) def} if %always independent of intended output

/xchart xchart1 def %
/xc0d 03 def
/xc2d 03 def
/xc4d 03 def
/xcal xc0d 1 add 2 mul
%      xc2d 1 add 2 mul add
%      xc4d 1 add 2 mul add
      1 sub def

/xchartl xchart def

0 1 xc0d {/xchart exch def %xchart=0,xc0d

/iXYZLAB 0 def

/xc1a 00 def
/xc1e xc0d def

/xc2a xc1e 1 add def
/xc2e xc2a xc0d add def

/xc3a xc2e 1 add def
/xc3e xc3a xc2d add def

/xc4a xc3e 1 add def
/xc4e xc4a xc2d add def

/xc5a xc4e 1 add def
/xc5e xc5a xc4d add def

/xc6a xc5e 1 add def
/xc6e xc6a xc4d add def

xchart xc1e le                  {/iXYZLAB 0 def /xchartl xchart def} if

xchart xc2a ge
xchart xc2e le and {/iXYZLAB 1 def /xchartl xchart xc2a sub def} if

xchart xc3a ge
xchart xc3e le and {/iXYZLAB 2 def /xchartl xchart xc3a sub def} if

xchart xc4a ge
xchart xc4e le and {/iXYZLAB 3 def /xchartl xchart xc4a sub def} if

xchart xc5a ge
xchart xc5e le and {/iXYZLAB 4 def /xchartl xchart xc5a sub def} if

xchart xc6a ge
xchart xc6e le and {/iXYZLAB 5 def /xchartl xchart xc6a sub def} if

/xp0 0050 def
/xp1 6650 def
/xdel 620 def
/xdel0 650 def
/xdel1 550 def
/xdela 29 array def
/xdela
 %0   %1   %2   %3   %4   %5   %6   %7   %8   %9  %XYZS, XYZ0, XYZ1, DY
[0000 0650 1300 1950 2600 3250 3900 4550 5200 5850
 %10   %11   %12    %13    %14    %15    %16
%DE*ab DE*76 DE*CM  DE*94  DE*00  DE*85  NR
 6500  7000  7500   8000   8500   9000   9500
 %17   %18   %19    %20    %21
 %L*0  a*0   b*0    C*ab   hab
 10200 10500 10850  11200  11550
 %22    %23    %24    %25   %26   %27   %28
 %L*1   a*1    b*1    C*ab  hab   CODE  (%)
11900  12200  12550  12900 13250 13600 14200] def
/ydel 160 def

%**********************************************************
%iXYZLAB 00-05: %00=XYZa, 01=LABa, 02=XYZ2 03=LAB2 04=XYZ2 05=LAB2

/textXYZ 29 array def
/textXYZ
[(%Xn) (Yn) (Zn) (X0) (Y0) (Z0) (X1) (Y1) (Z1) (DV)
(dE*ab) (dE*76)
(dE*94) (dE*CM) (dE*00) (dE*85) (NR)
( L*0) ( a*0) ( b*0) ( C*0) ( h0)
( L*1) ( a*1) ( b*1) ( C*1) ( h1) (  CODE) (%)] def

/textLAB 29 array def
/textLAB
[(%L*0) (a*0) (b*0) (C*ab0) (hab0) 
 (L*1) (a*1) (b*1) (C*ab1) (hab1) (DV) (dE*ab)
 (dE*94) (dE*CM) (dE*00) (dE*85) (NR)
( L*0) ( a*0) ( b*0) ( C*0) ( h0)
( L*1) ( a*1) ( b*1) ( C*1) ( h1) (  CODE) (%)] def
 
/textXYZ2 29 array def
/textXYZ2
[(%Xn2) (Yn2) (Zn2) (X02) (Y02) (Z02) (X12) (Y12) (Z12) (DV2)
(dE*ab) (dE*76)
(dE*94) (dE*CM) (dE*00) (dE*85) (NR)
( L*0) ( a*0) ( b*0) ( C*0) ( h0)
( L*1) ( a*1) ( b*1) ( C*1) ( h1) (  CODE) (%)] def

/textLAB2 29 array def
/textLAB2
[(%L*02) (a*02) (b*02) (C*ab02) (hab02) 
 (L*12) (a*12) (b*12) (C*ab12) (hab12) (DV2) (dE*ab)
 (dE*94) (dE*CM) (dE*00) (dE*85) (NR)
( L*0) ( a*0) ( b*0) ( C*0) ( h0)
( L*1) ( a*1) ( b*1) ( C*1) ( h1) (  CODE) (%)] def
 
/textXYZ4 29 array def
/textXYZ4
[(%Xn4) (Yn4) (Zn4) (X04) (Y04) (Z04) (X14) (Y14) (Z14) (DV4)
(dE*ab) (dE*76)
(dE*94) (dE*CM) (dE*00) (dE*85) (NR)
( L*0) ( a*0) ( b*0) ( C*0) ( h0)
( L*1) ( a*1) ( b*1) ( C*1) ( h1) (  CODE) (%)] def

/textLAB4 29 array def
/textLAB4
[(%L*04) (a*04) (b*04) (C*ab04) (hab04) 
 (L*14) (a*14) (b*14) (C*ab14) (hab14) (DV4) (dE*ab)
 (dE*94) (dE*CM) (dE*00) (dE*85) (NR)
( L*0) ( a*0) ( b*0) ( C*0) ( h0)
( L*1) ( a*1) ( b*1) ( C*1) ( h1) (  CODE) (%)] def

%**********************************************************

%calculated data: CIELAB01ai, 2800 x 10 dat = 28000
/WXYZR01Vai 28000 array def %CIEXYZ
/CIELAB01ai 28000 array def %CIELAB
/C00LAB01ai 28000 array def %CIE DE2000
/d_CIELABai  2800 array def
/d_CIELCHai  2800 array def
/d_C94LABai  2800 array def %CIE94
/d_C94LCHai  2800 array def
/d_CMCLABai  2800 array def %CMC
/d_CMCLCHai  2800 array def
/d_C00LABai  2800 array def %CIE DE2000
/d_C00LCHai  2800 array def
/d_C85LABai  2800 array def %LABJND 1985
/d_C85LCHai  2800 array def

/WXYZR01V2i 28000 array def %CIEXYZ
/CIELAB012i 28000 array def %CIELAB
/C00LAB012i 28000 array def %CIE DE2000
/d_CIELAB2i  2800 array def
/d_CIELCH2i  2800 array def
/d_C94LAB2i  2800 array def %CIE94
/d_C94LCH2i  2800 array def
/d_CMCLAB2i  2800 array def %CMC
/d_CMCLCH2i  2800 array def
/d_C00LAB2i  2800 array def %CIE DE2000
/d_C00LCH2i  2800 array def
/d_C85LAB2i  2800 array def %LABJND 1985
/d_C85LCH2i  2800 array def

/WXYZR01V4i 28000 array def %CIEXYZ
/CIELAB014i 28000 array def %CIELAB
/C00LAB014i 28000 array def %CIE DE2000
/d_CIELAB4i  2800 array def
/d_CIELCH4i  2800 array def
/d_C94LAB4i  2800 array def %CIE94
/d_C94LCH4i  2800 array def
/d_CMCLAB4i  2800 array def %CMC
/d_CMCLCH4i  2800 array def
/d_C00LAB4i  2800 array def %CIE DE2000
/d_C00LCH4i  2800 array def
/d_C85LAB4i  2800 array def %LABJND 1985
/d_C85LCH4i  2800 array def

/iai -1 def %count d_CIELAB all
/i2i -1 def %count d_CIELAB<=2
/i4i -1 def %count d_C00LAB<=2

/dVsuma 0 def
/dVsum2 0 def
/dVsum4 0 def

/d_CIELABmina 2800 def
/d_CIELABmaxa 0 def
/d_CIELABsuma 0 def
/d_CIELABVsuma 0 def

/d_CIELCHmina 2800 def
/d_CIELCHmaxa 0 def
/d_CIELCHsuma 0 def
/d_CIELCHVsuma 0 def
/d_C94LCHmina 2800 def
/d_C94LCHmaxa 0 def
/d_C94LCHsuma 0 def
/d_C94LCHVsuma 0 def
/d_CMCLCHmina 2800 def
/d_CMCLCHmaxa 0 def
/d_CMCLCHsuma 0 def
/d_CMCLCHVsuma 0 def
/d_C00LCHmina 2800 def
/d_C00LCHmaxa 0 def
/d_C00LCHsuma 0 def
/d_C00LCHVsuma 0 def
/d_C85LCHmina 2800 def
/d_C85LCHmaxa 0 def
/d_C85LCHsuma 0 def
/d_C85LCHVsuma 0 def

/d_CIELABmin2 2800 def
/d_CIELABmax2 0 def
/d_CIELABsum2 0 def
/d_CIELABVsum2 0 def

/d_CIELCHmin2 2800 def
/d_CIELCHmax2 0 def
/d_CIELCHsum2 0 def
/d_CIELCHVsum2 0 def
/d_C94LCHmin2 2800 def
/d_C94LCHmax2 0 def
/d_C94LCHsum2 0 def
/d_C94LCHVsum2 0 def
/d_CMCLCHmin2 2800 def
/d_CMCLCHmax2 0 def
/d_CMCLCHsum2 0 def
/d_CMCLCHVsum2 0 def
/d_C00LCHmin2 2800 def
/d_C00LCHmax2 0 def
/d_C00LCHsum2 0 def
/d_C00LCHVsum2 0 def
/d_C85LCHmin2 2800 def
/d_C85LCHmax2 0 def
/d_C85LCHsum2 0 def
/d_C85LCHVsum2 0 def

/d_CIELABmin4 2800 def
/d_CIELABmax4 0 def
/d_CIELABsum4 0 def
/d_CIELABVsum4 0 def

/d_CIELCHmin4 2800 def
/d_CIELCHmax4 0 def
/d_CIELCHsum4 0 def
/d_CIELCHVsum4 0 def
/d_C94LCHmin4 2800 def
/d_C94LCHmax4 0 def
/d_C94LCHsum4 0 def
/d_C94LCHVsum4 0 def
/d_CMCLCHmin4 2800 def
/d_CMCLCHmax4 0 def
/d_CMCLCHsum4 0 def
/d_CMCLCHVsum4 0 def
/d_C00LCHmin4 2800 def
/d_C00LCHmax4 0 def
/d_C00LCHsum4 0 def
/d_C00LCHVsum4 0 def
/d_C85LCHmin4 2800 def
/d_C85LCHmax4 0 def
/d_C85LCHsum4 0 def
/d_C85LCHVsum4 0 def

/iimp 106 def
/Datasettxt (KA_LV106) def
/inr000 62000001 def

/iim iimp 1 sub def

0 1 iim {/i exch def %i=0,iim
         /i10 i 10 mul def
0 1 9   {/j exch def %j=0,9
         Wdata0 i10 j add  Wdata1 i10 j add get 0.001 mul  put
        } for %j=0,9
        } for %i=0,iim

/iimax iim 50 idiv def %=1 for iimp=100
/iimm1 iimax 1 sub def
/iimp1 iimax 1 add def

0 1 iimax {/ii exch def %ii=0,iimax

/i1 50 ii mul def
/i2 i1 49 add def

ii iimax eq {/i2 iim def} if

i1 1 i2 {/i exch def %i=i1,i2

/i10 i 10 mul def

/XW Wdata0 i10 0 add get def
/YW Wdata0 i10 1 add get def
/ZW Wdata0 i10 2 add get def

/X0 Wdata0 i10 3 add get def
/Y0 Wdata0 i10 4 add get def
/Z0 Wdata0 i10 5 add get def

/X1 Wdata0 i10 6 add get def
/Y1 Wdata0 i10 7 add get def
/Z1 Wdata0 i10 8 add get def

proc_coldiff

/d_CIELAB d_CIELABi i get def
/d_CIELCH d_CIELCHi i get def
/d_C94LCH d_C94LCHi i get def
/d_CMCLCH d_CMCLCHi i get def
/d_C00LCH d_C00LCHi i get def
/d_C85LCH d_C85LCHi i get def

CIELAB01ai i10 0 add CIEL*0   put
CIELAB01ai i10 1 add CIEa*0   put
CIELAB01ai i10 2 add CIEb*0   put
CIELAB01ai i10 3 add CIEC*ab0 put
CIELAB01ai i10 4 add CIEhab0  put
CIELAB01ai i10 5 add CIEL*1   put
CIELAB01ai i10 6 add CIEa*1   put
CIELAB01ai i10 7 add CIEb*1   put
CIELAB01ai i10 8 add CIEC*ab1 put
CIELAB01ai i10 9 add CIEhab1  put

C00LAB01ai i10 0 add CIEL*0   put
C00LAB01ai i10 1 add CIEa*0   put
C00LAB01ai i10 2 add CIEb*0   put
C00LAB01ai i10 3 add CIEC*ab0 put
C00LAB01ai i10 4 add CIEhab0  put
C00LAB01ai i10 5 add CIEL*1   put
C00LAB01ai i10 6 add CIEa*1   put
C00LAB01ai i10 7 add CIEb*1   put
C00LAB01ai i10 8 add CIEC*ab1 put
C00LAB01ai i10 9 add CIEhab1  put

d_CIELABai i d_CIELAB put

d_CIELCHai i d_CIELCH put
d_C94LCHai i d_C94LCH put
d_CMCLCHai i d_CMCLCH put
d_C00LCHai i d_C00LCH put
d_C85LCHai i d_C85LCH put
%STOP31b
%always
/iai iai 1 add def
d_CIELAB d_CIELABmina lt {/d_CIELABmina d_CIELAB def} if
d_CIELAB d_CIELABmaxa gt {/d_CIELABmaxa d_CIELAB def} if
/d_CIELABsuma d_CIELABsuma d_CIELAB add def

d_CIELCH d_CIELCHmina lt {/d_CIELCHmina d_CIELCH def} if
d_CIELCH d_CIELCHmaxa gt {/d_CIELCHmaxa d_CIELCH def} if
/d_CIELCHsuma d_CIELCHsuma d_CIELCH add def

d_C94LCH d_C94LCHmina lt {/d_C94LCHmina d_C94LCH def} if
d_C94LCH d_C94LCHmaxa gt {/d_C94LCHmaxa d_C94LCH def} if
/d_C94LCHsuma d_C94LCHsuma d_C94LCH add def

d_CMCLCH d_CMCLCHmina lt {/d_CMCLCHmina d_CMCLCH def} if
d_CMCLCH d_CMCLCHmaxa gt {/d_CMCLCHmaxa d_CMCLCH def} if
/d_CMCLCHsuma d_CMCLCHsuma d_CMCLCH add def

d_C00LCH d_C00LCHmina lt {/d_C00LCHmina d_C00LCH def} if
d_C00LCH d_C00LCHmaxa gt {/d_C00LCHmaxa d_C00LCH def} if
/d_C00LCHsuma d_C00LCHsuma d_C00LCH add def

d_C85LCH d_C85LCHmina lt {/d_C85LCHmina d_C85LCH def} if
d_C85LCH d_C85LCHmaxa gt {/d_C85LCHmaxa d_C85LCH def} if
/d_C85LCHsuma d_C85LCHsuma d_C85LCH add def

/dVsuma dVsuma Wdata0 i10 9 add get add def

%save data in array
0 1 09 {/j exch def %j=0,09
WXYZR01Vai i10 j add Wdata0 i10 j add get put
} for %j=0,09

%STOP5
d_CIELAB 2 le {%d_CIELAB<=2

/i2i i2i 1 add def
/i2i10 i2i 10 mul def
CIELAB012i i2i10 0 add CIEL*0   put
CIELAB012i i2i10 1 add CIEa*0   put
CIELAB012i i2i10 2 add CIEb*0   put
CIELAB012i i2i10 3 add CIEC*ab0 put
CIELAB012i i2i10 4 add CIEhab0  put
CIELAB012i i2i10 5 add CIEL*1   put
CIELAB012i i2i10 6 add CIEa*1   put
CIELAB012i i2i10 7 add CIEb*1   put
CIELAB012i i2i10 8 add CIEC*ab1 put
CIELAB012i i2i10 9 add CIEhab1  put

d_CIELAB2i i2i d_CIELABai i get put

d_CIELCH2i i2i d_CIELCH put
d_C94LCH2i i2i d_C94LCH put
d_CMCLCH2i i2i d_CMCLCH put
d_C00LCH2i i2i d_C00LCH put
d_C85LCH2i i2i d_C85LCH put

%always
d_CIELAB d_CIELABmin2 lt {/d_CIELABmin2 d_CIELAB def} if
d_CIELAB d_CIELABmax2 gt {/d_CIELABmax2 d_CIELAB def} if
/d_CIELABsum2 d_CIELABsum2 d_CIELAB add def

d_CIELCH d_CIELCHmin2 lt {/d_CIELCHmin2 d_CIELCH def} if
d_CIELCH d_CIELCHmax2 gt {/d_CIELCHmax2 d_CIELCH def} if
/d_CIELCHsum2 d_CIELCHsum2 d_CIELCH add def

d_C94LCH d_C94LCHmin2 lt {/d_C94LCHmin2 d_C94LCH def} if
d_C94LCH d_C94LCHmax2 gt {/d_C94LCHmax2 d_C94LCH def} if
/d_C94LCHsum2 d_C94LCHsum2 d_C94LCH add def

d_CMCLCH d_CMCLCHmin2 lt {/d_CMCLCHmin2 d_CMCLCH def} if
d_CMCLCH d_CMCLCHmax2 gt {/d_CMCLCHmax2 d_CMCLCH def} if
/d_CMCLCHsum2 d_CMCLCHsum2 d_CMCLCH add def

d_C00LCH d_C00LCHmin2 lt {/d_C00LCHmin2 d_C00LCH def} if
d_C00LCH d_C00LCHmax2 gt {/d_C00LCHmax2 d_C00LCH def} if
/d_C00LCHsum2 d_C00LCHsum2 d_C00LCH add def

d_C85LCH d_C85LCHmin2 lt {/d_C85LCHmin2 d_C85LCH def} if
d_C85LCH d_C85LCHmax2 gt {/d_C85LCHmax2 d_C85LCH def} if
/d_C85LCHsum2 d_C85LCHsum2 d_C85LCH add def

/dVsum2 dVsum2 Wdata0 i10 9 add get add def

%save data in array
0 1 09 {/j exch def %j=0,09
WXYZR01V2i i10 j add Wdata0 i10 j add get put
} for %j=0,09

} if %d_CIELAB<=2

d_C00LCH 2 le {%d_C00LCH<=2

/i4i i4i 1 add def
/i4i10 i4i 10 mul def
CIELAB014i i4i10 0 add CIEL*0   put
CIELAB014i i4i10 1 add CIEa*0   put
CIELAB014i i4i10 2 add CIEb*0   put
CIELAB014i i4i10 3 add CIEC*ab0 put
CIELAB014i i4i10 4 add CIEhab0  put
CIELAB014i i4i10 5 add CIEL*1   put
CIELAB014i i4i10 6 add CIEa*1   put
CIELAB014i i4i10 7 add CIEb*1   put
CIELAB014i i4i10 8 add CIEC*ab1 put
CIELAB014i i4i10 9 add CIEhab1  put

d_CIELAB4i i4i d_CIELABai i get put

d_CIELCH4i i4i d_CIELCH put
d_C94LCH4i i4i d_C94LCH put
d_CMCLCH4i i4i d_CMCLCH put
d_C00LCH4i i4i d_C00LCH put
d_C85LCH4i i4i d_C85LCH put

%always
d_CIELAB d_CIELABmin4 lt {/d_CIELABmin4 d_CIELAB def} if
d_CIELAB d_CIELABmax4 gt {/d_CIELABmax4 d_CIELAB def} if
/d_CIELABsum4 d_CIELABsum4 d_CIELAB add def

d_CIELCH d_CIELCHmin4 lt {/d_CIELCHmin4 d_CIELCH def} if
d_CIELCH d_CIELCHmax4 gt {/d_CIELCHmax4 d_CIELCH def} if
/d_CIELCHsum4 d_CIELCHsum4 d_CIELCH add def

d_C94LCH d_C94LCHmin4 lt {/d_C94LCHmin4 d_C94LCH def} if
d_C94LCH d_C94LCHmax4 gt {/d_C94LCHmax4 d_C94LCH def} if
/d_C94LCHsum4 d_C94LCHsum4 d_C94LCH add def

d_CMCLCH d_CMCLCHmin4 lt {/d_CMCLCHmin4 d_CMCLCH def} if
d_CMCLCH d_CMCLCHmax4 gt {/d_CMCLCHmax4 d_CMCLCH def} if
/d_CMCLCHsum4 d_CMCLCHsum4 d_CMCLCH add def

d_C00LCH d_C00LCHmin4 lt {/d_C00LCHmin4 d_C00LCH def} if
d_C00LCH d_C00LCHmax4 gt {/d_C00LCHmax4 d_C00LCH def} if
/d_C00LCHsum4 d_C00LCHsum4 d_C00LCH add def

d_C85LCH d_C85LCHmin4 lt {/d_C85LCHmin4 d_C85LCH def} if
d_C85LCH d_C85LCHmax4 gt {/d_C85LCHmax4 d_C85LCH def} if
/d_C85LCHsum4 d_C85LCHsum4 d_C85LCH add def

/dVsum4 dVsum4 Wdata0 i10 9 add get add def

%save data in array
0 1 09 {/j exch def %j=0,09
WXYZR01V4i i10 j add Wdata0 i10 j add get put
} for %j=0,09

} if %d_C00LCH<=2

%STOP5a

} for %i=i1,i2

%STOP5b

} for %ii=0,iimax

%STOP6

%**************************************************
iXYZLAB 0 ge iXYZLAB 1 le and {/iim iai def
                               /iimax iim 50 idiv def} if
iXYZLAB 2 ge iXYZLAB 3 le and {/iim i2i def
                               /iimax i2i 50 idiv def} if
iXYZLAB 4 ge iXYZLAB 5 le and {/iim i4i def
                               /iimax i4i 50 idiv def} if

/ii xchartl def

/iimaxP1 iimax 1 add def

gsave

5 /Times-ISOL1 FS
75 85 moveto
lanind cvishow (-) show
colorm cvishow
deintp cvishow
xcolor cvishow
xchart cvishow
pchart cvishow
colsep cvishow (-L) show pmetam cvishow


5 /Times-ISOL1 FS
700 85 moveto
(YG620-7R) show
(_) show iXYZLAB cvishow (_) show ii cvishow

72 90 translate

/yhoe 8500 def
0.0176 MM 0.02 MM scale

/xwidth 14400 def
15 setlinewidth
0.0 0.0 0.0 0.0 setcmyk_olvcolor
0 0  moveto xwidth 0 rlineto 0 yhoe rlineto xwidth neg 0 rlineto
closepath fill
0.0 0.0 0.0 1.0 setcmyk_olvcolor
 0 0  moveto xwidth 0 rlineto 0 yhoe rlineto xwidth neg 0 rlineto
closepath stroke

CBSK
xp0 yhoe ydel 0.9 mul sub moveto

/ioutk 0 def %ioutk=0
ioutk 0 eq {/ik 28 def} {/ik 09 def} ifelse

iXYZLAB 0 eq iXYZLAB 2 eq or iXYZLAB 4 eq or {%iXYZLAB=0,2,4
0 1 ik {/k exch def %k=0,ik
xp0 xdela k get add yhoe ydel 0.9 mul sub moveto
iXYZLAB 0 eq {textXYZ k get show} if
iXYZLAB 2 eq {textXYZ2 k get show} if
iXYZLAB 4 eq {textXYZ4 k get show} if
} for %k=0,ik
} if %iXYZLAB=0,2,4

iXYZLAB 1 eq iXYZLAB 3 eq or iXYZLAB 5 eq  or {%iXYZLAB=1,3,5
0 1 ik {/k exch def %k=0,ik
xp0 xdela k get add yhoe ydel 0.9 mul sub moveto
iXYZLAB 1 eq {textLAB k get show} if
iXYZLAB 3 eq {textLAB2 k get show} if
iXYZLAB 5 eq {textLAB4 k get show} if
} for %k=0,ik
} if %iXYZLAB=1,3,5

xp0 yhoe ydel 1.9 mul sub moveto

ioutk 0 eq {%ioutk=0
iXYZLAB 0 eq 
{(%1000*(CIEXYZ & DV) for all colours (a) of experiment, ) show} if
iXYZLAB 1 eq
{(%CIELAB data for all colour (a) of experiment, ) show} if
iXYZLAB 2 eq
{(%1000*(CIEXYZ & DV) of experiment with CIELAB dE*ab<=2, ) show} if
iXYZLAB 3 eq
{(%CIELAB data for colours (2) of experiment with CIELAB dE*ab<=2, ) show} if
iXYZLAB 4 eq
{(%1000*(CIEXYZ & DV) of experiment with CIE DE2000 dE*<=2, ) show} if
iXYZLAB 5 eq
{(%CIELAB data for colours (4) of experiment with CIE DE2000 dE*<=2, ) show} if
} if %ioutk=0

(iimp=) show iimp cvishow (, colour difference pairs ) show
Datasettxt show
(, xchart3=) show xchart3 cvishow (, xchart4=) show xchart4 cvishow
( %) show

ii iimaxP1 lt {%ii<iimaxP1

CSK
/i1 50 ii mul def
/i2 i1 49 add def

ii iimax eq {/i2 iim def} if

i1 1 i2 {/i exch def %i=i1,i2
/i10 i 10 mul def
/yhot yhoe ydel 1 mul sub def

%output of data
/i10 i 10 mul def
0 1 08 {/j exch def %j=0,08
xp0 xdela j get add yhot ydel i i1 sub 2 add mul sub moveto
iXYZLAB 0 eq {WXYZR01Vai i10 j add get cvi36show} if
iXYZLAB 1 eq {CIELAB01ai i10 j add get cvsshow2 } if
iXYZLAB 2 eq {WXYZR01V2i i10 j add get cvi36show} if
iXYZLAB 3 eq {CIELAB012i i10 j add get cvsshow2 } if
iXYZLAB 4 eq {WXYZR01V4i i10 j add get cvi36show} if
iXYZLAB 5 eq {CIELAB014i i10 j add get cvsshow2 } if
} for %j=0,08

xp0 xdela 9 get add yhot ydel i i1 sub 2 add mul sub moveto
iXYZLAB 0 eq {WXYZR01Vai i10 9 add get cvi36show} if %ANGLE
iXYZLAB 1 eq {CIELAB01ai i10 9 add get cvsshow1 } if
iXYZLAB 2 eq {WXYZR01V2i i10 9 add get cvi36show} if %ANGLE
iXYZLAB 3 eq {CIELAB012i i10 9 add get cvsshow1 } if
iXYZLAB 4 eq {WXYZR01V4i i10 9 add get cvi36show} if %ANGLE
iXYZLAB 5 eq {CIELAB014i i10 9 add get cvsshow1 } if

ioutk 0 eq {%ioutk=0
xp0 xdela 10 get add yhot ydel i i1 sub 2 add mul sub moveto
iXYZLAB 0 eq {d_CIELABai i get cvi24show} if
iXYZLAB 1 eq {WXYZR01Vai i10 9 add get cvsshow2} if
iXYZLAB 2 eq {d_CIELAB2i i get cvi24show} if
iXYZLAB 3 eq {WXYZR01V2i i10 9 add get cvsshow2} if
iXYZLAB 4 eq {d_CIELAB4i i get cvi24show} if
iXYZLAB 5 eq {WXYZR01V4i i10 9 add get cvsshow2} if

xp0 xdela 11 get add yhot ydel i i1 sub 2 add mul sub moveto
iXYZLAB 0 eq {d_CIELCHai i get cvi24show} if
iXYZLAB 1 eq {d_CIELABai i get cvsshow2} if
iXYZLAB 2 eq {d_CIELCH2i i get cvi24show} if
iXYZLAB 3 eq {d_CIELAB2i i get cvsshow2} if
iXYZLAB 4 eq {d_CIELCH4i i get cvi24show} if
iXYZLAB 5 eq {d_CIELAB4i i get cvsshow2} if

xp0 xdela 12 get add yhot ydel i i1 sub 2 add mul sub moveto
iXYZLAB 0 eq {d_C94LCHai i get cvi24show} if
iXYZLAB 1 eq {d_C94LCHai i get cvsshow2} if
iXYZLAB 2 eq {d_C94LCH2i i get cvi24show} if
iXYZLAB 3 eq {d_C94LCH2i i get cvsshow2} if
iXYZLAB 4 eq {d_C94LCH4i i get cvi24show} if
iXYZLAB 5 eq {d_C94LCH4i i get cvsshow2} if

xp0 xdela 13 get add yhot ydel i i1 sub 2 add mul sub moveto
iXYZLAB 0 eq {d_CMCLCHai i get cvi24show} if
iXYZLAB 1 eq {d_CMCLCHai i get cvsshow2} if
iXYZLAB 2 eq {d_CMCLCH2i i get cvi24show} if
iXYZLAB 3 eq {d_CMCLCH2i i get cvsshow2} if
iXYZLAB 4 eq {d_CMCLCH4i i get cvi24show} if
iXYZLAB 5 eq {d_CMCLCH4i i get cvsshow2} if

xp0 xdela 14 get add yhot ydel i i1 sub 2 add mul sub moveto
iXYZLAB 0 eq {d_C00LCHai i get cvi24show} if
iXYZLAB 1 eq {d_C00LCHai i get cvsshow2} if
iXYZLAB 2 eq {d_C00LCH2i i get cvi24show} if
iXYZLAB 3 eq {d_C00LCH2i i get cvsshow2} if
iXYZLAB 4 eq {d_C00LCH4i i get cvi24show} if
iXYZLAB 5 eq {d_C00LCH4i i get cvsshow2} if

xp0 xdela 15 get add yhot ydel i i1 sub 2 add mul sub moveto
iXYZLAB 0 eq {d_C85LCHai i get cvi24show} if
iXYZLAB 1 eq {d_C85LCHai i get cvsshow2} if
iXYZLAB 2 eq {d_C85LCH2i i get cvi24show} if
iXYZLAB 3 eq {d_C85LCH2i i get cvsshow2} if
iXYZLAB 4 eq {d_C85LCH4i i get cvi24show} if
iXYZLAB 5 eq {d_C85LCH4i i get cvsshow2} if

xp0 xdela 16 get add yhot ydel i i1 sub 2 add mul sub moveto
inr000 i add cvishow

xp0 xdela 17 get add yhot ydel i i1 sub 2 add mul sub moveto
CIELAB01ai i10 0 add get cvi02xshow
xp0 xdela 18 get add yhot ydel i i1 sub 2 add mul sub moveto
CIELAB01ai i10 1 add get cvi03xshow
xp0 xdela 19 get add yhot ydel i i1 sub 2 add mul sub moveto
CIELAB01ai i10 2 add get cvi03xshow
xp0 xdela 20 get add yhot ydel i i1 sub 2 add mul sub moveto
CIELAB01ai i10 3 add get cvi03xshow
xp0 xdela 21 get add yhot ydel i i1 sub 2 add mul sub moveto
CIELAB01ai i10 4 add get cvi03xshow

xp0 xdela 22 get add yhot ydel i i1 sub 2 add mul sub moveto
CIELAB01ai i10 5 add get cvi02xshow
xp0 xdela 23 get add yhot ydel i i1 sub 2 add mul sub moveto
CIELAB01ai i10 6 add get cvi03xshow
xp0 xdela 24 get add yhot ydel i i1 sub 2 add mul sub moveto
CIELAB01ai i10 7 add get cvi03xshow
xp0 xdela 25 get add yhot ydel i i1 sub 2 add mul sub moveto
CIELAB01ai i10 8 add get cvi03xshow
xp0 xdela 26 get add yhot ydel i i1 sub 2 add mul sub moveto
CIELAB01ai i10 9 add get cvi03xshow
xp0 xdela 27 get add yhot ydel i i1 sub 2 add mul sub moveto
( \050) show CODTi i get show (\051) show
xp0 xdela 28 get add yhot ydel i i1 sub 2 add mul sub moveto
(%) show

} if %ioutk=0

ioutk 1 eq {%ioutk=1
xp0 xdela 10 get add yhot ydel i i1 sub 2 add mul sub moveto
inr000 i add cvishow
xp0 xdela 11 get add 200 add yhot ydel i i1 sub 2 add mul sub moveto
(%) show
} if %ioutk=1

%*******************************************

} for %i=i1,i2

} if %ii<iimaxP1

ii iimaxP1 eq { %ii=iimaxP1
/yhot yhoe ydel 1 mul sub def

100 yhot ydel 2 mul sub moveto
(Minimum, maximum and average colour difference value) show
100 yhot ydel 3 mul sub moveto
(STRESS constant F and STRESS value S) show

iXYZLAB 0 eq iXYZLAB 1 eq or {%iXYZLAB=0,1
/iim iai def

/d_CIELABavea d_CIELABsuma iai 1 add div def
100 yhot ydel 4 mul sub moveto
(iai+1 = ) show iai 1 add cvishow
(, d_CIELABmina = ) show d_CIELABmina cvsshow2
(, d_CIELABmaxa = ) show d_CIELABmaxa cvsshow2
(, d_CIELABavea = ) show d_CIELABavea cvsshow2

/dEaiVai 0 def
/dVaiVai 0 def
0 1 iim {/i exch def %i=0,iim
         /dVai WXYZR01Vai i 10 mul 09 add get def
         /dEai d_CIELABai i get def
         /dEaiVai dEaiVai dEai dVai mul add def
         /dVaiVai dVaiVai dVai dVai mul add def
        } for %i=0,iim
/FSa dEaiVai dVaiVai div def

/dEaiMFVai2 0 def
/dEaiEai 0 def
0 1 iim {/i exch def %i=0,iim
         /dVai WXYZR01Vai i 10 mul 09 add get def
         /dEai d_CIELABai i get def
         /dEaiMFVai2 dEaiMFVai2 dEai FSa dVai mul sub dup mul add def
         /dEaiEai dEaiEai dEai dEai mul add def
        } for %i=0,iim
/SSa dEaiMFVai2 dEaiEai div 0.000001 add sqrt 100 mul def

100 yhot ydel 5.2 mul sub moveto
(iai+1 = ) show iai 1 add cvishow
(, CIELAB_Fa = ) show FSa cvsshow2
(, CIELAB_STRESSa = ) show SSa cvsshow2

%***********************************************
%CIELCH
/d_CIELCHavea d_CIELCHsuma iai 1 add div def
100 yhot ydel 07 mul sub moveto
(iai+1 = ) show iai 1 add cvishow
(, d_CIELCHmina = ) show d_CIELCHmina cvsshow2
(, d_CIELCHmaxa = ) show d_CIELCHmaxa cvsshow2
(, d_CIELCHavea = ) show d_CIELCHavea cvsshow2

/dEaiVai 0 def
/dVaiVai 0 def
0 1 iim {/i exch def %i=0,iim
         /dVai WXYZR01Vai i 10 mul 09 add get def
         /dEai d_CIELCHai i get def
         /dEaiVai dEaiVai dEai dVai mul add def
         /dVaiVai dVaiVai dVai dVai mul add def
        } for %i=0,iim
/FSa dEaiVai dVaiVai div def

/dEaiMFVai2 0 def
/dEaiEai 0 def
0 1 iim {/i exch def %i=0,iim
         /dVai WXYZR01Vai i 10 mul 09 add get def
         /dEai d_CIELCHai i get def
         /dEaiMFVai2 dEaiMFVai2 dEai FSa dVai mul sub dup mul add def
         /dEaiEai dEaiEai dEai dEai mul add def
        } for %i=0,iim
/SSa dEaiMFVai2 dEaiEai div 0.000001 add sqrt 100 mul def

100 yhot ydel 8.2 mul sub moveto
(iai+1 = ) show iai 1 add cvishow
(, CIELCHFa = ) show FSa cvsshow2
(, CIELCHSTRESSa = ) show SSa cvsshow2

%***********************************************
%C94LCH
/d_C94LCHavea d_C94LCHsuma iai 1 add div def
100 yhot ydel 10 mul sub moveto
(iai+1 = ) show iai 1 add cvishow
(, d_C94LCHmina = ) show d_C94LCHmina cvsshow2
(, d_C94LCHmaxa = ) show d_C94LCHmaxa cvsshow2
(, d_C94LCHavea = ) show d_C94LCHavea cvsshow2

/dEaiVai 0 def
/dVaiVai 0 def
0 1 iim {/i exch def %i=0,iim
         /dVai WXYZR01Vai i 10 mul 09 add get def
         /dEai d_C94LCHai i get def
         /dEaiVai dEaiVai dEai dVai mul add def
         /dVaiVai dVaiVai dVai dVai mul add def
        } for %i=0,iim
/FSa dEaiVai dVaiVai div def

/dEaiMFVai2 0 def
/dEaiEai 0 def
0 1 iim {/i exch def %i=0,iim
         /dVai WXYZR01Vai i 10 mul 09 add get def
         /dEai d_C94LCHai i get def
         /dEaiMFVai2 dEaiMFVai2 dEai FSa dVai mul sub dup mul add def
         /dEaiEai dEaiEai dEai dEai mul add def
        } for %i=0,iim
/SSa dEaiMFVai2 dEaiEai div 0.000001 add sqrt 100 mul def

100 yhot ydel 11.2 mul sub moveto
(iai+1 = ) show iai 1 add cvishow
(, C94LCHFa = ) show FSa cvsshow2
(, C94LCHSTRESSa = ) show SSa cvsshow2

%***********************************************
%CMCLCH
/d_CMCLCHavea d_CMCLCHsuma iai 1 add div def
100 yhot ydel 13 mul sub moveto
(iai+1 = ) show iai 1 add cvishow
(, d_CMCLCHmina = ) show d_CMCLCHmina cvsshow2
(, d_CMCLCHmaxa = ) show d_CMCLCHmaxa cvsshow2
(, d_CMCLCHavea = ) show d_CMCLCHavea cvsshow2

/dEaiVai 0 def
/dVaiVai 0 def
0 1 iim {/i exch def %i=0,iim
         /dVai WXYZR01Vai i 10 mul 09 add get def
         /dEai d_CMCLCHai i get def
         /dEaiVai dEaiVai dEai dVai mul add def
         /dVaiVai dVaiVai dVai dVai mul add def
        } for %i=0,iim
/FSa dEaiVai dVaiVai div def

/dEaiMFVai2 0 def
/dEaiEai 0 def
0 1 iim {/i exch def %i=0,iim
         /dVai WXYZR01Vai i 10 mul 09 add get def
         /dEai d_CMCLCHai i get def
         /dEaiMFVai2 dEaiMFVai2 dEai FSa dVai mul sub dup mul add def
         /dEaiEai dEaiEai dEai dEai mul add def
        } for %i=0,iim
/SSa dEaiMFVai2 dEaiEai div 0.000001 add sqrt 100 mul def

100 yhot ydel 14.2 mul sub moveto
(iai+1 = ) show iai 1 add cvishow
(, CMCLCHFa = ) show FSa cvsshow2
(, CMCLCHSTRESSa = ) show SSa cvsshow2

%***********************************************
%C00LCH
/d_C00LCHavea d_C00LCHsuma iai 1 add div def
100 yhot ydel 16 mul sub moveto
(iai+1 = ) show iai 1 add cvishow
(, d_C00LCHmina = ) show d_C00LCHmina cvsshow2
(, d_C00LCHmaxa = ) show d_C00LCHmaxa cvsshow2
(, d_C00LCHavea = ) show d_C00LCHavea cvsshow2

/dEaiVai 0 def
/dVaiVai 0 def
0 1 iim {/i exch def %i=0,iim
         /dVai WXYZR01Vai i 10 mul 09 add get def
         /dEai d_C00LCHai i get def
         /dEaiVai dEaiVai dEai dVai mul add def
         /dVaiVai dVaiVai dVai dVai mul add def
        } for %i=0,iim
/FSa dEaiVai dVaiVai div def

/dEaiMFVai2 0 def
/dEaiEai 0 def
0 1 iim {/i exch def %i=0,iim
         /dVai WXYZR01Vai i 10 mul 09 add get def
         /dEai d_C00LCHai i get def
         /dEaiMFVai2 dEaiMFVai2 dEai FSa dVai mul sub dup mul add def
         /dEaiEai dEaiEai dEai dEai mul add def
        } for %i=0,iim
/SSa dEaiMFVai2 dEaiEai div 0.000001 add sqrt 100 mul def

100 yhot ydel 17.2 mul sub moveto
(iai+1 = ) show iai 1 add cvishow
(, C00LCHFa = ) show FSa cvsshow2
(, C00LCHSTRESSa = ) show SSa cvsshow2

%***********************************************
%C85LCH
/d_C85LCHavea d_C85LCHsuma iai 1 add div def
100 yhot ydel 19 mul sub moveto
(iai+1 = ) show iai 1 add cvishow
(, d_C85LCHmina = ) show d_C85LCHmina cvsshow2
(, d_C85LCHmaxa = ) show d_C85LCHmaxa cvsshow2
(, d_C85LCHavea = ) show d_C85LCHavea cvsshow2

/dEaiVai 0 def
/dVaiVai 0 def
0 1 iim {/i exch def %i=0,iim
         /dVai WXYZR01Vai i 10 mul 09 add get def
         /dEai d_C85LCHai i get def
         /dEaiVai dEaiVai dEai dVai mul add def
         /dVaiVai dVaiVai dVai dVai mul add def
        } for %i=0,iim
/FSa dEaiVai dVaiVai div def

/dEaiMFVai2 0 def
/dEaiEai 0 def
0 1 iim {/i exch def %i=0,iim
         /dVai WXYZR01Vai i 10 mul 09 add get def
         /dEai d_C85LCHai i get def
         /dEaiMFVai2 dEaiMFVai2 dEai FSa dVai mul sub dup mul add def
         /dEaiEai dEaiEai dEai dEai mul add def
        } for %i=0,iim
/SSa dEaiMFVai2 dEaiEai div 0.000001 add sqrt 100 mul def

100 yhot ydel 20.2 mul sub moveto
(iai+1 = ) show iai 1 add cvishow
(, C85LCHFa = ) show FSa cvsshow2
(, C85LCHSTRESSa = ) show SSa cvsshow2

} if %iXYZLAB=0,1

%***********************************************
iXYZLAB 2 eq iXYZLAB 3 eq or {%iXYZLAB=2,3
/iim i2i def

/d_CIELABave2 d_CIELABsum2 i2i 1 add div def
100 yhot ydel 4 mul sub moveto
(i2i+1 = ) show i2i 1 add cvishow
(, d_CIELABmin2 = ) show d_CIELABmin2 cvsshow2
(, d_CIELABmax2 = ) show d_CIELABmax2 cvsshow2
(, d_CIELABave2 = ) show d_CIELABave2 cvsshow2

%STOPa
/dE2iV2i 0 def
/dV2iV2i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV2i WXYZR01V2i i 10 mul 09 add get def
         /dE2i d_CIELAB2i i get def
         /dE2iV2i dE2iV2i dE2i dV2i mul add def
         /dV2iV2i dV2iV2i dV2i dV2i mul add def
        } for %i=0,iim
/FS2 dE2iV2i dV2iV2i div def
%STOP
/dE2iMFV2i2 0 def
/dE2iE2i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV2i WXYZR01V2i i 10 mul 09 add get def
         /dE2i d_CIELAB2i i get def
         /dE2iMFV2i2 dE2iMFV2i2 dE2i FS2 dV2i mul sub dup mul add def
         /dE2iE2i dE2iE2i dE2i dE2i mul add def
        } for %i=0,iim
/SS2 dE2iMFV2i2 dE2iE2i div 0.000001 add sqrt 100 mul def

100 yhot ydel 5.2 mul sub moveto
(i2i+1 = ) show i2i 1 add cvishow
(, CIELABF2 = ) show FS2 cvsshow2
(, CIELABSTRESS2 = ) show SS2 cvsshow2

%***********************************************
%CIELCH
/d_CIELCHave2 d_CIELCHsum2 i2i 1 add div def
100 yhot ydel 07 mul sub moveto
(i2i+1 = ) show i2i 1 add cvishow
(, d_CIELCHmin2 = ) show d_CIELCHmin2 cvsshow2
(, d_CIELCHmax2 = ) show d_CIELCHmax2 cvsshow2
(, d_CIELCHave2 = ) show d_CIELCHave2 cvsshow2

/dE2iV2i 0 def
/dV2iV2i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV2i WXYZR01V2i i 10 mul 09 add get def
         /dE2i d_CIELCH2i i get def
         /dE2iV2i dE2iV2i dE2i dV2i mul add def
         /dV2iV2i dV2iV2i dV2i dV2i mul add def
        } for %i=0,iim
/FS2 dE2iV2i dV2iV2i div def
%STOPa2
/dE2iMFV2i2 0 def
/dE2iE2i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV2i WXYZR01V2i i 10 mul 09 add get def
         /dE2i d_CIELCH2i i get def
         /dE2iMFV2i2 dE2iMFV2i2 dE2i FS2 dV2i mul sub dup mul add def
         /dE2iE2i dE2iE2i dE2i dE2i mul add def
        } for %i=0,iim
/SS2 dE2iMFV2i2 dE2iE2i div 0.000001 add sqrt 100 mul def

100 yhot ydel 08.2 mul sub moveto
(i2i+1 = ) show i2i 1 add cvishow
(, CIELCHF2 = ) show FS2 cvsshow2
(, CIELCHSTRESS2 = ) show SS2 cvsshow2

%STOPb
%***********************************************
%C94LCH
/d_C94LCHave2 d_C94LCHsum2 i2i 1 add div def
100 yhot ydel 10 mul sub moveto
(i2i+1 = ) show i2i 1 add cvishow
(, d_C94LCHmin2 = ) show d_C94LCHmin2 cvsshow2
(, d_C94LCHmax2 = ) show d_C94LCHmax2 cvsshow2
(, d_C94LCHave2 = ) show d_C94LCHave2 cvsshow2

/dE2iV2i 0 def
/dV2iV2i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV2i WXYZR01V2i i 10 mul 09 add get def
         /dE2i d_C94LCH2i i get def
         /dE2iV2i dE2iV2i dE2i dV2i mul add def
         /dV2iV2i dV2iV2i dV2i dV2i mul add def
        } for %i=0,iim
/FS2 dE2iV2i dV2iV2i div def

/dE2iMFV2i2 0 def
/dE2iE2i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV2i WXYZR01V2i i 10 mul 09 add get def
         /dE2i d_C94LCH2i i get def
         /dE2iMFV2i2 dE2iMFV2i2 dE2i FS2 dV2i mul sub dup mul add def
         /dE2iE2i dE2iE2i dE2i dE2i mul add def
        } for %i=0,iim
/SS2 dE2iMFV2i2 dE2iE2i div 0.000001 add sqrt 100 mul def

100 yhot ydel 11.2 mul sub moveto
(i2i+1 = ) show i2i 1 add cvishow
(, C94LCHF2 = ) show FS2 cvsshow2
(, C94LCHSTRESS2 = ) show SS2 cvsshow2

%***********************************************
%CMCLCH
/d_CMCLCHave2 d_CMCLCHsum2 i2i 1 add div def
100 yhot ydel 13 mul sub moveto
(i2i+1 = ) show i2i 1 add cvishow
(, d_CMCLCHmin2 = ) show d_CMCLCHmin2 cvsshow2
(, d_CMCLCHmax2 = ) show d_CMCLCHmax2 cvsshow2
(, d_CMCLCHave2 = ) show d_CMCLCHave2 cvsshow2

/dE2iV2i 0 def
/dV2iV2i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV2i WXYZR01V2i i 10 mul 09 add get def
         /dE2i d_CMCLCH2i i get def
         /dE2iV2i dE2iV2i dE2i dV2i mul add def
         /dV2iV2i dV2iV2i dV2i dV2i mul add def
        } for %i=0,iim
/FS2 dE2iV2i dV2iV2i div def

/dE2iMFV2i2 0 def
/dE2iE2i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV2i WXYZR01V2i i 10 mul 09 add get def
         /dE2i d_CMCLCH2i i get def
         /dE2iMFV2i2 dE2iMFV2i2 dE2i FS2 dV2i mul sub dup mul add def
         /dE2iE2i dE2iE2i dE2i dE2i mul add def
        } for %i=0,iim
/SS2 dE2iMFV2i2 dE2iE2i div 0.000001 add sqrt 100 mul def

100 yhot ydel 14.2 mul sub moveto
(i2i+1 = ) show i2i 1 add cvishow
(, CMCLCHF2 = ) show FS2 cvsshow2
(, CMCLCHSTRESS2 = ) show SS2 cvsshow2

%***********************************************
%C00LCH
/d_C00LCHave2 d_C00LCHsum2 i2i 1 add div def
100 yhot ydel 16 mul sub moveto
(i2i+1 = ) show i2i 1 add cvishow
(, d_C00LCHmin2 = ) show d_C00LCHmin2 cvsshow2
(, d_C00LCHmax2 = ) show d_C00LCHmax2 cvsshow2
(, d_C00LCHave2 = ) show d_C00LCHave2 cvsshow2

/dE2iV2i 0 def
/dV2iV2i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV2i WXYZR01V2i i 10 mul 09 add get def
         /dE2i d_C00LCH2i i get def
         /dE2iV2i dE2iV2i dE2i dV2i mul add def
         /dV2iV2i dV2iV2i dV2i dV2i mul add def
        } for %i=0,iim
/FS2 dE2iV2i dV2iV2i div def

/dE2iMFV2i2 0 def
/dE2iE2i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV2i WXYZR01V2i i 10 mul 09 add get def
         /dE2i d_C00LCH2i i get def
         /dE2iMFV2i2 dE2iMFV2i2 dE2i FS2 dV2i mul sub dup mul add def
         /dE2iE2i dE2iE2i dE2i dE2i mul add def
        } for %i=0,iim
/SS2 dE2iMFV2i2 dE2iE2i div 0.000001 add sqrt 100 mul def

100 yhot ydel 17.2 mul sub moveto
(i2i+1 = ) show i2i 1 add cvishow
(, C00LCHF2 = ) show FS2 cvsshow2
(, C00LCHSTRESS2 = ) show SS2 cvsshow2

%***********************************************
%C85LCH
/d_C85LCHave2 d_C85LCHsum2 i2i 1 add div def
100 yhot ydel 19 mul sub moveto
(i2i+1 = ) show i2i 1 add cvishow
(, d_C85LCHmin2 = ) show d_C85LCHmin2 cvsshow2
(, d_C85LCHmax2 = ) show d_C85LCHmax2 cvsshow2
(, d_C85LCHave2 = ) show d_C85LCHave2 cvsshow2

/dE2iV2i 0 def
/dV2iV2i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV2i WXYZR01V2i i 10 mul 09 add get def
         /dE2i d_C85LCH2i i get def
         /dE2iV2i dE2iV2i dE2i dV2i mul add def
         /dV2iV2i dV2iV2i dV2i dV2i mul add def
        } for %i=0,iim
/FS2 dE2iV2i dV2iV2i div def

/dE2iMFV2i2 0 def
/dE2iE2i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV2i WXYZR01V2i i 10 mul 09 add get def
         /dE2i d_C85LCH2i i get def
         /dE2iMFV2i2 dE2iMFV2i2 dE2i FS2 dV2i mul sub dup mul add def
         /dE2iE2i dE2iE2i dE2i dE2i mul add def
        } for %i=0,iim
/SS2 dE2iMFV2i2 dE2iE2i div 0.000001 add sqrt 100 mul def

100 yhot ydel 20.2 mul sub moveto
(i2i+1 = ) show i2i 1 add cvishow
(, C85LCHF2 = ) show FS2 cvsshow2
(, C85LCHSTRESS2 = ) show SS2 cvsshow2

} if %iXYZLAB=2,3

%***********************************************
iXYZLAB 4 eq iXYZLAB 5 eq or {%iXYZLAB=4,5
/iim i4i def

/d_CIELABave4 d_CIELABsum4 i4i 1 add div def
100 yhot ydel 4 mul sub moveto
(i4i+1 = ) show i4i 1 add cvishow
(, d_CIELABmin4 = ) show d_CIELABmin4 cvsshow2
(, d_CIELABmax4 = ) show d_CIELABmax4 cvsshow2
(, d_CIELABave4 = ) show d_CIELABave4 cvsshow2

/dE4iV4i 0 def
/dV4iV4i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV4i WXYZR01V4i i 10 mul 09 add get def
         /dE4i d_CIELAB4i i get def
         /dE4iV4i dE4iV4i dE4i dV4i mul add def
         /dV4iV4i dV4iV4i dV4i dV4i mul add def
        } for %i=0,iim
/FS4 dE4iV4i dV4iV4i div def

/dE4iMFV4i2 0 def
/dE4iE4i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV4i WXYZR01V4i i 10 mul 09 add get def
         /dE4i d_CIELAB4i i get def
         /dE4iMFV4i2 dE4iMFV4i2 dE4i FS4 dV4i mul sub dup mul add def
         /dE4iE4i dE4iE4i dE4i dE4i mul add def
        } for %i=0,iim
/SS4 dE4iMFV4i2 dE4iE4i div 0.000001 add sqrt 100 mul def

100 yhot ydel 5.2 mul sub moveto
(i4i+1 = ) show i4i 1 add cvishow
(, CIELABF4 = ) show FS4 cvsshow2
(, CIELABSTRESS4 = ) show SS4 cvsshow2

%***********************************************
%CIELCH
/d_CIELCHave4 d_CIELCHsum4 i4i 1 add div def
100 yhot ydel 07 mul sub moveto
(i4i+1 = ) show i4i 1 add cvishow
(, d_CIELCHmin4 = ) show d_CIELCHmin4 cvsshow2
(, d_CIELCHmax4 = ) show d_CIELCHmax4 cvsshow2
(, d_CIELCHave4 = ) show d_CIELCHave4 cvsshow2

/dE4iV4i 0 def
/dV4iV4i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV4i WXYZR01V4i i 10 mul 09 add get def
         /dE4i d_CIELCH4i i get def
         /dE4iV4i dE4iV4i dE4i dV4i mul add def
         /dV4iV4i dV4iV4i dV4i dV4i mul add def
        } for %i=0,iim
/FS4 dE4iV4i dV4iV4i div def
%STOPa2
/dE4iMFV4i2 0 def
/dE4iE4i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV4i WXYZR01V4i i 10 mul 09 add get def
         /dE4i d_CIELCH4i i get def
         /dE4iMFV4i2 dE4iMFV4i2 dE4i FS4 dV4i mul sub dup mul add def
         /dE4iE4i dE4iE4i dE4i dE4i mul add def
        } for %i=0,iim
/SS4 dE4iMFV4i2 dE4iE4i div 0.000001 add sqrt 100 mul def

100 yhot ydel 08.2 mul sub moveto
(i4i+1 = ) show i4i 1 add cvishow
(, CIELCHF4 = ) show FS4 cvsshow2
(, CIELCHSTRESS4 = ) show SS4 cvsshow2

%STOPb
%***********************************************
%C94LCH
/d_C94LCHave4 d_C94LCHsum4 i4i 1 add div def
100 yhot ydel 10 mul sub moveto
(i4i+1 = ) show i4i 1 add cvishow
(, d_C94LCHmin4 = ) show d_C94LCHmin4 cvsshow2
(, d_C94LCHmax4 = ) show d_C94LCHmax4 cvsshow2
(, d_C94LCHave4 = ) show d_C94LCHave4 cvsshow2

/dE4iV4i 0 def
/dV4iV4i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV4i WXYZR01V4i i 10 mul 09 add get def
         /dE4i d_C94LCH4i i get def
         /dE4iV4i dE4iV4i dE4i dV4i mul add def
         /dV4iV4i dV4iV4i dV4i dV4i mul add def
        } for %i=0,iim
/FS4 dE4iV4i dV4iV4i div def

/dE4iMFV4i2 0 def
/dE4iE4i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV4i WXYZR01V4i i 10 mul 09 add get def
         /dE4i d_C94LCH4i i get def
         /dE4iMFV4i2 dE4iMFV4i2 dE4i FS4 dV4i mul sub dup mul add def
         /dE4iE4i dE4iE4i dE4i dE4i mul add def
        } for %i=0,iim
/SS4 dE4iMFV4i2 dE4iE4i div 0.000001 add sqrt 100 mul def

100 yhot ydel 11.2 mul sub moveto
(i4i+1 = ) show i4i 1 add cvishow
(, C94LCHF4 = ) show FS4 cvsshow2
(, C94LCHSTRESS4 = ) show SS4 cvsshow2

%***********************************************
%CMCLCH
/d_CMCLCHave4 d_CMCLCHsum4 i4i 1 add div def
100 yhot ydel 13 mul sub moveto
(i4i+1 = ) show i4i 1 add cvishow
(, d_CMCLCHmin4 = ) show d_CMCLCHmin4 cvsshow2
(, d_CMCLCHmax4 = ) show d_CMCLCHmax4 cvsshow2
(, d_CMCLCHave4 = ) show d_CMCLCHave4 cvsshow2

/dE4iV4i 0 def
/dV4iV4i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV4i WXYZR01V4i i 10 mul 09 add get def
         /dE4i d_CMCLCH4i i get def
         /dE4iV4i dE4iV4i dE4i dV4i mul add def
         /dV4iV4i dV4iV4i dV4i dV4i mul add def
        } for %i=0,iim
/FS4 dE4iV4i dV4iV4i div def

/dE4iMFV4i2 0 def
/dE4iE4i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV4i WXYZR01V4i i 10 mul 09 add get def
         /dE4i d_CMCLCH4i i get def
         /dE4iMFV4i2 dE4iMFV4i2 dE4i FS4 dV4i mul sub dup mul add def
         /dE4iE4i dE4iE4i dE4i dE4i mul add def
        } for %i=0,iim
/SS4 dE4iMFV4i2 dE4iE4i div 0.000001 add sqrt 100 mul def

100 yhot ydel 14.2 mul sub moveto
(i4i+1 = ) show i4i 1 add cvishow
(, CMCLCHF4 = ) show FS4 cvsshow2
(, CMCLCHSTRESS4 = ) show SS4 cvsshow2

%***********************************************
%C00LCH
/d_C00LCHave4 d_C00LCHsum4 i4i 1 add div def
100 yhot ydel 16 mul sub moveto
(i4i+1 = ) show i4i 1 add cvishow
(, d_C00LCHmin4 = ) show d_C00LCHmin4 cvsshow2
(, d_C00LCHmax4 = ) show d_C00LCHmax4 cvsshow2
(, d_C00LCHave4 = ) show d_C00LCHave4 cvsshow2

/dE4iV4i 0 def
/dV4iV4i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV4i WXYZR01V4i i 10 mul 09 add get def
         /dE4i d_C00LCH4i i get def
         /dE4iV4i dE4iV4i dE4i dV4i mul add def
         /dV4iV4i dV4iV4i dV4i dV4i mul add def
        } for %i=0,iim
/FS4 dE4iV4i dV4iV4i div def

/dE4iMFV4i2 0 def
/dE4iE4i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV4i WXYZR01V4i i 10 mul 09 add get def
         /dE4i d_C00LCH4i i get def
         /dE4iMFV4i2 dE4iMFV4i2 dE4i FS4 dV4i mul sub dup mul add def
         /dE4iE4i dE4iE4i dE4i dE4i mul add def
        } for %i=0,iim
/SS4 dE4iMFV4i2 dE4iE4i div 0.000001 add sqrt 100 mul def

100 yhot ydel 17.2 mul sub moveto
(i4i+1 = ) show i4i 1 add cvishow
(, C00LCHF4 = ) show FS4 cvsshow2
(, C00LCHSTRESS4 = ) show SS4 cvsshow2

%***********************************************
%C85LCH
/d_C85LCHave4 d_C85LCHsum4 i4i 1 add div def
100 yhot ydel 19 mul sub moveto
(i4i+1 = ) show i4i 1 add cvishow
(, d_C85LCHmin4 = ) show d_C85LCHmin4 cvsshow2
(, d_C85LCHmax4 = ) show d_C85LCHmax4 cvsshow2
(, d_C85LCHave4 = ) show d_C85LCHave4 cvsshow2

/dE4iV4i 0 def
/dV4iV4i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV4i WXYZR01V4i i 10 mul 09 add get def
         /dE4i d_C85LCH4i i get def
         /dE4iV4i dE4iV4i dE4i dV4i mul add def
         /dV4iV4i dV4iV4i dV4i dV4i mul add def
        } for %i=0,iim
/FS4 dE4iV4i dV4iV4i div def

/dE4iMFV4i2 0 def
/dE4iE4i 0 def
0 1 iim {/i exch def %i=0,iim
         /dV4i WXYZR01V4i i 10 mul 09 add get def
         /dE4i d_C85LCH4i i get def
         /dE4iMFV4i2 dE4iMFV4i2 dE4i FS4 dV4i mul sub dup mul add def
         /dE4iE4i dE4iE4i dE4i dE4i mul add def
        } for %i=0,iim
/SS4 dE4iMFV4i2 dE4iE4i div 0.000001 add sqrt 100 mul def

100 yhot ydel 20.2 mul sub moveto
(i4i+1 = ) show i4i 1 add cvishow
(, C85LCHF4 = ) show FS4 cvsshow2
(, C85LCHSTRESS4 = ) show SS4 cvsshow2

} if %iXYZLAB=4,5


} if %ii=iimaxP1

showpage
grestore

} for %xchart=0,xc0d