Quit

Manipulate[process[If[xmin≥ xmax,xmin=xmax-0.01,xmin],xmax,If[ymin≥ ymax,ymin=ymax-0.01,ymin],ymax,μx,μy,σx,σy,α],
{{xmin,-3 σx,"Min range of X"},-100,100,0.1,Appearance->"Labeled"},
{{xmax,3 σx,"Max range of X"},-100,100,0.1,Appearance->"Labeled"},
{{ymin,-3 σy,"Min range of Y"},-100,100,0.1,Appearance->"Labeled"},
{{ymax,3 σy,"Max range of Y"},-100,100,0.1,Appearance->"Labeled"},Delimiter,
{{μx,0,"Mean for X"},-10,10,0.1,Appearance->"Labeled"},
{{μy,0,"Mean for Y"},-10,10,0.1,Appearance->"Labeled"},Delimiter,
{{σx,1,"Variance for X"},0.0001,20,0.1,Appearance->"Labeled"},
{{σy,1,"Variance for Y"},0.0001,20,0.1,Appearance->"Labeled"},Delimiter,
{{α,0,"Alpha, parameter for\nFarlie-Morgenstern method"},-1,1,.01,Appearance->"Labeled"},
ControlPlacement->Top,Alignment->Left,
Initialization:>{process[xmin_,xmax_,ymin_,ymax_,μx_,μy_,σx_,σy_,α_]:=Module[{p1,p2,jointPDF, biCDF,xCDF,yCDF},
xCDF=CDF[NormalDistribution[μx,σx],x];
yCDF=CDF[NormalDistribution[μy,σy],y];
biCDF=xCDF yCDF(1+α(1-xCDF)(1-yCDF));
jointPDF=D[D[biCDF,x],y];
p1=Plot3D[jointPDF,{x,xmin,xmax},{y,ymin,ymax},PlotRange->All,PlotLabel->"Bivariate pdf for Normal distributions\nusing Farlie-Morgenstern method\n",AxesLabel->{"x","y","f(x,y)"},Mesh->30];
p2=Plot3D[biCDF,{x,xmin,xmax},{y,ymin,ymax},PlotRange->All,PlotLabel->"Bivariate CDF for Normal distributions\nusing Farlie-Morgenstern method\n",AxesLabel->{"x","y","CDF(x,y)"},Mesh->30];
GraphicsArray[{{p1,p2}} ,ImageSize->600]
]
}
]