% ClvR: Deterministic model of the 2 locus, autosomal element cleaving 
% target gene on X

% Tobin Ivy (tivy@caltech.edu)
% Last Edit: 08/14/2018

clear all;
tic

% T = transgene bearing autosmal locus
% W = wildtype bearing autosmal locus
% C = X locus with essential gene cleaved
% X = wildtype X locus

% G01M	TTCY
% G02M	TTXY
% G03M	TNCY
% G04M	TNXY
% G05M	TWCY
% G06M	TWXY
% G07M	NNCY
% G08M	NNXY
% G09M	NWCY
% G10M	NWXY
% G12M	WWXY
% G01F	TTCC
% G02F	TTCX
% G03F	TTXX
% G04F	TNCC
% G05F	TNCX
% G06F	TNXX
% G07F	TWCC
% G08F	TWCX
% G09F	TWXX
% G10F	NNCC
% G11F	NNCX
% G12F	NNXX
% G13F	NWCC
% G14F	NWCX
% G15F	NWXX
% G17F	WWCX
% G18F	WWXX

%% Set parameters:

% Fitness Costs:
% FC- fitness cost of T homozygote
% FCnc- proportion of fitness cost carried by the null cas9 mutant
% s(genotype)- fitness cost for a given genotype
FC = 0;
FCnc = FC*0;

sG01M = 0+FC;
sG02M = 0+FC;
sG03M = 0+FC/2+FCnc/2;
sG04M = 0+FC/2+FCnc/2;
sG05M = 0+FC/2;
sG06M = 0+FC/2;
sG07M = 0+FCnc;
sG08M = 0+FCnc;
sG09M = 0+FCnc/2;
sG10M = 0+FCnc/2;
sG01F = 0+FC;
sG02F = 0+FC;
sG03F = 0+FC;
sG04F = 0+FC/2+FCnc/2;
sG05F = 0+FC/2+FCnc/2;
sG06F = 0+FC/2+FCnc/2;
sG07F = 0+FC/2;
sG08F = 0+FC/2;
sG09F = 0+FC/2;
sG10F = 0+FCnc;
sG11F = 0+FCnc;
sG12F = 0+FCnc;
sG13F = 0+FCnc/2;
sG14F = 0+FCnc/2;
sG15F = 0+FCnc/2;
sG17F = 0;

% Cas9 mediated events (m for in males, f for in females):
% CLE- % chance of a single copy of T cleaving X into C
% UNC- % chance of a single copy of T not cleaving X into C
% TCE- % chance of two copies of T cleaving X into C
% TUC- % chance of two copies of T not cleaving X into C
% HR- % chance of homology directed repair
% UR- % chance that no HDR occurs
% CEU- % chance that a single copy of T cleaves one X into C and X is not
% repaired by HDR using the other intact X as a template
% UCH- % chance that a single copy of T cleaves one X into C and X is 
% repaired by HDR using the other intact X as a template
% TCU- % chance that two copies of T cleave one X into C and X is not
% repaired by HDR using the other intact X as a template
% TUH- % chance that two copies of T cleave one X into C and X is 
% repaired by HDR using the other intact X as a template
% none- no Cas9-mediated event occurs, dummy variable to balance equations
% MC- % chance of maternal carryover of Cas9 and gRNAs from a single copy
% TMC- % chance of maternal carryover of Cas9 and gRNAs from two copies
CLEm = 0.9;
UNCm = 1-CLEm;
TCEm = (1-(1-CLEm)^2);
TUCm = (1-CLEm)^2;
HRm = 0;
URm = 1-HRm;
CEUm = CLEm*URm;
UCHm = 1-CEUm;
TCUm = (1-(1-CEUm)^2);
TUHm = (1-CEUm)^2;
CLEf = 0.9;
UNCf = 1-CLEf;
TCEf = (1-(1-CLEf)^2);
TUCf = (1-CLEf)^2;
HRf = 0;
URf = 1-HRf;
CEUf = CLEf*URf;
UCHf = 1-CEUf;
TCUf = (1-(1-CEUf)^2);
TUHf = (1-CEUf)^2;
none =1 ;
MC = CLEf;
TMC = MC;

% Mutation:
% mutCas9- % chance of Cas9 mutating into inactivity
mutCas9 = 1*10^(-5);
mutCas9 = 0;

% Releases, run time, and matrix:
% IF- introduction frequency of desired genotype, as fraction of new total
% population
% IF2- introduction frequency of TNCY heterozygotes as a fraction of IF
% (logic is fraction of factory organisms that have a mutated drive)
% Ifa- adjusted IF to take into account IF2
% numGensRelease- number of sequential generational releases
% numGens- number of simulated generations
IF = 0.001;
IF2 = 0.0*IF;
IFa = IF-IF2;
numGensRelease = 1;
numGens = 2000;

% Dummy variables for fractions so equations are balanced:
D02 = (1/2);
D04 = (1/4);
D08 = (1/8);
D16 = (1/16);

% Sigma- normalizing factor
sigma = zeros(1,numGens);

% Initial genotype proportions (first geneneration):
pG01M = [0 zeros(1,numGens)];
pG02M = [0 zeros(1,numGens)];
pG03M = [IF2 zeros(1,numGens)];
pG04M = [0 zeros(1,numGens)];
pG05M = [IF zeros(1,numGens)];
pG06M = [0 zeros(1,numGens)];
pG07M = [0 zeros(1,numGens)];
pG08M = [0 zeros(1,numGens)];
pG09M = [0 zeros(1,numGens)];
pG10M = [0 zeros(1,numGens)];
pG12M = [(1-IF)*0.5 zeros(1,numGens)];
pG01F = [0 zeros(1,numGens)];
pG02F = [0 zeros(1,numGens)];
pG03F = [0 zeros(1,numGens)];
pG04F = [0 zeros(1,numGens)];
pG05F = [0 zeros(1,numGens)];
pG06F = [0 zeros(1,numGens)];
pG07F = [0 zeros(1,numGens)];
pG08F = [0 zeros(1,numGens)];
pG09F = [0 zeros(1,numGens)];
pG10F = [0 zeros(1,numGens)];
pG11F = [0 zeros(1,numGens)];
pG12F = [0 zeros(1,numGens)];
pG13F = [0 zeros(1,numGens)];
pG14F = [0 zeros(1,numGens)];
pG15F = [0 zeros(1,numGens)];
pG17F = [0 zeros(1,numGens)];
pG18F = [(1-IF)*0.5 zeros(1,numGens)];


% Temporary (un-normalized) genotypes
pG01Mtemp = zeros(1,numGens);
pG02Mtemp = zeros(1,numGens);
pG03Mtemp = zeros(1,numGens);
pG04Mtemp = zeros(1,numGens);
pG05Mtemp = zeros(1,numGens);
pG06Mtemp = zeros(1,numGens);
pG07Mtemp = zeros(1,numGens);
pG08Mtemp = zeros(1,numGens);
pG09Mtemp = zeros(1,numGens);
pG10Mtemp = zeros(1,numGens);
pG12Mtemp = zeros(1,numGens);
pG01Ftemp = zeros(1,numGens);
pG02Ftemp = zeros(1,numGens);
pG03Ftemp = zeros(1,numGens);
pG04Ftemp = zeros(1,numGens);
pG05Ftemp = zeros(1,numGens);
pG06Ftemp = zeros(1,numGens);
pG07Ftemp = zeros(1,numGens);
pG08Ftemp = zeros(1,numGens);
pG09Ftemp = zeros(1,numGens);
pG10Ftemp = zeros(1,numGens);
pG11Ftemp = zeros(1,numGens);
pG12Ftemp = zeros(1,numGens);
pG13Ftemp = zeros(1,numGens);
pG14Ftemp = zeros(1,numGens);
pG15Ftemp = zeros(1,numGens);
pG17Ftemp = zeros(1,numGens);
pG18Ftemp = zeros(1,numGens);

