```Date: Sep 15, 2013 7:00 AM
Author: Bob Hanlon
Subject: Re: FindRoot

In Part I, n -- as defined in the module -- is given a transient value bythe expressionn /. FindRoot[powerEST - (1 - \[Beta]), {n, 40}]Use Print statements to track what occurs.f[n_, p1_, p2_] :=  Sqrt[2 n] (ArcSin@Sqrt[p1 - 1/(2 n)] -     ArcSin@Sqrt[p2 + 1/(2 n)]);myModule1[=E1_, =E2_] := Module[{    A = ConstantArray["", {9, 9}], n, powerEST,    p1 = 0.2, p2 = 0.1, index1, index2, val},   aIf[p1 > p2,    powerEST = SurvivalFunction[      NormalDistribution[f[n, 0.2, 0.1], 1],      Quantile[NormalDistribution[], 1 - =E1]];    Print["array indices = ",     {index1 = IntegerPart[10 (p1 - 0.1)],      index2 = IntegerPart[10 p2]}];    Print[     val =      Ceiling[       n /.        FindRoot[powerEST - (1 - =E2), {n, 40},         EvaluationMonitor :> Print["n = ", n]]]]];   Print["But n was not set: n = ", n];   A[[index1, index2]] = val];myModule1[0.05,0.05]array indices = {1,1}n = 40.n = 154.16n = 226.772n = 271.381n = 287.216n = 288.886n = 288.903n = 288.903289But n was not set: n = n\$339289Bob HanlonOn Sat, Sep 14, 2013 at 6:03 AM, <bruce.colletti@gmail.com> wrote:> Re 9.0.1 under Windows 7.>> The code below is extracted from another source.>> Part I below returns 289 even though n is never given a value.  Why does> the module return a value and in particular, what does 289 mean?>> Part II doesn't return a value (as expected).  I don't see why Part I> returns a value but not Part II.>> Thanks.>> Bruce>>> In[1]:=> (* Part I *)> f[n_,p1_,p2_]:=Sqrt[2n](ArcSin@Sqrt[p1-1/(2n)]-ArcSin@Sqrt[p2+1/(2n)]);>>> myModule1[\[Alpha]_,\[Beta]_]:=Module[{A=ConstantArray["",{9,9}],n,po=werEST,p1=0.2,p2=0.1},> If[> p1>p2,>> powerEST=SurvivalFunction[NormalDistribution[f[n,0.2,0.1],1],Quantile[N=ormalDistribution[],1-\[Alpha]]];>>> A[[IntegerPart[10(p1-0.1)],IntegerPart[10p2]]]=Ceiling[n/.FindRoot[powe=rEST-(1-\[Beta]),{n,40}]]> ]> ];>> myModule1[0.05,0.05]> Out[3]= 289> In[4]:=> (* Part II *)> myModule2[\[Alpha]_,\[Beta]_]:=Module[{A=ConstantArray["",{9,9}],n},>> SurvivalFunction[NormalDistribution[f[n,0.2,0.1],1],Quantile[NormalDistri=bution[],1-\[Alpha]]]> ];>> myModule2[0.05,0.05]> Out[5]= 1/2 Erfc[(1.64485 -Sqrt[2] Sqrt[n\$272] (ArcSin[Sqrt[0.2 -1/(2> n\$272)]]-ArcSin[Sqrt[0.1 +1/(2 n\$272)]]))/Sqrt[2]]>>
```