%!PS-Adobe-3.0 EPSF-3.0 YE630-7A
%%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/YE63/)
  /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 XE630-7A_0_0
%DV*DViimp=106, colour difference pairs KS_LV106=KIT_SEPARATE, xchart3=2, xchart4=2 %
%Xn     Yn      Zn      X0      Y0      Z0      X1      Y1      Z1      DV*DV   CODE
0095050 0100000 0108900 0043059 0051397 0077461 0081871 0087162 0084815 0006478 %63000001 %
0095050 0100000 0108900 0043059 0051397 0077461 0019388 0027536 0069930 0006632 %63000002 %
0095050 0100000 0108900 0030783 0028166 0046149 0081924 0087171 0085133 0007551 %63000003 %
0095050 0100000 0108900 0030783 0028166 0046149 0007794 0005145 0022448 0009542 %63000004 %
0095050 0100000 0108900 0054106 0042816 0046762 0082042 0087291 0085260 0007189 %63000005 %
0095050 0100000 0108900 0054106 0042816 0046762 0033276 0017069 0022109 0008281 %63000006 %
0095050 0100000 0108900 0051977 0043412 0024081 0082027 0087242 0085550 0007370 %63000007 %
0095050 0100000 0108900 0051977 0043412 0024081 0030585 0017089 0002712 0008490 %63000008 %
0095050 0100000 0108900 0071872 0080634 0032092 0081958 0087239 0084996 0003665 %63000009 %
0095050 0100000 0108900 0071872 0080634 0032092 0066661 0073787 0007171 0003797 %63000010 %
0095050 0100000 0108900 0032273 0044647 0029410 0081974 0087249 0085034 0006310 %63000011 %
0095050 0100000 0108900 0032273 0044647 0029410 0009703 0020819 0006479 0007015 %63000012 %
0095050 0100000 0108900 0008533 0010935 0021210 0019776 0027949 0070458 0007284 %63000013 %
0095050 0100000 0108900 0008533 0010935 0021210 0003032 0003139 0003136 0007635 %63000014 %
0095050 0100000 0108900 0005296 0004228 0010337 0008211 0005439 0023150 0003459 %63000015 %
0095050 0100000 0108900 0005296 0004228 0010337 0003091 0003177 0003176 0003500 %63000016 %
0095050 0100000 0108900 0012221 0008019 0009304 0032659 0016614 0021259 0007441 %63000017 %
0095050 0100000 0108900 0012221 0008019 0009304 0002858 0002962 0002966 0006460 %63000018 %
0095050 0100000 0108900 0011655 0008000 0002652 0030284 0016867 0002520 0007936 %63000019 %
0095050 0100000 0108900 0011655 0008000 0002652 0002890 0003000 0002989 0007844 %63000020 %
0095050 0100000 0108900 0020163 0022221 0004839 0066791 0074096 0007573 0008008 %63000021 %
0095050 0100000 0108900 0020163 0022221 0004839 0003044 0003151 0003167 0009116 %63000022 %
0095050 0100000 0108900 0005418 0008983 0004567 0010166 0021504 0006872 0005702 %63000023 %
0095050 0100000 0108900 0005418 0008983 0004567 0003125 0003217 0003229 0007576 %63000024 %
0095050 0100000 0108900 0018984 0026996 0069454 0082195 0087485 0085045 0012928 %63000025 %
0095050 0100000 0108900 0018984 0026996 0069454 0002664 0002788 0002954 0015249 %63000026 %
0095050 0100000 0108900 0007399 0004853 0021822 0081895 0087140 0084961 0016484 %63000027 %
0095050 0100000 0108900 0007399 0004853 0021822 0002714 0002836 0002950 0006391 %63000028 %
0095050 0100000 0108900 0032685 0016653 0021248 0081859 0087074 0085171 0012947 %63000029 %
0095050 0100000 0108900 0032685 0016653 0021248 0002802 0002913 0003015 0017203 %63000030 %
0095050 0100000 0108900 0030235 0016814 0002614 0081831 0087044 0085255 0015489 %63000031 %
0095050 0100000 0108900 0030235 0016814 0002614 0002852 0002976 0003093 0015308 %63000032 %
0095050 0100000 0108900 0066641 0073732 0007310 0081802 0087084 0084714 0009378 %63000033 %
0095050 0100000 0108900 0066641 0073732 0007310 0002705 0002827 0002953 0018110 %63000034 %
0095050 0100000 0108900 0009330 0020323 0006555 0081961 0087242 0084836 0012437 %63000035 %
0095050 0100000 0108900 0009330 0020323 0006555 0002712 0002824 0002954 0012006 %63000036 %
0095050 0100000 0108900 0007658 0005064 0022182 0019190 0027222 0069848 0010268 %63000037 %
0095050 0100000 0108900 0007658 0005064 0022182 0032724 0016762 0021385 0010029 %63000038 %
0095050 0100000 0108900 0030161 0016790 0002617 0032710 0016745 0021414 0007556 %63000039 %
0095050 0100000 0108900 0030161 0016790 0002617 0066909 0074147 0007747 0015383 %63000040 %
0095050 0100000 0108900 0009287 0020245 0006507 0066631 0073739 0007384 0014095 %63000041 %
0095050 0100000 0108900 0009287 0020245 0006507 0019069 0027103 0069450 0009987 %63000042 %
0095050 0100000 0108900 0019110 0027158 0069638 0007562 0004995 0022071 0010811 %63000043 %
0095050 0100000 0108900 0019110 0027158 0069638 0009381 0020372 0006604 0008597 %63000044 %
0095050 0100000 0108900 0066788 0073975 0007579 0009523 0020566 0006613 0015572 %63000045 %
0095050 0100000 0108900 0066788 0073975 0007579 0030338 0016939 0002583 0014856 %63000046 %
0095050 0100000 0108900 0032739 0016715 0021576 0030245 0016870 0002594 0006530 %63000047 %
0095050 0100000 0108900 0032739 0016715 0021576 0007681 0005066 0022479 0010952 %63000048 %
0095050 0100000 0108900 0061521 0068828 0083385 0081947 0087169 0085208 0003208 %63000049 %
0095050 0100000 0108900 0061521 0068828 0083385 0042920 0051233 0077841 0003630 %63000050 %
0095050 0100000 0108900 0030237 0038871 0074605 0042920 0051233 0077841 0002997 %63000051 %
0095050 0100000 0108900 0030237 0038871 0074605 0019181 0027256 0069761 0004517 %63000052 %
0095050 0100000 0108900 0053690 0053649 0066621 0081974 0087216 0085018 0003115 %63000053 %
0095050 0100000 0108900 0053690 0053649 0066621 0030946 0028295 0047364 0003904 %63000054 %
0095050 0100000 0108900 0017168 0013915 0033982 0030946 0028295 0047364 0003641 %63000055 %
0095050 0100000 0108900 0017168 0013915 0033982 0007759 0004961 0022174 0004255 %63000056 %
0095050 0100000 0108900 0068488 0063940 0066141 0082109 0087329 0085546 0003659 %63000057 %
0095050 0100000 0108900 0068488 0063940 0066141 0054233 0042938 0047408 0004093 %63000058 %
0095050 0100000 0108900 0043130 0028245 0033449 0054233 0042938 0047408 0003563 %63000059 %
0095050 0100000 0108900 0043130 0028245 0033449 0033036 0016938 0021841 0005056 %63000060 %
0095050 0100000 0108900 0064832 0061637 0048414 0081819 0087079 0085022 0003868 %63000061 %
0095050 0100000 0108900 0064832 0061637 0048414 0051470 0042561 0023627 0003588 %63000062 %
0095050 0100000 0108900 0039770 0027317 0009099 0051470 0042561 0023627 0003448 %63000063 %
0095050 0100000 0108900 0039770 0027317 0009099 0030004 0016649 0002516 0004939 %63000064 %
0095050 0100000 0108900 0076360 0084012 0054889 0081836 0087027 0085040 0002141 %63000065 %
0095050 0100000 0108900 0076360 0084012 0054889 0071581 0080172 0030748 0002376 %63000066 %
0095050 0100000 0108900 0068935 0077438 0015616 0071581 0080172 0030748 0002685 %63000067 %
0095050 0100000 0108900 0068935 0077438 0015616 0066032 0073004 0007065 0001676 %63000068 %
0095050 0100000 0108900 0054952 0065245 0054939 0081987 0087202 0085397 0002545 %63000069 %
0095050 0100000 0108900 0054952 0065245 0054939 0032574 0044853 0030762 0002738 %63000070 %
0095050 0100000 0108900 0019628 0032323 0016396 0032574 0044853 0030762 0002868 %63000071 %
0095050 0100000 0108900 0019628 0032323 0016396 0009889 0021108 0006794 0003542 %63000072 %
0095050 0100000 0108900 0012922 0017604 0040753 0019261 0027334 0069802 0003822 %63000073 %
0095050 0100000 0108900 0012922 0017604 0040753 0008102 0010446 0021022 0003171 %63000074 %
0095050 0100000 0108900 0004684 0005693 0008996 0008102 0010446 0021022 0003496 %63000075 %
0095050 0100000 0108900 0004684 0005693 0008996 0002752 0002872 0002965 0003334 %63000076 %
0095050 0100000 0108900 0006079 0004265 0015286 0007695 0004906 0021896 0001357 %63000077 %
0095050 0100000 0108900 0006079 0004265 0015286 0004693 0003665 0009659 0002560 %63000078 %
0095050 0100000 0108900 0003727 0003323 0005593 0004693 0003665 0009659 0002715 %63000079 %
0095050 0100000 0108900 0003727 0003323 0005593 0002975 0003049 0002949 0001324 %63000080 %
0095050 0100000 0108900 0020097 0011253 0014422 0032964 0016884 0021789 0003890 %63000081 %
0095050 0100000 0108900 0020097 0011253 0014422 0012496 0008172 0009829 0002998 %63000082 %
0095050 0100000 0108900 0006602 0005134 0005663 0012496 0008172 0009829 0003201 %63000083 %
0095050 0100000 0108900 0006602 0005134 0005663 0002967 0003078 0003145 0003687 %63000084 %
0095050 0100000 0108900 0018783 0011367 0002554 0030097 0016715 0002484 0004221 %63000085 %
0095050 0100000 0108900 0018783 0011367 0002554 0011287 0007743 0002611 0002990 %63000086 %
0095050 0100000 0108900 0006223 0004947 0002688 0011287 0007743 0002611 0003412 %63000087 %
0095050 0100000 0108900 0006223 0004947 0002688 0002776 0002880 0002970 0004327 %63000088 %
0095050 0100000 0108900 0039612 0044439 0006378 0065873 0072763 0006949 0005582 %63000089 %
0095050 0100000 0108900 0039612 0044439 0006378 0019922 0022013 0004667 0003721 %63000090 %
0095050 0100000 0108900 0008965 0009695 0003658 0019922 0022013 0004667 0003776 %63000091 %
0095050 0100000 0108900 0008965 0009695 0003658 0002911 0003000 0002982 0005527 %63000092 %
0095050 0100000 0108900 0007135 0013814 0005323 0009779 0020962 0006667 0003472 %63000093 %
0095050 0100000 0108900 0007135 0013814 0005323 0005074 0008541 0004421 0002287 %63000094 %
0095050 0100000 0108900 0003695 0005083 0003634 0005074 0008541 0004421 0003224 %63000095 %
0095050 0100000 0108900 0003695 0005083 0003634 0002954 0003062 0003080 0003764 %63000096 %
0095050 0100000 0108900 0012227 0012845 0040954 0019088 0027111 0069596 0005528 %63000097 %
0095050 0100000 0108900 0012227 0012845 0040954 0007464 0004902 0021885 0005274 %63000098 %
0095050 0100000 0108900 0016313 0009085 0021197 0007464 0004902 0021885 0006220 %63000099 %
0095050 0100000 0108900 0016313 0009085 0021197 0032550 0016647 0021221 0005273 %63000100 %
0095050 0100000 0108900 0031694 0016902 0008998 0032513 0016565 0021124 0004746 %63000101 %
0095050 0100000 0108900 0031694 0016902 0008998 0030216 0016788 0002548 0003242 %63000102 %
0095050 0100000 0108900 0046516 0039355 0004903 0030216 0016788 0002548 0007977 %63000103 %
0095050 0100000 0108900 0046516 0039355 0004903 0066886 0074058 0007601 0008974 %63000104 %
0095050 0100000 0108900 0027965 0040593 0007138 0066390 0073526 0007533 0008184 %63000105 %
0095050 0100000 0108900 0027965 0040593 0007138 0009640 0020746 0006848 0007292 %63000106 %
] 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 1 def /lanind2 1 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 xcal {/xchart exch def %xchart=0,xcal

/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 (KS_LV106) def
/inr000 63000001 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
(YE630-7A) 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,xcal