% Secondary temporary genotypes(ie mutated but unnormalized):
pG01Mtemp2 = zeros(1,numGens);
pG02Mtemp2 = zeros(1,numGens);
pG03Mtemp2 = zeros(1,numGens);
pG04Mtemp2 = zeros(1,numGens);
pG05Mtemp2 = zeros(1,numGens);
pG06Mtemp2 = zeros(1,numGens);
pG07Mtemp2 = zeros(1,numGens);
pG08Mtemp2 = zeros(1,numGens);
pG09Mtemp2 = zeros(1,numGens);
pG10Mtemp2 = zeros(1,numGens);
pG12Mtemp2 = zeros(1,numGens);
pG01Ftemp2 = zeros(1,numGens);
pG02Ftemp2 = zeros(1,numGens);
pG03Ftemp2 = zeros(1,numGens);
pG04Ftemp2 = zeros(1,numGens);
pG05Ftemp2 = zeros(1,numGens);
pG06Ftemp2 = zeros(1,numGens);
pG07Ftemp2 = zeros(1,numGens);
pG08Ftemp2 = zeros(1,numGens);
pG09Ftemp2 = zeros(1,numGens);
pG10Ftemp2 = zeros(1,numGens);
pG11Ftemp2 = zeros(1,numGens);
pG12Ftemp2 = zeros(1,numGens);
pG13Ftemp2 = zeros(1,numGens);
pG14Ftemp2 = zeros(1,numGens);
pG15Ftemp2 = zeros(1,numGens);
pG17Ftemp2 = zeros(1,numGens);
pG18Ftemp2 = zeros(1,numGens);




% Difference equations (second generation onwards):
for gen = 1:numGens
    
    % Un-normalized genotype frequencies:
    pG01Mtemp(gen) = 0 ...
        + D02  *  none  *  none  *  pG01F(gen)  *  pG01M(gen)...
        + D02  *  none  *  none  *  pG01F(gen)  *  pG02M(gen)... 
        + D04  *  none  *  none  *  pG01F(gen)  *  pG03M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG05M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG02F(gen)  *  pG01M(gen)...
        + D04  *  TCEf  *  none  *  pG02F(gen)  *  pG01M(gen)...
        + D04  *  none  *  none  *  pG02F(gen)  *  pG02M(gen)...
        + D04  *  TCEf  *  none  *  pG02F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG06M(gen)...
        + D02  *  TCUf  *  none  *  pG03F(gen)  *  pG01M(gen)...
        + D02  *  TCUf  *  none  *  pG03F(gen)  *  pG02M(gen)... 
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG03M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG04M(gen)... 
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG05M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG01M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG02M(gen)... 
        + D08  *  none  *  none  *  pG04F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG02M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG02M(gen)... 
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG04M(gen)... 
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG01M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG02M(gen)...  
        + D08  *  none  *  none  *  pG07F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG02M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG06M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG06M(gen)...
        + (0 ...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG01M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG02M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG06M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG01M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG02M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG03M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG04M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG05M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG06M(gen)...
        )*(TMC)...
        + (0 ...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG01M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG01M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG06M(gen)...
        )*(MC);

    pG02Mtemp(gen) = (0 ...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG01M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG02M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG06M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG01M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG02M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG03M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG04M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG05M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG06M(gen)...
        )*(1-TMC)...
        + (0 ...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG01M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG01M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG06M(gen)...
        )*(1-MC);

    pG03Mtemp(gen) = 0 ...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG03M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG04M(gen)... 
        + D02  *  none  *  none  *  pG01F(gen)  *  pG07M(gen)...
        + D02  *  none  *  none  *  pG01F(gen)  *  pG08M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG02F(gen)  *  pG07M(gen)...
        + D04  *  TCEf  *  none  *  pG02F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG02F(gen)  *  pG08M(gen)...
        + D04  *  TCEf  *  none  *  pG02F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG03M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG04M(gen)...
        + D02  *  TCUf  *  none  *  pG03F(gen)  *  pG07M(gen)...
        + D02  *  TCUf  *  none  *  pG03F(gen)  *  pG08M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG09M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG01M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG02M(gen)... 
        + D04  *  none  *  none  *  pG04F(gen)  *  pG03M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG04M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG02M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG06M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG07M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG10M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG04M(gen)... 
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG07M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D02  *  none  *  none  *  pG10F(gen)  *  pG01M(gen)...
        + D02  *  none  *  none  *  pG10F(gen)  *  pG02M(gen)... 
        + D04  *  none  *  none  *  pG10F(gen)  *  pG03M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG05M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG01M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG02M(gen)... 
        + D08  *  none  *  none  *  pG11F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG01M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG02M(gen)... 
        + D08  *  none  *  none  *  pG13F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG01M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG02M(gen)... 
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG06M(gen)...
        + (0 ...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG04M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG07M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG08M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG03M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG04M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG07M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG08M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG09M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        )*(TMC)...
        + (0 ...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG01M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG02M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG07M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG04M(gen)... 
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG07M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*(MC);

    pG04Mtemp(gen) = (0 ...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG04M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG07M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG08M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG03M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG04M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG07M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG08M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG09M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        )*(1-TMC)...
        + (0 ...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG01M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG02M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG07M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG04M(gen)... 
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG07M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*(1-MC)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG01M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG06M(gen)...
        + D02  *  none  *  none  *  pG12F(gen)  *  pG01M(gen)...
        + D02  *  none  *  none  *  pG12F(gen)  *  pG02M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG03M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG05M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG01M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG02M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG01M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG06M(gen);

    pG05Mtemp(gen) = 0 ...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG05M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG06M(gen)... 
        + D04  *  none  *  none  *  pG01F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG10M(gen)...
        + D02  *  none  *  none  *  pG01F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG02F(gen)  *  pG12M(gen)...
        + D04  *  TCEf  *  none  *  pG02F(gen)  *  pG12M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG05M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG06M(gen)... 
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG09M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        + D02  *  TCUf  *  none  *  pG03F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG06M(gen)... 
        + D08  *  none  *  none  *  pG04F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG12M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  TCUf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  TCUf  *  none  *  pG06F(gen)  *  pG06M(gen)... 
        + D08  *  TCUf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  TCUf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  TCUf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG01M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG05M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG02M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG06M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG02M(gen)... 
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG04M(gen)... 
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG12M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG01M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG01M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG02M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG01M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG02M(gen)... 
        + D08  *  none  *  none  *  pG17F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG06M(gen)...
        + (0 ...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG12M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG05M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG09M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG12M(gen)...
        )*(TMC)...
        + (0 ...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG01M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG02M(gen)... 
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG12M(gen)...
        )*(MC);

    pG06Mtemp(gen) = (0 ...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG12M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG05M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG09M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG12M(gen)...
        )*(1-TMC)...
        + (0 ...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG01M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG02M(gen)... 
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG12M(gen)...
        )*(1-MC)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG01M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG02M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG01M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG01M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG06M(gen)...
        + D02  *  none  *  none  *  pG18F(gen)  *  pG01M(gen)...
        + D02  *  none  *  none  *  pG18F(gen)  *  pG02M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG03M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG05M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG06M(gen);

    pG07Mtemp(gen) = 0 ...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG10M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG04M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG07M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG03M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG04M(gen)...
        + D02  *  none  *  none  *  pG10F(gen)  *  pG07M(gen)...
        + D02  *  none  *  none  *  pG10F(gen)  *  pG08M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG10M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG08M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG10M(gen)...
        + (0 ...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG07M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        )*(MC);

    pG08Mtemp(gen) = (0 ...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG07M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        )*(1-MC)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG03M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG04M(gen)...
        + D02  *  none  *  none  *  pG12F(gen)  *  pG07M(gen)...
        + D02  *  none  *  none  *  pG12F(gen)  *  pG08M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG10M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG08M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG10M(gen);

    pG09Mtemp(gen) = 0 ...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG12M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG10M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG07M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG05M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG10M(gen)...
        + D02  *  none  *  none  *  pG10F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG12M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG10M(gen)...
        + (0 ...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG07M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*(MC);

    pG10Mtemp(gen) = (0 ...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG07M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*(1-MC)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG12M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG05M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG10M(gen)...
        + D02  *  none  *  none  *  pG12F(gen)  *  pG12M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG08M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG03M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG03M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG04M(gen)...
        + D02  *  none  *  none  *  pG18F(gen)  *  pG07M(gen)...
        + D02  *  none  *  none  *  pG18F(gen)  *  pG08M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG10M(gen);

    pG12Mtemp(gen) = (0 ...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG12M(gen)...
        )*(1-MC)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG06M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG05M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG12M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG05M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG10M(gen)...
        + D02  *  none  *  none  *  pG18F(gen)  *  pG12M(gen);

    pG01Ftemp(gen) = 0 ...
        + D02  *  none  *  none  *  pG01F(gen)  *  pG01M(gen)...
        + D02  *  none  *  TCEm  *  pG01F(gen)  *  pG02M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG03M(gen)...
        + D04  *  none  *  CLEm  *  pG01F(gen)  *  pG04M(gen)... 
        + D04  *  none  *  none  *  pG01F(gen)  *  pG05M(gen)...
        + D04  *  none  *  CLEm  *  pG01F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG02F(gen)  *  pG01M(gen)...
        + D04  *  TCEf  *  none  *  pG02F(gen)  *  pG01M(gen)...
        + D04  *  none  *  TCEm  *  pG02F(gen)  *  pG02M(gen)...
        + D04  *  TCEf  *  TCEm  *  pG02F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TCEf  *  CLEm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TCEf  *  CLEm  *  pG02F(gen)  *  pG06M(gen)...
        + D02  *  TCUf  *  none  *  pG03F(gen)  *  pG01M(gen)...
        + D02  *  TCUf  *  TCEm  *  pG03F(gen)  *  pG02M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG03M(gen)...
        + D04  *  TCUf  *  CLEm  *  pG03F(gen)  *  pG04M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG05M(gen)...
        + D04  *  TCUf  *  CLEm  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG01M(gen)...
        + D04  *  none  *  TCEm  *  pG04F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG04F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG04F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  none  *  TCEm  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  CLEf  *  TCEm  *  pG05F(gen)  *  pG02M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  none  *  CLEm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  CLEm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  none  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  TCEm  *  pG06F(gen)  *  pG02M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  CLEm  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  CLEm  *  pG06F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG01M(gen)...
        + D04  *  none  *  TCEm  *  pG07F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG07F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG07F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  none  *  TCEm  *  pG08F(gen)  *  pG02M(gen)...
        + D08  *  CLEf  *  TCEm  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D16  *  none  *  CLEm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  CLEm  *  pG08F(gen)  *  pG06M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  TCEm  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  CLEm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  CLEm  *  pG09F(gen)  *  pG06M(gen)...
        + (0 ...
        + D02  *  none  *  TUCm  *  pG01F(gen)  *  pG02M(gen)... 
        + D04  *  none  *  UNCm  *  pG01F(gen)  *  pG04M(gen)...
        + D04  *  none  *  UNCm  *  pG01F(gen)  *  pG06M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG01M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG02M(gen)...
        + D04  *  TCEf  *  TUCm  *  pG02F(gen)  *  pG02M(gen)...
        + D04  *  TUCf  *  TCEm  *  pG02F(gen)  *  pG02M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  none  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TCEf  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TUCf  *  CLEm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  none  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TCEf  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TUCf  *  CLEm  *  pG02F(gen)  *  pG06M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG01M(gen)...
        + D02  *  TUHf  *  TCEm  *  pG03F(gen)  *  pG02M(gen)...
        + D02  *  TCUf  *  TUCm  *  pG03F(gen)  *  pG02M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG03M(gen)...
        + D04  *  TCUf  *  UNCm  *  pG03F(gen)  *  pG04M(gen)...
        + D04  *  TUHf  *  CLEm  *  pG03F(gen)  *  pG04M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG05M(gen)...
        + D04  *  TCUf  *  UNCm  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  TUHf  *  CLEm  *  pG03F(gen)  *  pG06M(gen)...
        )*(TMC)...
        + (0 ...
        + D04  *  none  *  TUCm  *  pG07F(gen)  *  pG02M(gen)... 
        + D08  *  none  *  UNCm  *  pG07F(gen)  *  pG04M(gen)...
        + D08  *  none  *  UNCm  *  pG07F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  none  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D08  *  CLEf  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D08  *  UNCf  *  TCEm  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D16  *  none  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG08F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  TUCm  *  pG09F(gen)  *  pG02M(gen)...
        + D04  *  UCHf  *  TCEm  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG09F(gen)  *  pG06M(gen)...
        )*(MC)...
        + (0 ...
        + D04  *  TUCf  *  TUCm  *  pG02F(gen)  *  pG02M(gen)...
        + D08  *  TUCf  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TUCf  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D02  *  TUHf  *  TUCm  *  pG03F(gen)  *  pG02M(gen)...
        + D04  *  TUHf  *  UNCm  *  pG03F(gen)  *  pG04M(gen)...
        + D04  *  TUHf  *  UNCm  *  pG03F(gen)  *  pG06M(gen)...
        )*(TMC*TMC)...
        + (0 ...
        + D08  *  UNCf  *  TUCm  *  pG05F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  TUCm  *  pG06F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  TUCm  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG06M(gen)...
        )*(MC*MC);

    pG02Ftemp(gen) = (0 ...
        + D02  *  none  *  TUCm  *  pG01F(gen)  *  pG02M(gen)... 
        + D04  *  none  *  UNCm  *  pG01F(gen)  *  pG04M(gen)...
        + D04  *  none  *  UNCm  *  pG01F(gen)  *  pG06M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG01M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG02M(gen)...
        + D04  *  TCEf  *  TUCm  *  pG02F(gen)  *  pG02M(gen)...
        + D04  *  TUCf  *  TCEm  *  pG02F(gen)  *  pG02M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  none  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TCEf  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TUCf  *  CLEm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  none  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TCEf  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TUCf  *  CLEm  *  pG02F(gen)  *  pG06M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG01M(gen)...
        + D02  *  TUHf  *  TCEm  *  pG03F(gen)  *  pG02M(gen)...
        + D02  *  TCUf  *  TUCm  *  pG03F(gen)  *  pG02M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG03M(gen)...
        + D04  *  TCUf  *  UNCm  *  pG03F(gen)  *  pG04M(gen)...
        + D04  *  TUHf  *  CLEm  *  pG03F(gen)  *  pG04M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG05M(gen)...
        + D04  *  TCUf  *  UNCm  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  TUHf  *  CLEm  *  pG03F(gen)  *  pG06M(gen)...
        )*((1-TMC))...
        + (0 ...
        + D04  *  none  *  TUCm  *  pG07F(gen)  *  pG02M(gen)... 
        + D08  *  none  *  UNCm  *  pG07F(gen)  *  pG04M(gen)...
        + D08  *  none  *  UNCm  *  pG07F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  none  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D08  *  CLEf  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D08  *  UNCf  *  TCEm  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D16  *  none  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG08F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  TUCm  *  pG09F(gen)  *  pG02M(gen)...
        + D04  *  UCHf  *  TCEm  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG09F(gen)  *  pG06M(gen)...
        )*((1-MC))...
        + (0 ...
        + D04  *  TUCf  *  TUCm  *  pG02F(gen)  *  pG02M(gen)...
        + D08  *  TUCf  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TUCf  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D02  *  TUHf  *  TUCm  *  pG03F(gen)  *  pG02M(gen)...
        + D04  *  TUHf  *  UNCm  *  pG03F(gen)  *  pG04M(gen)...
        + D04  *  TUHf  *  UNCm  *  pG03F(gen)  *  pG06M(gen)...
        )*(2*TMC*(1-TMC))...
        + (0 ...
        + D08  *  UNCf  *  TUCm  *  pG05F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  TUCm  *  pG06F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  TUCm  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG06M(gen)...
        )*(2*MC*(1-MC));

    pG03Ftemp(gen) = (0 ...
        + D04  *  TUCf  *  TUCm  *  pG02F(gen)  *  pG02M(gen)...
        + D08  *  TUCf  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TUCf  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D02  *  TUHf  *  TUCm  *  pG03F(gen)  *  pG02M(gen)...
        + D04  *  TUHf  *  UNCm  *  pG03F(gen)  *  pG04M(gen)...
        + D04  *  TUHf  *  UNCm  *  pG03F(gen)  *  pG06M(gen)...
        )*((1-TMC)*(1-TMC))...
        + (0 ...
        + D08  *  UNCf  *  TUCm  *  pG05F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  TUCm  *  pG06F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  TUCm  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG06M(gen)...
        )*((1-MC)*(1-MC));

    pG04Ftemp(gen) = 0 ...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG03M(gen)...
        + D04  *  none  *  CLEm  *  pG01F(gen)  *  pG04M(gen)...
        + D02  *  none  *  none  *  pG01F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TCEf  *  CLEm  *  pG02F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG02F(gen)  *  pG07M(gen)...
        + D04  *  TCEf  *  none  *  pG02F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG03M(gen)...
        + D04  *  TCUf  *  CLEm  *  pG03F(gen)  *  pG04M(gen)...
        + D02  *  TCUf  *  none  *  pG03F(gen)  *  pG07M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG01M(gen)...
        + D04  *  none  *  TCEm  *  pG04F(gen)  *  pG02M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG03M(gen)...
        + D04  *  none  *  CLEm  *  pG04F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG04F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  none  *  TCEm  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  CLEf  *  TCEm  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG05F(gen)  *  pG04M(gen)...
        + D08  *  CLEf  *  CLEm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  none  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  TCEm  *  pG06F(gen)  *  pG02M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D04  *  CEUf  *  CLEm  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  CLEm  *  pG06F(gen)  *  pG06M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG07M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG07F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  CLEm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG07M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG01M(gen)...
        + D04  *  none  *  TCEm  *  pG10F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG10F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG10F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG10F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG10F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG01M(gen)...
        + D04  *  none  *  TCEm  *  pG11F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG11F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG11F(gen)  *  pG06M(gen)......
        + D04  *  none  *  none  *  pG13F(gen)  *  pG01M(gen)...
        + D04  *  none  *  TCEm  *  pG13F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG13F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG13F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG01M(gen)...
        + D08  *  none  *  TCEm  *  pG14F(gen)  *  pG02M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  CLEm  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D16  *  none  *  CLEm  *  pG14F(gen)  *  pG06M(gen)...
        + (0 ...
        + D04  *  none  *  UNCm  *  pG01F(gen)  *  pG04M(gen)...
        + D02  *  none  *  none  *  pG01F(gen)  *  pG08M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG10M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  none  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TCEf  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TUCf  *  CLEm  *  pG02F(gen)  *  pG04M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG08M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG08M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG03M(gen)...
        + D04  *  TCUf  *  UNCm  *  pG03F(gen)  *  pG04M(gen)...
        + D04  *  TUHf  *  CLEm  *  pG03F(gen)  *  pG04M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG07M(gen)...
        + D02  *  TCUf  *  none  *  pG03F(gen)  *  pG08M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG09M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        )*(TMC)... 
        + (0 ...
        + D04  *  none  *  TUCm  *  pG04F(gen)  *  pG02M(gen)...
        + D04  *  none  *  UNCm  *  pG04F(gen)  *  pG04M(gen)...
        + D08  *  none  *  UNCm  *  pG04F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  CLEf  *  TUCm  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  UNCf  *  TCEm  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D08  *  CLEf  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  CLEm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  TUCm  *  pG06F(gen)  *  pG02M(gen)...
        + D04  *  UCHf  *  TCEm  *  pG06F(gen)  *  pG02M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D04  *  CEUf  *  UNCm  *  pG06F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  CLEm  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG06F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG07M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D08  *  none  *  UNCm  *  pG07F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG10M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG07M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*(MC)...
        + (0 ...
        + D08  *  TUCf  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG08M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  TUHf  *  UNCm  *  pG03F(gen)  *  pG04M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG08M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        )*(TMC*TMC)...
        + (0 ...
        + D08  *  UNCf  *  TUCm  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  TUCm  *  pG06F(gen)  *  pG02M(gen)...
        + D04  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*(MC*MC);

    pG05Ftemp(gen) = (0 ...
        + D04  *  none  *  UNCm  *  pG01F(gen)  *  pG04M(gen)...
        + D02  *  none  *  none  *  pG01F(gen)  *  pG08M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG10M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG03M(gen)...
        + D08  *  none  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TCEf  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D08  *  TUCf  *  CLEm  *  pG02F(gen)  *  pG04M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG08M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG08M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG03M(gen)...
        + D04  *  TCUf  *  UNCm  *  pG03F(gen)  *  pG04M(gen)...
        + D04  *  TUHf  *  CLEm  *  pG03F(gen)  *  pG04M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG07M(gen)...
        + D02  *  TCUf  *  none  *  pG03F(gen)  *  pG08M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG09M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        )*(1-TMC)... 
        + (0 ...
        + D04  *  none  *  TUCm  *  pG04F(gen)  *  pG02M(gen)...
        + D04  *  none  *  UNCm  *  pG04F(gen)  *  pG04M(gen)...
        + D08  *  none  *  UNCm  *  pG04F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG01M(gen)...
        + D08  *  CLEf  *  TUCm  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  UNCf  *  TCEm  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D08  *  CLEf  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  CLEm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  TUCm  *  pG06F(gen)  *  pG02M(gen)...
        + D04  *  UCHf  *  TCEm  *  pG06F(gen)  *  pG02M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D04  *  CEUf  *  UNCm  *  pG06F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  CLEm  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG06F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG07M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D08  *  none  *  UNCm  *  pG07F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG10M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG07M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*(1-MC)...
        + D02  *  none  *  TUCm  *  pG10F(gen)  *  pG02M(gen)...
        + D04  *  none  *  UNCm  *  pG10F(gen)  *  pG04M(gen)...
        + D04  *  none  *  UNCm  *  pG10F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG01M(gen)...
        + D04  *  none  *  TUCm  *  pG11F(gen)  *  pG02M(gen)...
        + D04  *  none  *  TCEm  *  pG11F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG03M(gen)...
        + D08  *  none  *  UNCm  *  pG11F(gen)  *  pG04M(gen)...
        + D08  *  none  *  CLEm  *  pG11F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG05M(gen)...
        + D08  *  none  *  UNCm  *  pG11F(gen)  *  pG06M(gen)...
        + D08  *  none  *  CLEm  *  pG11F(gen)  *  pG06M(gen)...
        + D02  *  none  *  none  *  pG12F(gen)  *  pG01M(gen)...
        + D02  *  none  *  TCEm  *  pG12F(gen)  *  pG02M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG03M(gen)...
        + D04  *  none  *  CLEm  *  pG12F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG05M(gen)...
        + D04  *  none  *  CLEm  *  pG12F(gen)  *  pG06M(gen)...
        + D04  *  none  *  TUCm  *  pG13F(gen)  *  pG02M(gen)...
        + D08  *  none  *  UNCm  *  pG13F(gen)  *  pG04M(gen)...
        + D08  *  none  *  UNCm  *  pG13F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG01M(gen)...
        + D08  *  none  *  TUCm  *  pG14F(gen)  *  pG02M(gen)...
        + D08  *  none  *  TCEm  *  pG14F(gen)  *  pG02M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  CLEm  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG06M(gen)...
        + D16  *  none  *  CLEm  *  pG14F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG01M(gen)...
        + D04  *  none  *  TCEm  *  pG15F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG15F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG15F(gen)  *  pG06M(gen)...
        + (0 ...
        + D08  *  TUCf  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG08M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  TUHf  *  UNCm  *  pG03F(gen)  *  pG04M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG08M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        )*(2*TMC*(1-TMC))...
        + (0 ...
        + D08  *  UNCf  *  TUCm  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  TUCm  *  pG06F(gen)  *  pG02M(gen)...
        + D04  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*(2*MC*(1-MC));

    pG06Ftemp(gen) = (0 ...
        + D08  *  TUCf  *  UNCm  *  pG02F(gen)  *  pG04M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG08M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  TUHf  *  UNCm  *  pG03F(gen)  *  pG04M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG08M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        )*((1-TMC)*(1-TMC))...
        + (0 ...
        + D08  *  UNCf  *  TUCm  *  pG05F(gen)  *  pG02M(gen)...
        + D08  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  TUCm  *  pG06F(gen)  *  pG02M(gen)...
        + D04  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*((1-MC)*(1-MC))...
        + D04  *  none  *  TUCm  *  pG11F(gen)  *  pG02M(gen)...
        + D08  *  none  *  UNCm  *  pG11F(gen)  *  pG04M(gen)...
        + D08  *  none  *  UNCm  *  pG11F(gen)  *  pG06M(gen)...
        + D02  *  none  *  TUCm  *  pG12F(gen)  *  pG02M(gen)...
        + D04  *  none  *  UNCm  *  pG12F(gen)  *  pG04M(gen)...
        + D04  *  none  *  UNCm  *  pG12F(gen)  *  pG06M(gen)...
        + D08  *  none  *  TUCm  *  pG14F(gen)  *  pG02M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG06M(gen)...
        + D04  *  none  *  TUCm  *  pG15F(gen)  *  pG02M(gen)...
        + D08  *  none  *  UNCm  *  pG15F(gen)  *  pG04M(gen)...
        + D08  *  none  *  UNCm  *  pG15F(gen)  *  pG06M(gen);

    pG07Ftemp(gen) = 0 ...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG05M(gen)...
        + D04  *  none  *  CLEm  *  pG01F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TCEf  *  CLEm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG05M(gen)...
        + D04  *  TCUf  *  CLEm  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG04F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  none  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  CLEm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG01M(gen)...
        + D04  *  none  *  TCEm  *  pG07F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG07F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG05M(gen)...
        + D04  *  none  *  CLEm  *  pG07F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  none  *  TCEm  *  pG08F(gen)  *  pG02M(gen)...
        + D08  *  CLEf  *  TCEm  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG06M(gen)...
        + D08  *  CLEf  *  CLEm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  TCEm  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  CLEm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D04  *  CEUf  *  CLEm  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG01M(gen)...
        + D04  *  none  *  TCEm  *  pG13F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG13F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG13F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG01M(gen)...
        + D08  *  none  *  TCEm  *  pG14F(gen)  *  pG02M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  CLEm  *  pG14F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D08  *  CLEf  *  none  *  pG14F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG01M(gen)...
        + D04  *  TCEf  *  none  *  pG17F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG03M(gen)...
        + D08  *  CLEf  *  none  *  pG17F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG05M(gen)...
        + D08  *  CLEf  *  none  *  pG17F(gen)  *  pG06M(gen)...
        + (0 ...
        + D04  *  none  *  UNCm  *  pG01F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG10M(gen)...
        + D02  *  none  *  none  *  pG01F(gen)  *  pG12M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  none  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TCEf  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TUCf  *  CLEm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG02F(gen)  *  pG12M(gen)...
        + D04  *  TCEf  *  none  *  pG02F(gen)  *  pG12M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG05M(gen)...
        + D04  *  TCUf  *  UNCm  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  TUHf  *  CLEm  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG09M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        + D02  *  TCUf  *  none  *  pG03F(gen)  *  pG12M(gen)...
        )*(TMC)... 
        + (0 ...
        + D08  *  UNCf  *  none  *  pG04F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG12M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D04  *  none  *  TUCm  *  pG07F(gen)  *  pG02M(gen)...
        + D08  *  none  *  UNCm  *  pG07F(gen)  *  pG04M(gen)...
        + D08  *  none  *  UNCm  *  pG07F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG12M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  none  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D08  *  CLEf  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D08  *  UNCf  *  TCEm  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  none  *  CLEm  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG06M(gen)...
        + D08  *  CLEf  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  CLEm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  TUCm  *  pG09F(gen)  *  pG02M(gen)...
        + D04  *  UCHf  *  TCEm  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D04  *  UCHf  *  CLEm  *  pG09F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG12M(gen)...
        )*(MC)...
        + (0 ...
        + D08  *  TUCf  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG12M(gen)...
        + D04  *  TUHf  *  UNCm  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG12M(gen)...
        )*(TMC*TMC)...
        + (0 ...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D08  *  UNCf  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D04  *  UCHf  *  TUCm  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG12M(gen)...
        )*(MC*MC);

    pG08Ftemp(gen) = (0 ...
        + D04  *  none  *  UNCm  *  pG01F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG01F(gen)  *  pG10M(gen)...
        + D02  *  none  *  none  *  pG01F(gen)  *  pG12M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG05M(gen)...
        + D08  *  none  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TCEf  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TUCf  *  CLEm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D08  *  TCEf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG02F(gen)  *  pG12M(gen)...
        + D04  *  TCEf  *  none  *  pG02F(gen)  *  pG12M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG05M(gen)...
        + D04  *  TCUf  *  UNCm  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  TUHf  *  CLEm  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG09M(gen)...
        + D04  *  TCUf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        + D02  *  TCUf  *  none  *  pG03F(gen)  *  pG12M(gen)...
        )*(1-TMC)... 
        + (0 ...
        + D08  *  UNCf  *  none  *  pG04F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG12M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D04  *  none  *  TUCm  *  pG07F(gen)  *  pG02M(gen)...
        + D08  *  none  *  UNCm  *  pG07F(gen)  *  pG04M(gen)...
        + D08  *  none  *  UNCm  *  pG07F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG12M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG01M(gen)...
        + D08  *  none  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D08  *  CLEf  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D08  *  UNCf  *  TCEm  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  none  *  CLEm  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG06M(gen)...
        + D08  *  CLEf  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D08  *  UNCf  *  CLEm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG01M(gen)...
        + D04  *  CEUf  *  TUCm  *  pG09F(gen)  *  pG02M(gen)...
        + D04  *  UCHf  *  TCEm  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D04  *  UCHf  *  CLEm  *  pG09F(gen)  *  pG06M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG12M(gen)...
        )*(1-MC)...
        + D04  *  none  *  TUCm  *  pG13F(gen)  *  pG02M(gen)...
        + D08  *  none  *  UNCm  *  pG13F(gen)  *  pG04M(gen)...
        + D08  *  none  *  UNCm  *  pG13F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG01M(gen)...
        + D08  *  none  *  TUCm  *  pG14F(gen)  *  pG02M(gen)...
        + D08  *  none  *  TCEm  *  pG14F(gen)  *  pG02M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  CLEm  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D08  *  none  *  UNCm  *  pG14F(gen)  *  pG06M(gen)...
        + D08  *  none  *  CLEm  *  pG14F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG01M(gen)...
        + D04  *  none  *  TCEm  *  pG15F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG15F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG15F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG01M(gen)...
        + D04  *  none  *  TUCm  *  pG17F(gen)  *  pG02M(gen)...
        + D04  *  none  *  TCEm  *  pG17F(gen)  *  pG02M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG03M(gen)...
        + D08  *  none  *  UNCm  *  pG17F(gen)  *  pG04M(gen)...
        + D08  *  none  *  CLEm  *  pG17F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG05M(gen)...
        + D08  *  none  *  UNCm  *  pG17F(gen)  *  pG06M(gen)...
        + D08  *  none  *  CLEm  *  pG17F(gen)  *  pG06M(gen)...
        + D02  *  none  *  none  *  pG18F(gen)  *  pG01M(gen)...
        + D02  *  none  *  TCEm  *  pG18F(gen)  *  pG02M(gen)...
        + D02  *  none  *  none  *  pG18F(gen)  *  pG03M(gen)...
        + D02  *  none  *  CLEm  *  pG18F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG05M(gen)...
        + D04  *  none  *  CLEm  *  pG18F(gen)  *  pG06M(gen)...
        + (0 ...
        + D08  *  TUCf  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG12M(gen)...
        + D04  *  TUHf  *  UNCm  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG12M(gen)...
        )*(2*TMC*(1-TMC))...
        + (0 ...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D08  *  UNCf  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D04  *  UCHf  *  TUCm  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG12M(gen)...
        )*(2*MC*(1-MC));

    pG09Ftemp(gen) = (0 ...
        + D08  *  TUCf  *  UNCm  *  pG02F(gen)  *  pG06M(gen)...
        + D08  *  TUCf  *  none  *  pG02F(gen)  *  pG10M(gen)...
        + D04  *  TUCf  *  none  *  pG02F(gen)  *  pG12M(gen)...
        + D04  *  TUHf  *  UNCm  *  pG03F(gen)  *  pG06M(gen)...
        + D04  *  TUHf  *  none  *  pG03F(gen)  *  pG10M(gen)...
        + D02  *  TUHf  *  none  *  pG03F(gen)  *  pG12M(gen)...
        )*((1-TMC)*(1-TMC))...
        + (0 ...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D08  *  UNCf  *  TUCm  *  pG08F(gen)  *  pG02M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D04  *  UCHf  *  TUCm  *  pG09F(gen)  *  pG02M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG12M(gen)...
        )*((1-MC)*(1-MC))...
        + D08  *  none  *  TUCm  *  pG14F(gen)  *  pG02M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG06M(gen)...
        + D04  *  none  *  TUCm  *  pG15F(gen)  *  pG02M(gen)...
        + D08  *  none  *  UNCm  *  pG15F(gen)  *  pG04M(gen)...
        + D08  *  none  *  UNCm  *  pG15F(gen)  *  pG06M(gen)...
        + D04  *  none  *  TUCm  *  pG17F(gen)  *  pG02M(gen)...
        + D08  *  none  *  UNCm  *  pG17F(gen)  *  pG04M(gen)...
        + D08  *  none  *  UNCm  *  pG17F(gen)  *  pG06M(gen)...
        + D02  *  none  *  TUCm  *  pG18F(gen)  *  pG02M(gen)...
        + D04  *  none  *  UNCm  *  pG18F(gen)  *  pG04M(gen)...
        + D04  *  none  *  UNCm  *  pG18F(gen)  *  pG06M(gen);

    pG10Ftemp(gen) = 0 ...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG03M(gen)...
        + D08  *  CLEf  *  none  *  pG04F(gen)  *  pG04M(gen)... 
        + D04  *  none  *  none  *  pG04F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  none  *  CLEm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  CLEm  *  pG05F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  CLEm  *  pG06F(gen)  *  pG04M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG07M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG03M(gen)...
        + D04  *  none  *  CLEm  *  pG10F(gen)  *  pG04M(gen)...
        + D02  *  none  *  none  *  pG10F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG11F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG13F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  CLEm  *  pG14F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG07M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG09M(gen)...
        + (0 ...
        + D08  *  none  *  UNCm  *  pG04F(gen)  *  pG04M(gen)... 
        + D04  *  none  *  none  *  pG04F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG10M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG05F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG06F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG07M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        )*(MC)...
        + (0 ...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        )*(MC*MC);

    pG11Ftemp(gen) = (0 ...
        + D08  *  none  *  UNCm  *  pG04F(gen)  *  pG04M(gen)... 
        + D04  *  none  *  none  *  pG04F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG10M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG05F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG06F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG06F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG07M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        )*((1-MC))...
        + D04  *  none  *  UNCm  *  pG10F(gen)  *  pG04M(gen)...
        + D02  *  none  *  none  *  pG10F(gen)  *  pG08M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG03M(gen)...
        + D08  *  none  *  UNCm  *  pG11F(gen)  *  pG04M(gen)...
        + D08  *  none  *  CLEm  *  pG11F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG03M(gen)...
        + D04  *  none  *  CLEm  *  pG12F(gen)  *  pG04M(gen)...
        + D02  *  none  *  none  *  pG12F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG09M(gen)...
        + D08  *  none  *  UNCm  *  pG13F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG10M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  CLEm  *  pG14F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG08M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG15F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG09M(gen)...
        + (0 ...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        )*(2*MC*(1-MC));

    pG12Ftemp(gen) = (0 ...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        )*((1-MC)*(1-MC))...
        + D08  *  none  *  UNCm  *  pG11F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG10M(gen)...
        + D04  *  none  *  UNCm  *  pG12F(gen)  *  pG04M(gen)...
        + D02  *  none  *  none  *  pG12F(gen)  *  pG08M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG10M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG08M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG10M(gen)...
        + D08  *  none  *  UNCm  *  pG15F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG10M(gen);

    pG13Ftemp(gen) = 0 ...
        + D08  *  none  *  none  *  pG04F(gen)  *  pG05M(gen)...
        + D08  *  CLEf  *  none  *  pG04F(gen)  *  pG06M(gen)... 
        + D08  *  none  *  none  *  pG04F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  none  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  CLEm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG07F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG05M(gen)...
        + D04  *  none  *  CLEm  *  pG10F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG11F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG13F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG13F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  CLEm  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D16  *  none  *  CLEm  *  pG14F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG17F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG09M(gen)...
        + (0 ...
        + D08  *  none  *  UNCm  *  pG04F(gen)  *  pG06M(gen)... 
        + D08  *  none  *  none  *  pG04F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG12M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  none  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D08  *  none  *  UNCm  *  pG07F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG10M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG07M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*(MC)...
        + (0 ...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*(MC*MC);

    pG14Ftemp(gen) = (0 ...
        + D08  *  none  *  UNCm  *  pG04F(gen)  *  pG06M(gen)... 
        + D08  *  none  *  none  *  pG04F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG04F(gen)  *  pG12M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG05M(gen)...
        + D16  *  none  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  CLEf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  CEUf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D08  *  none  *  UNCm  *  pG07F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG10M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG03M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG07M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*((1-MC))...
        + D04  *  none  *  UNCm  *  pG10F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG10F(gen)  *  pG10M(gen)...
        + D02  *  none  *  none  *  pG10F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG05M(gen)...
        + D08  *  none  *  UNCm  *  pG11F(gen)  *  pG06M(gen)...
        + D08  *  none  *  CLEm  *  pG11F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG12M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG05M(gen)...
        + D04  *  none  *  CLEm  *  pG12F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG09M(gen)...
        + D08  *  none  *  UNCm  *  pG13F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG12M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG03M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  CLEm  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG06M(gen)...
        + D16  *  none  *  CLEm  *  pG14F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG07M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG03M(gen)...
        + D08  *  none  *  CLEm  *  pG15F(gen)  *  pG04M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG15F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG03M(gen)...
        + D08  *  none  *  UNCm  *  pG17F(gen)  *  pG04M(gen)...
        + D08  *  none  *  CLEm  *  pG17F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG03M(gen)...
        + D04  *  none  *  CLEm  *  pG18F(gen)  *  pG04M(gen)...
        + D02  *  none  *  none  *  pG18F(gen)  *  pG07M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG09M(gen)...
        + (0 ...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*(2*MC*(1-MC));

    pG15Ftemp(gen) = (0 ...
        + D16  *  UNCf  *  UNCm  *  pG05F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG05F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG05F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG06F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG06F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG06F(gen)  *  pG12M(gen)...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG04M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG08M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG04M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG08M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        )*((1-MC)*(1-MC))...
        + D08  *  none  *  UNCm  *  pG11F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG11F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG11F(gen)  *  pG12M(gen)...
        + D04  *  none  *  UNCm  *  pG12F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG12F(gen)  *  pG10M(gen)...
        + D02  *  none  *  none  *  pG12F(gen)  *  pG12M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG04M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG12M(gen)...
        + D08  *  none  *  UNCm  *  pG15F(gen)  *  pG04M(gen)...
        + D08  *  none  *  UNCm  *  pG15F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG08M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG12M(gen)...
        + D08  *  none  *  UNCm  *  pG17F(gen)  *  pG04M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG08M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG10M(gen)...
        + D04  *  none  *  UNCm  *  pG18F(gen)  *  pG04M(gen)...
        + D02  *  none  *  none  *  pG18F(gen)  *  pG08M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG10M(gen);

    pG17Ftemp(gen) = (0 ...
        + D08  *  none  *  UNCm  *  pG07F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG07F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG07F(gen)  *  pG12M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG05M(gen)...
        + D16  *  none  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  CLEf  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  CLEm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D16  *  CLEf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D08  *  CLEf  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG05M(gen)...
        + D08  *  CEUf  *  UNCm  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  CLEm  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG09M(gen)...
        + D08  *  CEUf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D04  *  CEUf  *  none  *  pG09F(gen)  *  pG12M(gen)...
        )*(1-MC)...
        + D08  *  none  *  UNCm  *  pG13F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG13F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG13F(gen)  *  pG12M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG05M(gen)...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG06M(gen)...
        + D16  *  none  *  CLEm  *  pG14F(gen)  *  pG06M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG09M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG12M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG05M(gen)...
        + D08  *  none  *  CLEm  *  pG15F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG05M(gen)...
        + D08  *  none  *  UNCm  *  pG17F(gen)  *  pG06M(gen)...
        + D08  *  none  *  CLEm  *  pG17F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG09M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG12M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG05M(gen)...
        + D04  *  none  *  CLEm  *  pG18F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG09M(gen)...
        + (0 ...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG12M(gen)...
        )*(2*MC*(1-MC));

    pG18Ftemp(gen) = (0 ...
        + D16  *  UNCf  *  UNCm  *  pG08F(gen)  *  pG06M(gen)...
        + D16  *  UNCf  *  none  *  pG08F(gen)  *  pG10M(gen)...
        + D08  *  UNCf  *  none  *  pG08F(gen)  *  pG12M(gen)...
        + D08  *  UCHf  *  UNCm  *  pG09F(gen)  *  pG06M(gen)...
        + D08  *  UCHf  *  none  *  pG09F(gen)  *  pG10M(gen)...
        + D04  *  UCHf  *  none  *  pG09F(gen)  *  pG12M(gen)...
        )*((1-MC)*(1-MC))...
        + D16  *  none  *  UNCm  *  pG14F(gen)  *  pG06M(gen)...
        + D16  *  none  *  none  *  pG14F(gen)  *  pG10M(gen)...
        + D08  *  none  *  none  *  pG14F(gen)  *  pG12M(gen)...
        + D08  *  none  *  UNCm  *  pG15F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG15F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG15F(gen)  *  pG12M(gen)...
        + D08  *  none  *  UNCm  *  pG17F(gen)  *  pG06M(gen)...
        + D08  *  none  *  none  *  pG17F(gen)  *  pG10M(gen)...
        + D04  *  none  *  none  *  pG17F(gen)  *  pG12M(gen)...
        + D04  *  none  *  UNCm  *  pG18F(gen)  *  pG06M(gen)...
        + D04  *  none  *  none  *  pG18F(gen)  *  pG10M(gen)...
        + D02  *  none  *  none  *  pG18F(gen)  *  pG12M(gen);
    
    % Mutation of Cas9:
    pG01Mtemp2(gen) = pG01Mtemp(gen)*(1-mutCas9)^2;
    pG02Mtemp2(gen) = pG02Mtemp(gen)*(1-mutCas9)^2;
    pG03Mtemp2(gen) = pG03Mtemp(gen)*(1-mutCas9) + pG01Mtemp(gen)*2*mutCas9*(1-mutCas9);
    pG04Mtemp2(gen) = pG04Mtemp(gen)*(1-mutCas9) + pG02Mtemp(gen)*2*mutCas9*(1-mutCas9);
    pG05Mtemp2(gen) = pG05Mtemp(gen)*(1-mutCas9);
    pG06Mtemp2(gen) = pG06Mtemp(gen)*(1-mutCas9);
    pG07Mtemp2(gen) = pG07Mtemp(gen)+ pG03Mtemp(gen)*mutCas9 + pG01Mtemp(gen)*(mutCas9)^2;
    pG08Mtemp2(gen) = pG08Mtemp(gen)+ pG04Mtemp(gen)*mutCas9 + pG02Mtemp(gen)*(mutCas9)^2;
    pG09Mtemp2(gen) = pG09Mtemp(gen) + pG05Mtemp(gen)*mutCas9;
    pG10Mtemp2(gen) = pG10Mtemp(gen) + pG08Mtemp(gen)*mutCas9;
    pG12Mtemp2(gen) = pG12Mtemp(gen);
    
    pG01Ftemp2(gen) = pG01Ftemp(gen)*(1-mutCas9)^2;
    pG02Ftemp2(gen) = pG02Ftemp(gen)*(1-mutCas9)^2;
    pG03Ftemp2(gen) = pG03Ftemp(gen)*(1-mutCas9)^2;
    pG04Ftemp2(gen) = pG04Ftemp(gen)*(1-mutCas9) + pG01Ftemp(gen)*2*mutCas9*(1-mutCas9);
    pG05Ftemp2(gen) = pG05Ftemp(gen)*(1-mutCas9) + pG02Ftemp(gen)*2*mutCas9*(1-mutCas9);
    pG06Ftemp2(gen) = pG06Ftemp(gen)*(1-mutCas9) + pG03Ftemp(gen)*2*mutCas9*(1-mutCas9);
    pG07Ftemp2(gen) = pG07Ftemp(gen)*(1-mutCas9);
    pG08Ftemp2(gen) = pG08Ftemp(gen)*(1-mutCas9);
    pG09Ftemp2(gen) = pG09Ftemp(gen)*(1-mutCas9);
    pG10Ftemp2(gen) = pG10Ftemp(gen) + pG04Ftemp(gen)*mutCas9 + pG01Ftemp(gen)*(mutCas9)^2;
    pG11Ftemp2(gen) = pG11Ftemp(gen) + pG05Ftemp(gen)*mutCas9 + pG02Ftemp(gen)*(mutCas9)^2;
    pG12Ftemp2(gen) = pG12Ftemp(gen) + pG06Ftemp(gen)*mutCas9 + pG03Ftemp(gen)*(mutCas9)^2;
    pG13Ftemp2(gen) = pG13Ftemp(gen) + pG07Ftemp(gen)*mutCas9;
    pG14Ftemp2(gen) = pG14Ftemp(gen) + pG08Ftemp(gen)*mutCas9;
    pG15Ftemp2(gen) = pG15Ftemp(gen) + pG09Ftemp(gen)*mutCas9;
    pG17Ftemp2(gen) = pG17Ftemp(gen);
    pG18Ftemp2(gen) = pG18Ftemp(gen);
        
    % Normalizing constant (takes into account fitness costs):
    sigma(gen) = pG01Mtemp(gen)  *  (1-sG01M)...
        + pG02Mtemp(gen)  *  (1-sG02M)...
        + pG03Mtemp(gen)  *  (1-sG03M)...
        + pG04Mtemp(gen)  *  (1-sG04M)...
        + pG05Mtemp(gen)  *  (1-sG05M)...
        + pG06Mtemp(gen)  *  (1-sG06M)...
        + pG07Mtemp(gen)  *  (1-sG07M)...
        + pG08Mtemp(gen)  *  (1-sG08M)...
        + pG09Mtemp(gen)  *  (1-sG09M)...
        + pG10Mtemp(gen)  *  (1-sG10M)...
        + pG12Mtemp(gen)...
        + pG01Ftemp(gen)  *  (1-sG01F)...
        + pG02Ftemp(gen)  *  (1-sG02F)...
        + pG03Ftemp(gen)  *  (1-sG03F)...
        + pG04Ftemp(gen)  *  (1-sG04F)...
        + pG05Ftemp(gen)  *  (1-sG05F)...
        + pG06Ftemp(gen)  *  (1-sG06F)...
        + pG07Ftemp(gen)  *  (1-sG07F)...
        + pG08Ftemp(gen)  *  (1-sG08F)...
        + pG09Ftemp(gen)  *  (1-sG09F)...
        + pG10Ftemp(gen)  *  (1-sG10F)...
        + pG11Ftemp(gen)  *  (1-sG11F)...
        + pG12Ftemp(gen)  *  (1-sG12F)...
        + pG13Ftemp(gen)  *  (1-sG13F)...
        + pG14Ftemp(gen)  *  (1-sG14F)...
        + pG15Ftemp(gen)  *  (1-sG15F)...
        + pG17Ftemp(gen)  *  (1-sG17F)...
        + pG18Ftemp(gen);
    
    % Normalize genotype frequencies:
    if gen < numGensRelease
        % Taking into account new releases:
        pG01M(gen+1) = IF/2 + (1-IF)  *  pG01Mtemp(gen)  *  (1-sG01M)/sigma(gen);
        pG02M(gen+1) = (1-IF)  *  pG02Mtemp(gen)  *  (1-sG02M)/sigma(gen);
        pG03M(gen+1) = (1-IF)  *  pG03Mtemp(gen)  *  (1-sG03M)/sigma(gen);
        pG04M(gen+1) = (1-IF)  *  pG04Mtemp(gen)  *  (1-sG04M)/sigma(gen);
        pG05M(gen+1) = (1-IF)  *  pG05Mtemp(gen)  *  (1-sG05M)/sigma(gen);
        pG06M(gen+1) = (1-IF)  *  pG06Mtemp(gen)  *  (1-sG06M)/sigma(gen);
        pG07M(gen+1) = (1-IF)  *  pG07Mtemp(gen)  *  (1-sG07M)/sigma(gen);
        pG08M(gen+1) = (1-IF)  *  pG08Mtemp(gen)  *  (1-sG08M)/sigma(gen);
        pG09M(gen+1) = (1-IF)  *  pG09Mtemp(gen)  *  (1-sG09M)/sigma(gen);
        pG10M(gen+1) = (1-IF)  *  pG10Mtemp(gen)  *  (1-sG10M)/sigma(gen);
        pG12M(gen+1) = (1-IF)  *  pG12Mtemp(gen)/sigma(gen);
        pG01F(gen+1) = (1-IF)  *  pG01Ftemp(gen)  *  (1-sG01F)/sigma(gen);
        pG02F(gen+1) = (1-IF)  *  pG02Ftemp(gen)  *  (1-sG02F)/sigma(gen);
        pG03F(gen+1) = (1-IF)  *  pG03Ftemp(gen)  *  (1-sG03F)/sigma(gen);
        pG04F(gen+1) = (1-IF)  *  pG04Ftemp(gen)  *  (1-sG04F)/sigma(gen);
        pG05F(gen+1) = (1-IF)  *  pG05Ftemp(gen)  *  (1-sG05F)/sigma(gen);
        pG06F(gen+1) = (1-IF)  *  pG06Ftemp(gen)  *  (1-sG06F)/sigma(gen);
        pG07F(gen+1) = (1-IF)  *  pG07Ftemp(gen)  *  (1-sG07F)/sigma(gen);
        pG08F(gen+1) = (1-IF)  *  pG08Ftemp(gen)  *  (1-sG08F)/sigma(gen);
        pG09F(gen+1) = (1-IF)  *  pG09Ftemp(gen)  *  (1-sG09F)/sigma(gen);
        pG10F(gen+1) = (1-IF)  *  pG10Ftemp(gen)  *  (1-sG10F)/sigma(gen);
        pG11F(gen+1) = (1-IF)  *  pG11Ftemp(gen)  *  (1-sG11F)/sigma(gen);
        pG12F(gen+1) = (1-IF)  *  pG12Ftemp(gen)  *  (1-sG12F)/sigma(gen);
        pG13F(gen+1) = (1-IF)  *  pG13Ftemp(gen)  *  (1-sG13F)/sigma(gen);
        pG14F(gen+1) = (1-IF)  *  pG14Ftemp(gen)  *  (1-sG14F)/sigma(gen);
        pG15F(gen+1) = (1-IF)  *  pG15Ftemp(gen)  *  (1-sG15F)/sigma(gen);
        pG17F(gen+1) = (1-IF)  *  pG17Ftemp(gen)  *  (1-sG17F)/sigma(gen);
        pG18F(gen+1) = (1-IF)  *  pG18Ftemp(gen)/sigma(gen);
        
    else
        % In the absence of new releases:
        pG01M(gen+1) = pG01Mtemp(gen)  *  (1-sG01M)/sigma(gen);
        pG02M(gen+1) = pG02Mtemp(gen)  *  (1-sG02M)/sigma(gen);
        pG03M(gen+1) = pG03Mtemp(gen)  *  (1-sG03M)/sigma(gen);
        pG04M(gen+1) = pG04Mtemp(gen)  *  (1-sG04M)/sigma(gen);
        pG05M(gen+1) = pG05Mtemp(gen)  *  (1-sG05M)/sigma(gen);
        pG06M(gen+1) = pG06Mtemp(gen)  *  (1-sG06M)/sigma(gen);
        pG07M(gen+1) = pG07Mtemp(gen)  *  (1-sG07M)/sigma(gen);
        pG08M(gen+1) = pG08Mtemp(gen)  *  (1-sG08M)/sigma(gen);
        pG09M(gen+1) = pG09Mtemp(gen)  *  (1-sG09M)/sigma(gen);
        pG10M(gen+1) = pG10Mtemp(gen)  *  (1-sG10M)/sigma(gen);
        pG12M(gen+1) = pG12Mtemp(gen)/sigma(gen);
        pG01F(gen+1) = pG01Ftemp(gen)  *  (1-sG01F)/sigma(gen);
        pG02F(gen+1) = pG02Ftemp(gen)  *  (1-sG02F)/sigma(gen);
        pG03F(gen+1) = pG03Ftemp(gen)  *  (1-sG03F)/sigma(gen);
        pG04F(gen+1) = pG04Ftemp(gen)  *  (1-sG04F)/sigma(gen);
        pG05F(gen+1) = pG05Ftemp(gen)  *  (1-sG05F)/sigma(gen);
        pG06F(gen+1) = pG06Ftemp(gen)  *  (1-sG06F)/sigma(gen);
        pG07F(gen+1) = pG07Ftemp(gen)  *  (1-sG07F)/sigma(gen);
        pG08F(gen+1) = pG08Ftemp(gen)  *  (1-sG08F)/sigma(gen);
        pG09F(gen+1) = pG09Ftemp(gen)  *  (1-sG09F)/sigma(gen);
        pG10F(gen+1) = pG10Ftemp(gen)  *  (1-sG10F)/sigma(gen);
        pG11F(gen+1) = pG11Ftemp(gen)  *  (1-sG11F)/sigma(gen);
        pG12F(gen+1) = pG12Ftemp(gen)  *  (1-sG12F)/sigma(gen);
        pG13F(gen+1) = pG13Ftemp(gen)  *  (1-sG13F)/sigma(gen);
        pG14F(gen+1) = pG14Ftemp(gen)  *  (1-sG14F)/sigma(gen);
        pG15F(gen+1) = pG15Ftemp(gen)  *  (1-sG15F)/sigma(gen);
        pG17F(gen+1) = pG17Ftemp(gen)  *  (1-sG17F)/sigma(gen);
        pG18F(gen+1) = pG18Ftemp(gen)/sigma(gen);
    end
end
toc
%% Derived quantities (for plotting):

% g- generations of simulation
% Ptb-  % of population that bears at least one T
% Pnc-  % of population that bears at least one N
% Pc-  % of population that bears at least one copy of the cargo (T or N)
% Pta-  % of T alleles
% Pnca-  % of N alleles
% Pca-  % of cargo bearing alleles (T or N)
% Pwa-  % of wild type alleles
% Pthom- % of population that is homozygous for T
% Pthet- % of population that is heterzygous for T
g = linspace(0,numGens,numGens+1);
Ptb = 100*(pG01M+pG02M+pG03M+pG04M+pG05M+pG06M...
    +pG01F+pG02F+pG03F+pG04F+pG05F+pG06F+pG07F+pG08F+pG09F);
Pnc = 100*(pG03M+pG04M+pG07M+pG08M+pG09M+pG10M...
    +pG04F+pG05F+pG06F+pG10F+pG11F+pG12F+pG13F+pG14F+pG15F);
Pc = 100*(pG01M+pG02M+pG03M...
    +pG04M+pG05M+pG06M...
    +pG07M+pG08M+pG09M+pG10M...
    +pG01F+pG02F+pG03F...
    +pG04F+pG05F+pG06F...
    +pG07F+pG08F+pG09F...
    +pG10F+pG11F+pG12F...
    +pG13F+pG14F+pG15F);
Pthom = 100*(pG01M+pG02M+pG01F+pG02F+pG03F);
Pthet = 100*(pG05M+pG06M+pG07F+pG08F+pG09F);

Pta = 50*(2*pG01M+2*pG02M+pG03M+pG04M+pG05M+pG06M...
    +2*pG01F+2*pG02F+2*pG03F+pG04F+pG05F+pG06F+pG07F+pG08F+pG09F);

Pnca = 50*(pG03M+pG04M+2*pG07M+2*pG08M+pG09M+pG10M...
    +pG04F+pG05F+pG06F+2*pG10F+2*pG11F+2*pG12F+pG13F+pG14F+pG15F);

Pca = 50*(2*pG01M+2*pG02M+2*pG03M...
    +2*pG04M+pG05M+pG06M...
    +2*pG07M+2*pG08M+pG09M+pG10M...
    +2*pG01F+2*pG02F+2*pG03F...
    +2*pG04F+2*pG05F+2*pG06F...
    +pG07F+pG08F+pG09F...
    +2*pG10F+2*pG11F+2*pG12F...
    +pG13F+pG14F+pG15F);

Pwa = 50*(pG05M+pG06M+pG09M+pG10M+2*pG12M...
    +pG07F+pG08F+pG09F+pG13F+pG14F+pG15F+2*pG17F+2*pG18F);


% Plot single run
figure(2)
plot(g,Ptb,'r',g,Pnc,'b',g,Pc,'g','LineWidth', 3)
xlabel('Generation')
ylabel('Release Ratio (%)')
legend('Intact-Cas9 bearing', 'Null-Cas9 bearing', 'Cargo bearing')
set(gca,'FontSize',20)
set(gca,'FontWeight','bold')
set(gca,'Fontname','Arial')
axis([0 2000 0 100])