JD Kromkowski

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 284 total)
  • Author
    Posts
  • in reply to: onnewrecord from form with detail block #3578
    JD Kromkowski
    Participant

    It sounds like every specimen is the Parent/Master table. So I’d have a unique ID for every specimen (which you probably do.) So specimen table has unique SpecimenID

    For your “pictures” you have a pictures table for each picture. Each record/picture as its unique ID (PictureId) AND it has a corresponding SpecimenID which is the link to the specimen table for a detailblock.

    Then you have a loan table. Each loan has its unique ID LoanID field, but it will also have corresponding SpecimenID which links to the Specimen being loaned.

    specimens
    pictures (pictures of a particular specimen)
    loans (loans of a particular specimen)

    You obviously know your data better than I do, so I could be missing something about your needs.

    in reply to: onnewrecord from form with detail block #3576
    JD Kromkowski
    Participant

    As a design principle, I am not quite understanding why a linking field that has .nul value should ever be chosen as a linking field. A field that is linking two tables should be a field (in my book) that MUST have non – .nul data.

    I use quite a few detailblocks. The first value in a child record is always going to be the linked value (which is programmatically assigned) and I used a dialog like a pop-up to create the child record. The act of closing the dialog always saves (well sometimes it could delete) the child record. So there is never a limbo situation like you are describing.

    JDK

    in reply to: Drilldown #3551
    JD Kromkowski
    Participant

    I have finally understood what you were telling me.

    Use tablesearch() temporarily INSTEAD of drilldown(). I didn’t understand until a recent email with Ian, that you could call tablesearch directly!

    I get it now. And wishing you speedy recovery.

    JDK

    in reply to: Drilldown #3547
    JD Kromkowski
    Participant

    I get passing those parameters but drilldown() doesn’t have those parameters to pass. They resident in tablesearch(), which is called within the drilldown.sml.

    I thought as a general rule we shouldn’t alter the .sml libraries. So while I can see how I would change parameters in tablesearch within the drilldown project, I obviously then would need to rebuild and thus change the sml.

    So what I was asking not clearly enough: Is there a way to set these parameters WITHOUT changing the drilldown.sml?

    in reply to: Logarithms #3542
    JD Kromkowski
    Participant

    // This is even better,
    //c John David Kromkowski 2017 free to use just attribute

    function main()
    string message,title
    anyvalue prompt
    number X, log
    integer e
    e = 0
    message = “Entry a number.”
    title = “log test”
    prompt = “”
    X = .toval(getuserinput(message,title,prompt, error =e),””,10)
    log = jdk_log(X)
    end function log

    function jdk_log(number X)
    number k, p, n
    p = 1
    k = 10
    // k is really any base
    n = 0
    if X < 1
    X = X * 100
    n = -2
    end if
    while X > k
    X = X/k
    n = n+1
    end while
    while
    k = sqrt(k,14)
    p = p/2
    while X > k
    X = X/k
    n = n+p
    end while
    end while p < 1/100000000000000

    end function round(n,1/100000000000000)

    in reply to: Drilldown #3541
    JD Kromkowski
    Participant

    “The tablesearch actually contains a feature to let you display the column widths so you can figure it out interactively during the development phase, then you turn it off for production.”

    So I see boolean showcolwidths. What’s the best way to go about this. Do I go into the dd project, change to .true and then rebuild the the whole drilldown.sml library as something new like drilldowntest.sml, include drilldowntest.sml and remove drilldown.sml. Then get proper values, fix code, then go back and remove drilldowntest and include original drilldown.sml.

    Or is there a simpler way to do this? like getting tsinfo and setting showcolwidths?

    in reply to: Logarithms #3540
    JD Kromkowski
    Participant

    //Maybe a better way to do logs base 10 that is “reasonably accurate” and doesn’t take too long
    //c John David Kromkowski 2017 free to use just attribute
    //Once I adjusted for crap results less that < 5, with a shift: I think there is even better way.

    constant log10_2 “0.30102999566398119521373889472449”

    function main()
    number n
    number log
    log = 0
    integer e
    e = 0
    string message,title
    anyvalue prompt
    message = “Entry a number.”
    title = “log test”
    prompt = “”
    n = .toval(getuserinput(message,title,prompt, error =e),””,10)
    log = jdk_log(n)
    end function .tostr(log,10)

    function jdk_log(number n)
    number log,log10,log3
    number eval, shift
    integer p
    p = 0
    eval = n
    shift = 0
    if n < 1/2
    eval = eval * 100
    shift = 2
    end if

    while eval > 1
    eval = eval/2
    p = p +1
    end while
    number x, x2, x3,x4, x5, x6, x7, x8, x9, x10
    number test10, test3
    x = eval
    x2 = x * x
    x3 = x2 * x
    x4 = x3 * x
    x5 = x4 * x
    x6 = x5 * x
    x7 = x6 * x
    x8 = x7 * x
    x9 = x8 * x
    x10 = x9 * x

    test10 = -(1436/1000)
    test10 = test10 + (5541/1000 * x)
    test10 = test10 – (12204/1000 * x2)
    test10 = test10 + (13987/1000 * x3)
    test10 = test10 + (0304/1000 * x4)
    test10 = test10 – (17075/1000 * x5)
    test10 = test10 + (4459/1000 * x6)
    test10 = test10 + (30204/1000 * x7)
    test10 = test10 – (42185/1000 * x8)
    test10 = test10 + (23255/1000 * x9)
    test10 = test10 – (4849/1000 * x10)

    test3 = -(944/1000)
    test3 = test3 + (1814/1000 * x)
    test3 = test3 – (1241/1000 * x2)
    test3 = test3 + (371/1000 * x3)

    log10 = p * .toval(log10_2,””,10) + round(test10,1/1000000) – shift
    log3 = p * .toval(log10_2,””,10) + round(test3,1/1000000) – shift
    log = round((log10 + log3 )/2,1/10000)
    end function log

    in reply to: Square Roots Mathlib.sma #3532
    JD Kromkowski
    Participant

    I see you went with brute force. Works! Thanks.

    in reply to: How Impor a CSV file into table? #3531
    JD Kromkowski
    Participant

    The code for dbconverter.sml doesn’t seem to be available. But if you add it to your project and take a look at dbCSVImport that might point you in right direction. I have no direct experience with this library.

    Without the dbconverter library, I’d think you’d start reinventing the wheel with something like

    fsfileinputstream f
    f =@ fsfileinputstream.new(“c:\mycvs.cvs”)

    Otherwise, you might ask Neil directly.

    in reply to: bitwise operators and sorts #3528
    JD Kromkowski
    Participant
    in reply to: bitwise operators and sorts #3527
    JD Kromkowski
    Participant

    Thanks for the response. Obviously, left shift, right shift, or complement operators are not a burning functional requirement. On the other hand, it is probably something that would make SIMPOL a more robust and attractive language in the future.

    As to function quicksortrit(array a, integer base, integer count)

    1. Could you clarify to what “base” and “count” are supposed to refer?

    I find myself just using quicksortrit(myarray, 0, myarray.count()) but what else could you use and why?

    2. The function alters myarray so that the first element is myarray[1] not myarray[0]. Is it supposed to work that way?

    in reply to: Logarithms #3523
    JD Kromkowski
    Participant

    // Ok ish for smaller numbers like under 15,
    // you could increase iterations but then things could get pretty slow
    // maybe dividing by 2 and using log(ab) = log(a) + log(b)
    // this would be a good way to learn how multi threading actually works in SBNG
    // eg, working on a and b in separate threads
    // http://www.machinedlearnings.com/2011/06/fast-approximate-logarithm-exponential.html wish my C was
    // better

    constant ln10 “2.30258509299”

    function main()
    integer i
    number n
    number ans10
    integer e
    e = 0
    i = 3
    string message,title
    anyvalue prompt
    message = “Entry a number.”
    title = “log test”
    prompt = “”
    n = .toval(getuserinput(message,title,prompt, error =e),””,10)
    number x
    x = (n-1)/(n+1);
    number sum

    sum = x
    while i <= 151
    sum = sum + raisetopower(x,i)/i
    i = i + 2
    end while
    sum = sum * 2

    ans10 = sum/.toval(ln10,””,10)
    end function .tostr(.fix(sum,100000000000),10) + ” is natural log ln of ” + .tostr(n,10) + “{d}{a}” + .tostr(.fix(ans10,100000000000),10) + ” is common log (log10) of ” + .tostr(n,10)

    in reply to: Logarithms #3522
    JD Kromkowski
    Participant

    This first works reasonably fast and is reasonably accurate for n less that 4. Following is one that is pretty fast for most integers. Next is one that is very accurate if you have all day. Finally, my C is not good enough to translate the last one. If no math.h, then there is solution made up of some combination.

    //************************************************************************
    //* Kromkowski log for less than 4
    //* Based on http://www.convict.lu/Jeunes/ultimate_stuff/exp_ln_2.htm
    //************************************************************************
    constant sLOG2_10 “3.32192809489”

    function main()
    integer d
    number n
    number ans2
    number ans10
    number pow2
    number numer
    number denom
    number eval
    integer e
    string message,title
    anyvalue prompt
    message = “Entry a number.”
    title = “log test”
    prompt = “”
    e = 0
    n = .toval(getuserinput(message,title,prompt, error =e),””,10)
    array digits
    digits =@ array.new()

    array LUT
    LUT =@ array.new()
    LUT[0] = “2.00000000000000000”
    LUT[1] = “1.41421353816986084”
    LUT[2] = “1.18920707702636719”
    LUT[3] = “1.09050774574279785”
    LUT[4] = “1.0442737340927124”
    LUT[5] = “1.02189719676971436”
    LUT[6] = “1.010889176330566”
    LUT[7] = “1.00542986392974853”
    LUT[8] = “1.00271129608154297”
    LUT[9] = “1.00135469436645508”
    LUT[10] = “1.00067710876464844”
    LUT[11] = “1.00033855438232422”
    LUT[12] = “1.00016927719116211”
    LUT[13] = “1.00008463859558105”
    LUT[14] = “1.0000423929779053”
    LUT[15] = “1.00002110004425049”
    LUT[16] = “1.00001060962677002”
    LUT[17] = “1.00000524520874023”
    LUT[18] = “1.00000262260437012”
    LUT[19] = “1.00000131130218506”
    LUT[20] = “1.0000007152557373”
    LUT[21] = “1.00000035762786865”
    LUT[22] = “1.00000011920928955”
    numer = n
    d = 0
    while d < 15
    denom = .toval(LUT[d],””,10)
    eval = numer/denom
    if eval < 1
    digits[d] = 0
    else
    digits[d] = 1
    numer = eval
    end if
    d = d + 1
    end while

    ans2 = 0
    ans10 = 0
    d = 0
    while digits[d] <> .nul
    pow2 = .fix(1/raisetopower(2,d),raisetopower(10,d+2))
    ans2 = ans2 + .fix((digits[d] * pow2),10000000000000)
    d = d+1
    end while
    ans10 = .fix(ans2/.toval(sLOG2_10,””,10),100000000000000)
    end function “The log of ” + .tostr(n,10) + ” is:{d}{a}” + .tostr(ans10,10)

    ****************************************************

    //************************************************************************
    //* Kromkowski log for most integers c2017
    //* When is it better to use a table rather than an array?
    //* Should be a way to turn any number into an integer keep track of multiplier
    //* And then use identity eg log(5.4) = log(54) – log(10)
    //************************************************************************

    function main()
    number n,p,q
    integer e
    e = 0
    string message,title
    anyvalue prompt
    message = “Entry an integer.”
    title = “log test”
    prompt = “”
    n = .toval(getuserinput(message,title,prompt, error =e),””,10)

    datetime dt
    dt=@ datetime.new()
    dt.setnow()
    array primes
    primes=@ array.new()
    array logs
    logs =@ array.new()
    LoadPrimes(primes, logs)

    array factors
    factors=@ array.new()
    integer t, i
    number answer
    string sResult
    sResult = “”
    i = 0

    factor(factors,n,primes)
    answer = 0
    while factors <> .nul
    answer = answer + logs[factors,”log”]
    i = i + 1
    end while

    sResult = .tostr(answer,10) + “is the log of ” + .tostr(n,10)
    t=datetime.new().setnow() – dt
    sResult=sResult + “{d}{a}” + “Time required was ” + .tostr(t/1000000000000,10) + “{d}{a}”
    end function sResult

    function factor(array factors, integer n, array primes)
    integer x
    x=n
    integer j, i, count
    count = primes.count()
    j=0
    i=1
    while i < count and i < sqrt(n,14) +1
    while n mod primes== 0
    factors[j]=primes
    n=n/primes
    j=j + 1
    end while
    i=i + 1
    end while
    if n <> 1
    factors[j]=n
    end if
    string test
    test=”here”
    end function

    function LoadPrimes(array primes, array logs)
    primes[1]=2;logs[primes[1],”log”]=.toval(“0.301029995663981″,””,10)
    primes[2]=3;logs[primes[2],”log”]=.toval(“0.477121254719662″,””,10)
    primes[3]=5;logs[primes[3],”log”]=.toval(“0.698970004336019″,””,10)
    primes[4]=7;logs[primes[4],”log”]=.toval(“0.845098040014257″,””,10)
    primes[5]=11;logs[primes[5],”log”]=.toval(“1.041392685158230″,””,10)
    primes[6]=13;logs[primes[6],”log”]=.toval(“1.113943352306840″,””,10)
    primes[7]=17;logs[primes[7],”log”]=.toval(“1.230448921378270″,””,10)
    primes[8]=19;logs[primes[8],”log”]=.toval(“1.278753600952830″,””,10)
    primes[9]=23;logs[primes[9],”log”]=.toval(“1.361727836017590″,””,10)
    primes[10]=29;logs[primes[10],”log”]=.toval(“1.462397997898960″,””,10)
    primes[11]=31;logs[primes[11],”log”]=.toval(“1.491361693834270″,””,10)
    primes[12]=37;logs[primes[12],”log”]=.toval(“1.568201724067000″,””,10)
    primes[13]=41;logs[primes[13],”log”]=.toval(“1.612783856719740″,””,10)
    primes[14]=43;logs[primes[14],”log”]=.toval(“1.633468455579590″,””,10)
    primes[15]=47;logs[primes[15],”log”]=.toval(“1.672097857935720″,””,10)
    primes[16]=53;logs[primes[16],”log”]=.toval(“1.724275869600790″,””,10)
    primes[17]=59;logs[primes[17],”log”]=.toval(“1.770852011642140″,””,10)
    primes[18]=61;logs[primes[18],”log”]=.toval(“1.785329835010770″,””,10)
    primes[19]=67;logs[primes[19],”log”]=.toval(“1.826074802700830″,””,10)
    primes[20]=71;logs[primes[20],”log”]=.toval(“1.851258348719080″,””,10)
    primes[21]=73;logs[primes[21],”log”]=.toval(“1.863322860120460″,””,10)
    primes[22]=79;logs[primes[22],”log”]=.toval(“1.897627091290440″,””,10)
    primes[23]=83;logs[primes[23],”log”]=.toval(“1.919078092376070″,””,10)
    primes[24]=89;logs[primes[24],”log”]=.toval(“1.949390006644910″,””,10)
    primes[25]=97;logs[primes[25],”log”]=.toval(“1.986771734266240″,””,10)
    primes[26]=101;logs[primes[26],”log”]=.toval(“2.004321373782640″,””,10)
    primes[27]=103;logs[primes[27],”log”]=.toval(“2.012837224705170″,””,10)
    primes[28]=107;logs[primes[28],”log”]=.toval(“2.029383777685210″,””,10)
    primes[29]=109;logs[primes[29],”log”]=.toval(“2.037426497940620″,””,10)
    primes[30]=113;logs[primes[30],”log”]=.toval(“2.053078443483420″,””,10)
    primes[31]=127;logs[primes[31],”log”]=.toval(“2.103803720955960″,””,10)
    primes[32]=131;logs[primes[32],”log”]=.toval(“2.117271295655760″,””,10)
    primes[33]=137;logs[primes[33],”log”]=.toval(“2.136720567156410″,””,10)
    primes[34]=139;logs[primes[34],”log”]=.toval(“2.143014800254100″,””,10)
    primes[35]=149;logs[primes[35],”log”]=.toval(“2.173186268412270″,””,10)
    primes[36]=151;logs[primes[36],”log”]=.toval(“2.178976947293170″,””,10)
    primes[37]=157;logs[primes[37],”log”]=.toval(“2.195899652409230″,””,10)
    primes[38]=163;logs[primes[38],”log”]=.toval(“2.212187604403960″,””,10)
    primes[39]=167;logs[primes[39],”log”]=.toval(“2.222716471147580″,””,10)
    primes[40]=173;logs[primes[40],”log”]=.toval(“2.238046103128800″,””,10)
    primes[41]=179;logs[primes[41],”log”]=.toval(“2.252853030979890″,””,10)
    primes[42]=181;logs[primes[42],”log”]=.toval(“2.257678574869180″,””,10)
    primes[43]=191;logs[primes[43],”log”]=.toval(“2.281033367247730″,””,10)
    primes[44]=193;logs[primes[44],”log”]=.toval(“2.285557309007770″,””,10)
    primes[45]=197;logs[primes[45],”log”]=.toval(“2.294466226161590″,””,10)
    primes[46]=199;logs[primes[46],”log”]=.toval(“2.298853076409710″,””,10)
    primes[47]=211;logs[primes[47],”log”]=.toval(“2.324282455297690″,””,10)
    primes[48]=223;logs[primes[48],”log”]=.toval(“2.348304863048160″,””,10)
    primes[49]=227;logs[primes[49],”log”]=.toval(“2.356025857193120″,””,10)
    primes[50]=229;logs[primes[50],”log”]=.toval(“2.359835482339890″,””,10)
    primes[51]=233;logs[primes[51],”log”]=.toval(“2.367355921026020″,””,10)
    primes[52]=239;logs[primes[52],”log”]=.toval(“2.378397900948140″,””,10)
    primes[53]=241;logs[primes[53],”log”]=.toval(“2.382017042574870″,””,10)
    primes[54]=251;logs[primes[54],”log”]=.toval(“2.399673721481040″,””,10)
    primes[55]=257;logs[primes[55],”log”]=.toval(“2.409933123331300″,””,10)
    primes[56]=263;logs[primes[56],”log”]=.toval(“2.419955748489760″,””,10)
    primes[57]=269;logs[primes[57],”log”]=.toval(“2.429752280002410″,””,10)
    primes[58]=271;logs[primes[58],”log”]=.toval(“2.432969290874410″,””,10)
    primes[59]=277;logs[primes[59],”log”]=.toval(“2.442479769064450″,””,10)
    primes[60]=281;logs[primes[60],”log”]=.toval(“2.448706319905080″,””,10)
    primes[61]=283;logs[primes[61],”log”]=.toval(“2.451786435524290″,””,10)
    primes[62]=293;logs[primes[62],”log”]=.toval(“2.466867620354110″,””,10)
    primes[63]=307;logs[primes[63],”log”]=.toval(“2.487138375477190″,””,10)
    primes[64]=311;logs[primes[64],”log”]=.toval(“2.492760389026840″,””,10)
    primes[65]=313;logs[primes[65],”log”]=.toval(“2.495544337546450″,””,10)
    primes[66]=317;logs[primes[66],”log”]=.toval(“2.501059262217750″,””,10)
    primes[67]=331;logs[primes[67],”log”]=.toval(“2.519827993775720″,””,10)
    primes[68]=337;logs[primes[68],”log”]=.toval(“2.527629900871340″,””,10)
    primes[69]=347;logs[primes[69],”log”]=.toval(“2.540329474790870″,””,10)
    primes[70]=349;logs[primes[70],”log”]=.toval(“2.542825426959180″,””,10)
    primes[71]=353;logs[primes[71],”log”]=.toval(“2.547774705387820″,””,10)
    primes[72]=359;logs[primes[72],”log”]=.toval(“2.555094448578320″,””,10)
    primes[73]=367;logs[primes[73],”log”]=.toval(“2.564666064252090″,””,10)
    primes[74]=373;logs[primes[74],”log”]=.toval(“2.571708831808690″,””,10)
    primes[75]=379;logs[primes[75],”log”]=.toval(“2.578639209968070″,””,10)
    primes[76]=383;logs[primes[76],”log”]=.toval(“2.583198773968620″,””,10)
    primes[77]=389;logs[primes[77],”log”]=.toval(“2.589949601325710″,””,10)
    primes[78]=397;logs[primes[78],”log”]=.toval(“2.598790506763120″,””,10)
    primes[79]=401;logs[primes[79],”log”]=.toval(“2.603144372620180″,””,10)
    primes[80]=409;logs[primes[80],”log”]=.toval(“2.611723308007340″,””,10)
    primes[81]=419;logs[primes[81],”log”]=.toval(“2.622214022966300″,””,10)
    primes[82]=421;logs[primes[82],”log”]=.toval(“2.624282095835670″,””,10)
    primes[83]=431;logs[primes[83],”log”]=.toval(“2.634477270160730″,””,10)
    primes[84]=433;logs[primes[84],”log”]=.toval(“2.636487896353370″,””,10)
    primes[85]=439;logs[primes[85],”log”]=.toval(“2.642464520242120″,””,10)
    primes[86]=443;logs[primes[86],”log”]=.toval(“2.646403726223070″,””,10)
    primes[87]=449;logs[primes[87],”log”]=.toval(“2.652246341003320″,””,10)
    primes[88]=457;logs[primes[88],”log”]=.toval(“2.659916200069850″,””,10)
    primes[89]=461;logs[primes[89],”log”]=.toval(“2.663700925389650″,””,10)
    primes[90]=463;logs[primes[90],”log”]=.toval(“2.665580991017950″,””,10)
    primes[91]=467;logs[primes[91],”log”]=.toval(“2.669316880566110″,””,10)
    primes[92]=479;logs[primes[92],”log”]=.toval(“2.680335513414560″,””,10)
    primes[93]=487;logs[primes[93],”log”]=.toval(“2.687528961214630″,””,10)
    primes[94]=491;logs[primes[94],”log”]=.toval(“2.691081492122970″,””,10)
    primes[95]=499;logs[primes[95],”log”]=.toval(“2.698100545623390″,””,10)
    primes[96]=503;logs[primes[96],”log”]=.toval(“2.701567985055930″,””,10)
    primes[97]=509;logs[primes[97],”log”]=.toval(“2.706717782336760″,””,10)
    primes[98]=521;logs[primes[98],”log”]=.toval(“2.716837723299530″,””,10)
    primes[99]=523;logs[primes[99],”log”]=.toval(“2.718501688867270″,””,10)
    primes[100]=541;logs[primes[100],”log”]=.toval(“2.733197265106570″,””,10)
    primes[101]=547;logs[primes[101],”log”]=.toval(“2.737987326333430″,””,10)
    primes[102]=557;logs[primes[102],”log”]=.toval(“2.745855195173730″,””,10)
    primes[103]=563;logs[primes[103],”log”]=.toval(“2.750508394851350″,””,10)
    primes[104]=569;logs[primes[104],”log”]=.toval(“2.755112266395070″,””,10)
    primes[105]=571;logs[primes[105],”log”]=.toval(“2.756636108245850″,””,10)
    primes[106]=577;logs[primes[106],”log”]=.toval(“2.761175813155730″,””,10)
    primes[107]=587;logs[primes[107],”log”]=.toval(“2.768638101247610″,””,10)
    primes[108]=593;logs[primes[108],”log”]=.toval(“2.773054693364260″,””,10)
    primes[109]=599;logs[primes[109],”log”]=.toval(“2.777426822389310″,””,10)
    primes[110]=601;logs[primes[110],”log”]=.toval(“2.778874472002740″,””,10)
    primes[111]=607;logs[primes[111],”log”]=.toval(“2.783188691075260″,””,10)
    primes[112]=613;logs[primes[112],”log”]=.toval(“2.787460474518420″,””,10)
    primes[113]=617;logs[primes[113],”log”]=.toval(“2.790285164033240″,””,10)
    primes[114]=619;logs[primes[114],”log”]=.toval(“2.791690649020120″,””,10)
    primes[115]=631;logs[primes[115],”log”]=.toval(“2.800029359244130″,””,10)
    primes[116]=641;logs[primes[116],”log”]=.toval(“2.806858029518820″,””,10)
    primes[117]=643;logs[primes[117],”log”]=.toval(“2.808210972924220″,””,10)
    primes[118]=647;logs[primes[118],”log”]=.toval(“2.810904280668700″,””,10)
    primes[119]=653;logs[primes[119],”log”]=.toval(“2.814913181275070″,””,10)
    primes[120]=659;logs[primes[120],”log”]=.toval(“2.818885414594010″,””,10)
    primes[121]=661;logs[primes[121],”log”]=.toval(“2.820201459485640″,””,10)
    primes[122]=673;logs[primes[122],”log”]=.toval(“2.828015064223980″,””,10)
    primes[123]=677;logs[primes[123],”log”]=.toval(“2.830588668685140″,””,10)
    primes[124]=683;logs[primes[124],”log”]=.toval(“2.834420703681530″,””,10)
    primes[125]=691;logs[primes[125],”log”]=.toval(“2.839478047374200″,””,10)
    primes[126]=701;logs[primes[126],”log”]=.toval(“2.845718017966660″,””,10)
    primes[127]=709;logs[primes[127],”log”]=.toval(“2.850646235183070″,””,10)
    primes[128]=719;logs[primes[128],”log”]=.toval(“2.856728890382880″,””,10)
    primes[129]=727;logs[primes[129],”log”]=.toval(“2.861534410859040″,””,10)
    primes[130]=733;logs[primes[130],”log”]=.toval(“2.865103974641130″,””,10)
    primes[131]=739;logs[primes[131],”log”]=.toval(“2.868644438394830″,””,10)
    primes[132]=743;logs[primes[132],”log”]=.toval(“2.870988813760580″,””,10)
    primes[133]=751;logs[primes[133],”log”]=.toval(“2.875639937004170″,””,10)
    primes[134]=757;logs[primes[134],”log”]=.toval(“2.879095879500070″,””,10)
    primes[135]=761;logs[primes[135],”log”]=.toval(“2.881384656770570″,””,10)
    primes[136]=769;logs[primes[136],”log”]=.toval(“2.885926339801430″,””,10)
    primes[137]=773;logs[primes[137],”log”]=.toval(“2.888179493918330″,””,10)
    primes[138]=787;logs[primes[138],”log”]=.toval(“2.895974732359070″,””,10)
    primes[139]=797;logs[primes[139],”log”]=.toval(“2.901458321396110″,””,10)
    primes[140]=809;logs[primes[140],”log”]=.toval(“2.907948521612270″,””,10)
    primes[141]=811;logs[primes[141],”log”]=.toval(“2.909020854211160″,””,10)
    primes[142]=821;logs[primes[142],”log”]=.toval(“2.914343157119440″,””,10)
    primes[143]=823;logs[primes[143],”log”]=.toval(“2.915399835212270″,””,10)
    primes[144]=827;logs[primes[144],”log”]=.toval(“2.917505509552550″,””,10)
    primes[145]=829;logs[primes[145],”log”]=.toval(“2.918554530550270″,””,10)
    primes[146]=839;logs[primes[146],”log”]=.toval(“2.923761960828700″,””,10)
    primes[147]=853;logs[primes[147],”log”]=.toval(“2.930949031167520″,””,10)
    primes[148]=857;logs[primes[148],”log”]=.toval(“2.932980821923200″,””,10)
    primes[149]=859;logs[primes[149],”log”]=.toval(“2.933993163831240″,””,10)
    primes[150]=863;logs[primes[150],”log”]=.toval(“2.936010795715210″,””,10)
    primes[151]=877;logs[primes[151],”log”]=.toval(“2.942999593366040″,””,10)
    primes[152]=881;logs[primes[152],”log”]=.toval(“2.944975908412050″,””,10)
    primes[153]=883;logs[primes[153],”log”]=.toval(“2.945960703577570″,””,10)
    primes[154]=887;logs[primes[154],”log”]=.toval(“2.947923619831730″,””,10)
    primes[155]=907;logs[primes[155],”log”]=.toval(“2.957607287060100″,””,10)
    primes[156]=911;logs[primes[156],”log”]=.toval(“2.959518376973000″,””,10)
    primes[157]=919;logs[primes[157],”log”]=.toval(“2.963315511386110″,””,10)
    primes[158]=929;logs[primes[158],”log”]=.toval(“2.968015713993640″,””,10)
    primes[159]=937;logs[primes[159],”log”]=.toval(“2.971739590887780″,””,10)
    primes[160]=941;logs[primes[160],”log”]=.toval(“2.973589623427260″,””,10)
    primes[161]=947;logs[primes[161],”log”]=.toval(“2.976349979003270″,””,10)
    primes[162]=953;logs[primes[162],”log”]=.toval(“2.979092900638330″,””,10)
    primes[163]=967;logs[primes[163],”log”]=.toval(“2.985426474083000″,””,10)
    primes[164]=971;logs[primes[164],”log”]=.toval(“2.987219229908010″,””,10)
    primes[165]=977;logs[primes[165],”log”]=.toval(“2.989894563718770″,””,10)
    primes[166]=983;logs[primes[166],”log”]=.toval(“2.992553517832140″,””,10)
    primes[167]=991;logs[primes[167],”log”]=.toval(“2.996073654485280″,””,10)
    primes[168]=997;logs[primes[168],”log”]=.toval(“2.998695158311660″,””,10)
    primes[169]=1009;logs[primes[169],”log”]=.toval(“3.003891166236910″,””,10)
    primes[170]=1013;logs[primes[170],”log”]=.toval(“3.005609445360280″,””,10)
    primes[171]=1019;logs[primes[171],”log”]=.toval(“3.008174184006430″,””,10)
    primes[172]=1021;logs[primes[172],”log”]=.toval(“3.009025742086910″,””,10)
    primes[173]=1031;logs[primes[173],”log”]=.toval(“3.013258665283520″,””,10)
    primes[174]=1033;logs[primes[174],”log”]=.toval(“3.014100321519620″,””,10)
    primes[175]=1039;logs[primes[175],”log”]=.toval(“3.016615547557180″,””,10)
    primes[176]=1049;logs[primes[176],”log”]=.toval(“3.020775488193560″,””,10)
    primes[177]=1051;logs[primes[177],”log”]=.toval(“3.021602716028240″,””,10)
    primes[178]=1061;logs[primes[178],”log”]=.toval(“3.025715383901340″,””,10)
    primes[179]=1063;logs[primes[179],”log”]=.toval(“3.026533264523300″,””,10)
    primes[180]=1069;logs[primes[180],”log”]=.toval(“3.028977705208780″,””,10)
    primes[181]=1087;logs[primes[181],”log”]=.toval(“3.036229544086300″,””,10)
    primes[182]=1091;logs[primes[182],”log”]=.toval(“3.037824750588340″,””,10)
    primes[183]=1093;logs[primes[183],”log”]=.toval(“3.038620161949700″,””,10)
    primes[184]=1097;logs[primes[184],”log”]=.toval(“3.040206627574710″,””,10)
    primes[185]=1103;logs[primes[185],”log”]=.toval(“3.042575512440190″,””,10)
    primes[186]=1109;logs[primes[186],”log”]=.toval(“3.044931546149160″,””,10)
    primes[187]=1117;logs[primes[187],”log”]=.toval(“3.048053173115610″,””,10)
    primes[188]=1123;logs[primes[188],”log”]=.toval(“3.050379756261460″,””,10)
    primes[189]=1129;logs[primes[189],”log”]=.toval(“3.052693941924970″,””,10)
    primes[190]=1151;logs[primes[190],”log”]=.toval(“3.061075323629790″,””,10)
    primes[191]=1153;logs[primes[191],”log”]=.toval(“3.061829307294700″,””,10)
    primes[192]=1163;logs[primes[192],”log”]=.toval(“3.065579714728450″,””,10)
    primes[193]=1171;logs[primes[193],”log”]=.toval(“3.068556895072360″,””,10)
    primes[194]=1181;logs[primes[194],”log”]=.toval(“3.072249897613520″,””,10)
    primes[195]=1187;logs[primes[195],”log”]=.toval(“3.074450718954590″,””,10)
    primes[196]=1193;logs[primes[196],”log”]=.toval(“3.076640443670340″,””,10)
    primes[197]=1201;logs[primes[197],”log”]=.toval(“3.079543007402910″,””,10)
    primes[198]=1213;logs[primes[198],”log”]=.toval(“3.083860800866570″,””,10)
    primes[199]=1217;logs[primes[199],”log”]=.toval(“3.085290578230070″,””,10)
    primes[200]=1223;logs[primes[200],”log”]=.toval(“3.087426457036290″,””,10)
    primes[201]=1229;logs[primes[201],”log”]=.toval(“3.089551882886450″,””,10)
    primes[202]=1231;logs[primes[202],”log”]=.toval(“3.090258052931320″,””,10)
    primes[203]=1237;logs[primes[203],”log”]=.toval(“3.092369699629120″,””,10)
    primes[204]=1249;logs[primes[204],”log”]=.toval(“3.096562438374140″,””,10)
    primes[205]=1259;logs[primes[205],”log”]=.toval(“3.100025730107860″,””,10)
    primes[206]=1277;logs[primes[206],”log”]=.toval(“3.106190897263420″,””,10)
    primes[207]=1279;logs[primes[207],”log”]=.toval(“3.106870544478650″,””,10)
    primes[208]=1283;logs[primes[208],”log”]=.toval(“3.108226656374930″,””,10)
    primes[209]=1289;logs[primes[209],”log”]=.toval(“3.110252917353400″,””,10)
    primes[210]=1291;logs[primes[210],”log”]=.toval(“3.110926242266420″,””,10)
    primes[211]=1297;logs[primes[211],”log”]=.toval(“3.112939976084080″,””,10)
    primes[212]=1301;logs[primes[212],”log”]=.toval(“3.114277296561590″,””,10)
    primes[213]=1303;logs[primes[213],”log”]=.toval(“3.114944415712590″,””,10)
    primes[214]=1307;logs[primes[214],”log”]=.toval(“3.116275587580540″,””,10)
    primes[215]=1319;logs[primes[215],”log”]=.toval(“3.120244795546370″,””,10)
    primes[216]=1321;logs[primes[216],”log”]=.toval(“3.120902817614530″,””,10)
    primes[217]=1327;logs[primes[217],”log”]=.toval(“3.122870922864440″,””,10)
    primes[218]=1361;logs[primes[218],”log”]=.toval(“3.133858125203340″,””,10)
    primes[219]=1367;logs[primes[219],”log”]=.toval(“3.135768514567820″,””,10)
    primes[220]=1373;logs[primes[220],”log”]=.toval(“3.137670537236760″,””,10)
    primes[221]=1381;logs[primes[221],”log”]=.toval(“3.140193678578630″,””,10)
    primes[222]=1399;logs[primes[222],”log”]=.toval(“3.145817714491830″,””,10)
    primes[223]=1409;logs[primes[223],”log”]=.toval(“3.148910993109360″,””,10)
    primes[224]=1423;logs[primes[224],”log”]=.toval(“3.153204900084280″,””,10)
    primes[225]=1427;logs[primes[225],”log”]=.toval(“3.154423973114650″,””,10)
    primes[226]=1429;logs[primes[226],”log”]=.toval(“3.155032228790970″,””,10)
    primes[227]=1433;logs[primes[227],”log”]=.toval(“3.156246190397340″,””,10)
    primes[228]=1439;logs[primes[228],”log”]=.toval(“3.158060793936610″,””,10)
    primes[229]=1447;logs[primes[229],”log”]=.toval(“3.160468531119040″,””,10)
    primes[230]=1451;logs[primes[230],”log”]=.toval(“3.161667412437740″,””,10)
    primes[231]=1453;logs[primes[231],”log”]=.toval(“3.162265614298020″,””,10)
    primes[232]=1459;logs[primes[232],”log”]=.toval(“3.164055291893450″,””,10)
    primes[233]=1471;logs[primes[233],”log”]=.toval(“3.167612672727530″,””,10)
    primes[234]=1481;logs[primes[234],”log”]=.toval(“3.170555058521210″,””,10)
    primes[235]=1483;logs[primes[235],”log”]=.toval(“3.171141151028380″,””,10)
    primes[236]=1487;logs[primes[236],”log”]=.toval(“3.172310968521950″,””,10)
    primes[237]=1489;logs[primes[237],”log”]=.toval(“3.172894697752180″,””,10)
    primes[238]=1493;logs[primes[238],”log”]=.toval(“3.174059807725030″,””,10)
    primes[239]=1499;logs[primes[239],”log”]=.toval(“3.175801632848280″,””,10)
    primes[240]=1511;logs[primes[240],”log”]=.toval(“3.179264464339030″,””,10)
    primes[241]=1523;logs[primes[241],”log”]=.toval(“3.182699903336040″,””,10)
    primes[242]=1531;logs[primes[242],”log”]=.toval(“3.184975190698260″,””,10)
    primes[243]=1543;logs[primes[243],”log”]=.toval(“3.188365926063150″,””,10)
    primes[244]=1549;logs[primes[244],”log”]=.toval(“3.190051417759210″,””,10)
    primes[245]=1553;logs[primes[245],”log”]=.toval(“3.191171455728560″,””,10)
    primes[246]=1559;logs[primes[246],”log”]=.toval(“3.192846115188840″,””,10)
    primes[247]=1567;logs[primes[247],”log”]=.toval(“3.195068996468590″,””,10)
    primes[248]=1571;logs[primes[248],”log”]=.toval(“3.196176185039970″,””,10)
    primes[249]=1579;logs[primes[249],”log”]=.toval(“3.198382130008290″,””,10)
    primes[250]=1583;logs[primes[250],”log”]=.toval(“3.199480914862360″,””,10)
    primes[251]=1597;logs[primes[251],”log”]=.toval(“3.203304916138480″,””,10)
    primes[252]=1601;logs[primes[252],”log”]=.toval(“3.204391331919300″,””,10)
    primes[253]=1607;logs[primes[253],”log”]=.toval(“3.206015876763340″,””,10)
    primes[254]=1609;logs[primes[254],”log”]=.toval(“3.206556044099030″,””,10)
    primes[255]=1613;logs[primes[255],”log”]=.toval(“3.207634367388960″,””,10)
    primes[256]=1619;logs[primes[256],”log”]=.toval(“3.209246848753370″,””,10)
    primes[257]=1621;logs[primes[257],”log”]=.toval(“3.209783014848520″,””,10)
    primes[258]=1627;logs[primes[258],”log”]=.toval(“3.211387552936860″,””,10)
    primes[259]=1637;logs[primes[259],”log”]=.toval(“3.214048679411940″,””,10)
    primes[260]=1657;logs[primes[260],”log”]=.toval(“3.219322508419340″,””,10)
    primes[261]=1663;logs[primes[261],”log”]=.toval(“3.220892249219520″,””,10)
    primes[262]=1667;logs[primes[262],”log”]=.toval(“3.221935599828010″,””,10)
    primes[263]=1669;logs[primes[263],”log”]=.toval(“3.222456336679250″,””,10)
    primes[264]=1693;logs[primes[264],”log”]=.toval(“3.228656958108940″,””,10)
    primes[265]=1697;logs[primes[265],”log”]=.toval(“3.229681842317680″,””,10)
    primes[266]=1699;logs[primes[266],”log”]=.toval(“3.230193378869050″,””,10)
    primes[267]=1709;logs[primes[267],”log”]=.toval(“3.232742062720740″,””,10)
    primes[268]=1721;logs[primes[268],”log”]=.toval(“3.235780870327560″,””,10)
    primes[269]=1723;logs[primes[269],”log”]=.toval(“3.236285277448030″,””,10)
    primes[270]=1733;logs[primes[270],”log”]=.toval(“3.238798562713920″,””,10)
    primes[271]=1741;logs[primes[271],”log”]=.toval(“3.240798771117330″,””,10)
    primes[272]=1747;logs[primes[272],”log”]=.toval(“3.242292904982930″,””,10)
    primes[273]=1753;logs[primes[273],”log”]=.toval(“3.243781916093800″,””,10)
    primes[274]=1759;logs[primes[274],”log”]=.toval(“3.245265839457460″,””,10)
    primes[275]=1777;logs[primes[275],”log”]=.toval(“3.249687427805300″,””,10)
    primes[276]=1783;logs[primes[276],”log”]=.toval(“3.251151343175350″,””,10)
    primes[277]=1787;logs[primes[277],”log”]=.toval(“3.252124552505640″,””,10)
    primes[278]=1789;logs[primes[278],”log”]=.toval(“3.252610340567370″,””,10)
    primes[279]=1801;logs[primes[279],”log”]=.toval(“3.255513712819530″,””,10)
    primes[280]=1811;logs[primes[280],”log”]=.toval(“3.257918450314060″,””,10)
    primes[281]=1823;logs[primes[281],”log”]=.toval(“3.260786668654980″,””,10)
    primes[282]=1831;logs[primes[282],”log”]=.toval(“3.262688344301700″,””,10)
    primes[283]=1847;logs[primes[283],”log”]=.toval(“3.266466895440240″,””,10)
    primes[284]=1861;logs[primes[284],”log”]=.toval(“3.269746373130770″,””,10)
    primes[285]=1867;logs[primes[285],”log”]=.toval(“3.271144317949080″,””,10)
    primes[286]=1871;logs[primes[286],”log”]=.toval(“3.272073787500010″,””,10)
    primes[287]=1873;logs[primes[287],”log”]=.toval(“3.272537777375240″,””,10)
    primes[288]=1877;logs[primes[288],”log”]=.toval(“3.273464272621350″,””,10)
    primes[289]=1879;logs[primes[289],”log”]=.toval(“3.273926780100530″,””,10)
    primes[290]=1889;logs[primes[290],”log”]=.toval(“3.276231957921830″,””,10)
    primes[291]=1901;logs[primes[291],”log”]=.toval(“3.278982116865440″,””,10)
    primes[292]=1907;logs[primes[292],”log”]=.toval(“3.280350693046010″,””,10)
    primes[293]=1913;logs[primes[293],”log”]=.toval(“3.281714970027300″,””,10)
    primes[294]=1931;logs[primes[294],”log”]=.toval(“3.285782273779400″,””,10)
    primes[295]=1933;logs[primes[295],”log”]=.toval(“3.286231854028550″,””,10)
    primes[296]=1949;logs[primes[296],”log”]=.toval(“3.289811839117620″,””,10)
    primes[297]=1951;logs[primes[297],”log”]=.toval(“3.290257269394520″,””,10)
    primes[298]=1973;logs[primes[298],”log”]=.toval(“3.295127085252190″,””,10)
    primes[299]=1979;logs[primes[299],”log”]=.toval(“3.296445794206400″,””,10)
    primes[300]=1987;logs[primes[300],”log”]=.toval(“3.298197867109820″,””,10)
    primes[301]=1993;logs[primes[301],”log”]=.toval(“3.299507298700490″,””,10)
    primes[302]=1997;logs[primes[302],”log”]=.toval(“3.300378064870700″,””,10)
    primes[303]=1999;logs[primes[303],”log”]=.toval(“3.300812794118120″,””,10)
    primes[304]=2003;logs[primes[304],”log”]=.toval(“3.301680949293580″,””,10)
    primes[305]=2011;logs[primes[305],”log”]=.toval(“3.303412070596740″,””,10)
    primes[306]=2017;logs[primes[306],”log”]=.toval(“3.304705898212770″,””,10)
    primes[307]=2027;logs[primes[307],”log”]=.toval(“3.306853748693010″,””,10)
    primes[308]=2029;logs[primes[308],”log”]=.toval(“3.307282047033350″,””,10)
    primes[309]=2039;logs[primes[309],”log”]=.toval(“3.309417225778140″,””,10)
    primes[310]=2053;logs[primes[310],”log”]=.toval(“3.312388949370590″,””,10)
    primes[311]=2063;logs[primes[311],”log”]=.toval(“3.314499227973150″,””,10)
    primes[312]=2069;logs[primes[312],”log”]=.toval(“3.315760490665740″,””,10)
    primes[313]=2081;logs[primes[313],”log”]=.toval(“3.318272080211630″,””,10)
    primes[314]=2083;logs[primes[314],”log”]=.toval(“3.318689269947750″,””,10)
    primes[315]=2087;logs[primes[315],”log”]=.toval(“3.319522449065450″,””,10)
    primes[316]=2089;logs[primes[316],”log”]=.toval(“3.319938439980310″,””,10)
    primes[317]=2099;logs[primes[317],”log”]=.toval(“3.322012438582400″,””,10)
    primes[318]=2111;logs[primes[318],”log”]=.toval(“3.324488233307660″,””,10)
    primes[319]=2113;logs[primes[319],”log”]=.toval(“3.324899497052310″,””,10)
    primes[320]=2129;logs[primes[320],”log”]=.toval(“3.328175661438320″,””,10)
    primes[321]=2131;logs[primes[321],”log”]=.toval(“3.328583449714200″,””,10)
    primes[322]=2137;logs[primes[322],”log”]=.toval(“3.329804522164070″,””,10)
    primes[323]=2141;logs[primes[323],”log”]=.toval(“3.330616667294440″,””,10)
    primes[324]=2143;logs[primes[324],”log”]=.toval(“3.331022171041830″,””,10)
    primes[325]=2153;logs[primes[325],”log”]=.toval(“3.333044029823490″,””,10)
    primes[326]=2161;logs[primes[326],”log”]=.toval(“3.334654766883240″,””,10)
    primes[327]=2179;logs[primes[327],”log”]=.toval(“3.338257230246260″,””,10)
    primes[328]=2203;logs[primes[328],”log”]=.toval(“3.343014497150770″,””,10)
    primes[329]=2207;logs[primes[329],”log”]=.toval(“3.343802333161660″,””,10)
    primes[330]=2213;logs[primes[330],”log”]=.toval(“3.344981413927260″,””,10)
    primes[331]=2221;logs[primes[331],”log”]=.toval(“3.346548558548470″,””,10)
    primes[332]=2237;logs[primes[332],”log”]=.toval(“3.349665984096630″,””,10)
    primes[333]=2239;logs[primes[333],”log”]=.toval(“3.350054093579030″,””,10)
    primes[334]=2243;logs[primes[334],”log”]=.toval(“3.350829273582970″,””,10)
    primes[335]=2251;logs[primes[335],”log”]=.toval(“3.352375495000520″,””,10)
    primes[336]=2267;logs[primes[336],”log”]=.toval(“3.355451520126520″,””,10)
    primes[337]=2269;logs[primes[337],”log”]=.toval(“3.355834495884940″,””,10)
    primes[338]=2273;logs[primes[338],”log”]=.toval(“3.356599435724970″,””,10)
    primes[339]=2281;logs[primes[339],”log”]=.toval(“3.358125285276650″,””,10)
    primes[340]=2287;logs[primes[340],”log”]=.toval(“3.359266164606750″,””,10)
    primes[341]=2293;logs[primes[341],”log”]=.toval(“3.360404054729940″,””,10)
    primes[342]=2297;logs[primes[342],”log”]=.toval(“3.361160995195030″,””,10)
    primes[343]=2309;logs[primes[343],”log”]=.toval(“3.363423932917180″,””,10)
    primes[344]=2311;logs[primes[344],”log”]=.toval(“3.363799945479110″,””,10)
    primes[345]=2333;logs[primes[345],”log”]=.toval(“3.367914738793750″,””,10)
    primes[346]=2339;logs[primes[346],”log”]=.toval(“3.369030221809150″,””,10)
    primes[347]=2341;logs[primes[347],”log”]=.toval(“3.369401413696620″,””,10)
    primes[348]=2347;logs[primes[348],”log”]=.toval(“3.370513089598590″,””,10)
    primes[349]=2351;logs[primes[349],”log”]=.toval(“3.371252629124940″,””,10)
    primes[350]=2357;logs[primes[350],”log”]=.toval(“3.372359582524320″,””,10)
    primes[351]=2371;logs[primes[351],”log”]=.toval(“3.374931553978190″,””,10)
    primes[352]=2377;logs[primes[352],”log”]=.toval(“3.376029181728180″,””,10)
    primes[353]=2381;logs[primes[353],”log”]=.toval(“3.376759395404880″,””,10)
    primes[354]=2383;logs[primes[354],”log”]=.toval(“3.377124042346460″,””,10)
    primes[355]=2389;logs[primes[355],”log”]=.toval(“3.378216149749880″,””,10)
    primes[356]=2393;logs[primes[356],”log”]=.toval(“3.378942698613440″,””,10)
    primes[357]=2399;logs[primes[357],”log”]=.toval(“3.380030247967830″,””,10)
    primes[358]=2411;logs[primes[358],”log”]=.toval(“3.382197210377450″,””,10)
    primes[359]=2417;logs[primes[359],”log”]=.toval(“3.383276650407650″,””,10)
    primes[360]=2423;logs[primes[360],”log”]=.toval(“3.384353414137510″,””,10)
    primes[361]=2437;logs[primes[361],”log”]=.toval(“3.386855529184720″,””,10)
    primes[362]=2441;logs[primes[362],”log”]=.toval(“3.387567779417190″,””,10)
    primes[363]=2447;logs[primes[363],”log”]=.toval(“3.388633969351790″,””,10)
    primes[364]=2459;logs[primes[364],”log”]=.toval(“3.390758528738720″,””,10)
    primes[365]=2467;logs[primes[365],”log”]=.toval(“3.392169149489740″,””,10)
    primes[366]=2473;logs[primes[366],”log”]=.toval(“3.393224116361300″,””,10)
    primes[367]=2477;logs[primes[367],”log”]=.toval(“3.393926006585840″,””,10)
    primes[368]=2503;logs[primes[368],”log”]=.toval(“3.398460849608220″,””,10)
    primes[369]=2521;logs[primes[369],”log”]=.toval(“3.401572845676450″,””,10)
    primes[370]=2531;logs[primes[370],”log”]=.toval(“3.403292145158250″,””,10)
    primes[371]=2539;logs[primes[371],”log”]=.toval(“3.404662700873720″,””,10)
    primes[372]=2543;logs[primes[372],”log”]=.toval(“3.405346360175710″,””,10)
    primes[373]=2549;logs[primes[373],”log”]=.toval(“3.406369835469270″,””,10)
    primes[374]=2551;logs[primes[374],”log”]=.toval(“3.406710458609790″,””,10)
    primes[375]=2557;logs[primes[375],”log”]=.toval(“3.407730728026340″,””,10)
    primes[376]=2579;logs[primes[376],”log”]=.toval(“3.411451342137940″,””,10)
    primes[377]=2591;logs[primes[377],”log”]=.toval(“3.413467412985830″,””,10)
    primes[378]=2593;logs[primes[378],”log”]=.toval(“3.413802516769350″,””,10)
    primes[379]=2609;logs[primes[379],”log”]=.toval(“3.416474079100220″,””,10)
    primes[380]=2617;logs[primes[380],”log”]=.toval(“3.417803722639880″,””,10)
    primes[381]=2621;logs[primes[381],”log”]=.toval(“3.418467020946600″,””,10)
    primes[382]=2633;logs[primes[382],”log”]=.toval(“3.420450859106070″,””,10)
    primes[383]=2647;logs[primes[383],”log”]=.toval(“3.422753941301350″,””,10)
    primes[384]=2657;logs[primes[384],”log”]=.toval(“3.424391554410280″,””,10)
    primes[385]=2659;logs[primes[385],”log”]=.toval(“3.424718337331570″,””,10)
    primes[386]=2663;logs[primes[386],”log”]=.toval(“3.425371166438940″,””,10)
    primes[387]=2671;logs[primes[387],”log”]=.toval(“3.426673888021370″,””,10)
    primes[388]=2677;logs[primes[388],”log”]=.toval(“3.427648371186930″,””,10)
    primes[389]=2683;logs[primes[389],”log”]=.toval(“3.428620672671940″,””,10)
    primes[390]=2687;logs[primes[390],”log”]=.toval(“3.429267666433170″,””,10)
    primes[391]=2689;logs[primes[391],”log”]=.toval(“3.429590802223300″,””,10)
    primes[392]=2693;logs[primes[392],”log”]=.toval(“3.430236353411510″,””,10)
    primes[393]=2699;logs[primes[393],”log”]=.toval(“3.431202884556520″,””,10)
    primes[394]=2707;logs[primes[394],”log”]=.toval(“3.432488255770510″,””,10)
    primes[395]=2711;logs[primes[395],”log”]=.toval(“3.433129517580490″,””,10)
    primes[396]=2713;logs[primes[396],”log”]=.toval(“3.433449793761600″,””,10)
    primes[397]=2719;logs[primes[397],”log”]=.toval(“3.434409207587500″,””,10)
    primes[398]=2729;logs[primes[398],”log”]=.toval(“3.436003535669900″,””,10)
    primes[399]=2731;logs[primes[399],”log”]=.toval(“3.436321700139730″,””,10)
    primes[400]=2741;logs[primes[400],”log”]=.toval(“3.437909035539500″,””,10)
    primes[401]=2749;logs[primes[401],”log”]=.toval(“3.439174739843470″,””,10)
    primes[402]=2753;logs[primes[402],”log”]=.toval(“3.439806211393330″,””,10)
    primes[403]=2767;logs[primes[403],”log”]=.toval(“3.442009159140950″,””,10)
    primes[404]=2777;logs[primes[404],”log”]=.toval(“3.443575879750260″,””,10)
    primes[405]=2789;logs[primes[405],”log”]=.toval(“3.445448514266050″,””,10)
    primes[406]=2791;logs[primes[406],”log”]=.toval(“3.445759836488630″,””,10)
    primes[407]=2797;logs[primes[407],”log”]=.toval(“3.446692466371530″,””,10)
    primes[408]=2801;logs[primes[408],”log”]=.toval(“3.447313108823570″,””,10)
    primes[409]=2803;logs[primes[409],”log”]=.toval(“3.447623097760290″,””,10)
    primes[410]=2819;logs[primes[410],”log”]=.toval(“3.450095075871600″,””,10)
    primes[411]=2833;logs[primes[411],”log”]=.toval(“3.452246574520440″,””,10)
    primes[412]=2837;logs[primes[412],”log”]=.toval(“3.452859335795850″,””,10)
    primes[413]=2843;logs[primes[413],”log”]=.toval(“3.453776859690440″,””,10)
    primes[414]=2851;logs[primes[414],”log”]=.toval(“3.454997217309460″,””,10)
    primes[415]=2857;logs[primes[415],”log”]=.toval(“3.455910240382740″,””,10)
    primes[416]=2861;logs[primes[416],”log”]=.toval(“3.456517857805260″,””,10)
    primes[417]=2879;logs[primes[417],”log”]=.toval(“3.459241664878080″,””,10)
    primes[418]=2887;logs[primes[418],”log”]=.toval(“3.460446783880720″,””,10)
    primes[419]=2897;logs[primes[419],”log”]=.toval(“3.461948495203760″,””,10)
    primes[420]=2903;logs[primes[420],”log”]=.toval(“3.462847035831670″,””,10)
    primes[421]=2909;logs[primes[421],”log”]=.toval(“3.463743721247060″,””,10)
    primes[422]=2917;logs[primes[422],”log”]=.toval(“3.464936429121730″,””,10)
    primes[423]=2927;logs[primes[423],”log”]=.toval(“3.466422722433790″,””,10)
    primes[424]=2939;logs[primes[424],”log”]=.toval(“3.468199586072610″,””,10)
    primes[425]=2953;logs[primes[425],”log”]=.toval(“3.470263446965080″,””,10)
    primes[426]=2957;logs[primes[426],”log”]=.toval(“3.470851324526120″,””,10)
    primes[427]=2963;logs[primes[427],”log”]=.toval(“3.471731651480050″,””,10)
    primes[428]=2969;logs[primes[428],”log”]=.toval(“3.472610197596050″,””,10)
    primes[429]=2971;logs[primes[429],”log”]=.toval(“3.472902651803660″,””,10)
    primes[430]=2999;logs[primes[430],”log”]=.toval(“3.476976465759530″,””,10)
    primes[431]=3001;logs[primes[431],”log”]=.toval(“3.477265995424850″,””,10)
    primes[432]=3011;logs[primes[432],”log”]=.toval(“3.478710755512760″,””,10)
    primes[433]=3019;logs[primes[433],”log”]=.toval(“3.479863113023100″,””,10)
    primes[434]=3023;logs[primes[434],”log”]=.toval(“3.480438147177820″,””,10)
    primes[435]=3037;logs[primes[435],”log”]=.toval(“3.482444791918270″,””,10)
    primes[436]=3041;logs[primes[436],”log”]=.toval(“3.483016420144130″,””,10)
    primes[437]=3049;logs[primes[437],”log”]=.toval(“3.484157424365380″,””,10)
    primes[438]=3061;logs[primes[438],”log”]=.toval(“3.485863329597330″,””,10)
    primes[439]=3067;logs[primes[439],”log”]=.toval(“3.486713775982490″,””,10)
    primes[440]=3079;logs[primes[440],”log”]=.toval(“3.488409688903200″,””,10)
    primes[441]=3083;logs[primes[441],”log”]=.toval(“3.488973524726510″,””,10)
    primes[442]=3089;logs[primes[442],”log”]=.toval(“3.489817908301450″,””,10)
    primes[443]=3109;logs[primes[443],”log”]=.toval(“3.492620722043190″,””,10)
    primes[444]=3119;logs[primes[444],”log”]=.toval(“3.494015374757140″,””,10)
    primes[445]=3121;logs[primes[445],”log”]=.toval(“3.494293768665330″,””,10)
    primes[446]=3137;logs[primes[446],”log”]=.toval(“3.496514518697750″,””,10)
    primes[447]=3163;logs[primes[447],”log”]=.toval(“3.500099191915720″,””,10)
    primes[448]=3167;logs[primes[448],”log”]=.toval(“3.500648063371910″,””,10)
    primes[449]=3169;logs[primes[449],”log”]=.toval(“3.500922239190300″,””,10)
    primes[450]=3181;logs[primes[450],”log”]=.toval(“3.502563669107360″,””,10)
    primes[451]=3187;logs[primes[451],”log”]=.toval(“3.503382063473730″,””,10)
    primes[452]=3191;logs[primes[452],”log”]=.toval(“3.503926804193510″,””,10)
    primes[453]=3203;logs[primes[453],”log”]=.toval(“3.505556938663820″,””,10)
    primes[454]=3209;logs[primes[454],”log”]=.toval(“3.506369717095500″,””,10)
    primes[455]=3217;logs[primes[455],”log”]=.toval(“3.507451060901970″,””,10)
    primes[456]=3221;logs[primes[456],”log”]=.toval(“3.507990724819690″,””,10)
    primes[457]=3229;logs[primes[457],”log”]=.toval(“3.509068045017160″,””,10)
    primes[458]=3251;logs[primes[458],”log”]=.toval(“3.512016969496130″,””,10)
    primes[459]=3253;logs[primes[459],”log”]=.toval(“3.512284063281850″,””,10)
    primes[460]=3257;logs[primes[460],”log”]=.toval(“3.512817758564870″,””,10)
    primes[461]=3259;logs[primes[461],”log”]=.toval(“3.513084360465140″,””,10)
    primes[462]=3271;logs[primes[462],”log”]=.toval(“3.514680544124980″,””,10)
    primes[463]=3299;logs[primes[463],”log”]=.toval(“3.518382315545340″,””,10)
    primes[464]=3301;logs[primes[464],”log”]=.toval(“3.518645524330310″,””,10)
    primes[465]=3307;logs[primes[465],”log”]=.toval(“3.519434194913700″,””,10)
    primes[466]=3313;logs[primes[466],”log”]=.toval(“3.520221435881960″,””,10)
    primes[467]=3319;logs[primes[467],”log”]=.toval(“3.521007252408600″,””,10)
    primes[468]=3323;logs[primes[468],”log”]=.toval(“3.521530341278710″,””,10)
    primes[469]=3329;logs[primes[469],”log”]=.toval(“3.522313795156670″,””,10)
    primes[470]=3331;logs[primes[470],”log”]=.toval(“3.522574632691180″,””,10)
    primes[471]=3343;logs[primes[471],”log”]=.toval(“3.524136376592570″,””,10)
    primes[472]=3347;logs[primes[472],”log”]=.toval(“3.524655712357780″,””,10)
    primes[473]=3359;logs[primes[473],”log”]=.toval(“3.526210003841660″,””,10)
    primes[474]=3361;logs[primes[474],”log”]=.toval(“3.526468512469480″,””,10)
    primes[475]=3371;logs[primes[475],”log”]=.toval(“3.527758752520970″,””,10)
    primes[476]=3373;logs[primes[476],”log”]=.toval(“3.528016341189200″,””,10)
    primes[477]=3389;logs[primes[477],”log”]=.toval(“3.530071568837380″,””,10)
    primes[478]=3391;logs[primes[478],”log”]=.toval(“3.530327789778090″,””,10)
    primes[479]=3407;logs[primes[479],”log”]=.toval(“3.532372133567880″,””,10)
    primes[480]=3413;logs[primes[480],”log”]=.toval(“3.533136288278640″,””,10)
    primes[481]=3433;logs[primes[481],”log”]=.toval(“3.535673803425750″,””,10)
    primes[482]=3449;logs[primes[482],”log”]=.toval(“3.537693194367390″,””,10)
    primes[483]=3457;logs[primes[483],”log”]=.toval(“3.538699379542410″,””,10)
    primes[484]=3461;logs[primes[484],”log”]=.toval(“3.539201599294130″,””,10)
    primes[485]=3463;logs[primes[485],”log”]=.toval(“3.539452491549460″,””,10)
    primes[486]=3467;logs[primes[486],”log”]=.toval(“3.539953841656400″,””,10)
    primes[487]=3469;logs[primes[487],”log”]=.toval(“3.540204299842060″,””,10)
    primes[488]=3491;logs[primes[488],”log”]=.toval(“3.542949848814180″,””,10)
    primes[489]=3499;logs[primes[489],”log”]=.toval(“3.543943942482910″,””,10)
    primes[490]=3511;logs[primes[490],”log”]=.toval(“3.545430829465350″,””,10)
    primes[491]=3517;logs[primes[491],”log”]=.toval(“3.546172368316940″,””,10)
    primes[492]=3527;logs[primes[492],”log”]=.toval(“3.547405459667490″,””,10)
    primes[493]=3529;logs[primes[493],”log”]=.toval(“3.547651658359970″,””,10)
    primes[494]=3533;logs[primes[494],”log”]=.toval(“3.548143637434850″,””,10)
    primes[495]=3539;logs[primes[495],”log”]=.toval(“3.548880562637520″,””,10)
    primes[496]=3541;logs[primes[496],”log”]=.toval(“3.549125926758110″,””,10)
    primes[497]=3547;logs[primes[497],”log”]=.toval(“3.549861188471940″,””,10)
    primes[498]=3557;logs[primes[498],”log”]=.toval(“3.551083865185780″,””,10)
    primes[499]=3559;logs[primes[499],”log”]=.toval(“3.551327988003850″,””,10)
    primes[500]=3571;logs[primes[500],”log”]=.toval(“3.552789850192780″,””,10)
    primes[501]=3581;logs[primes[501],”log”]=.toval(“3.554004321011900″,””,10)
    primes[502]=3583;logs[primes[502],”log”]=.toval(“3.554246808166110″,””,10)
    primes[503]=3593;logs[primes[503],”log”]=.toval(“3.555457217204650″,””,10)
    primes[504]=3607;logs[primes[504],”log”]=.toval(“3.557146142318360″,””,10)
    primes[505]=3613;logs[primes[505],”log”]=.toval(“3.557867961568020″,””,10)
    primes[506]=3617;logs[primes[506],”log”]=.toval(“3.558348508761620″,””,10)
    primes[507]=3623;logs[primes[507],”log”]=.toval(“3.559068334034540″,””,10)
    primes[508]=3631;logs[primes[508],”log”]=.toval(“3.560026248912890″,””,10)
    primes[509]=3637;logs[primes[509],”log”]=.toval(“3.560743301054710″,””,10)
    primes[510]=3643;logs[primes[510],”log”]=.toval(“3.561459171241920″,””,10)
    primes[511]=3659;logs[primes[511],”log”]=.toval(“3.563362409486610″,””,10)
    primes[512]=3671;logs[primes[512],”log”]=.toval(“3.564784384503990″,””,10)
    primes[513]=3673;logs[primes[513],”log”]=.toval(“3.565020928345290″,””,10)
    primes[514]=3677;logs[primes[514],”log”]=.toval(“3.565493629868860″,””,10)
    primes[515]=3691;logs[primes[515],”log”]=.toval(“3.567144045195660″,””,10)
    primes[516]=3697;logs[primes[516],”log”]=.toval(“3.567849450573110″,””,10)
    primes[517]=3701;logs[primes[517],”log”]=.toval(“3.568319085095110″,””,10)
    primes[518]=3709;logs[primes[518],”log”]=.toval(“3.569256833328610″,””,10)
    primes[519]=3719;logs[primes[519],”log”]=.toval(“3.570426178358970″,””,10)
    primes[520]=3727;logs[primes[520],”log”]=.toval(“3.571359392753840″,””,10)
    primes[521]=3733;logs[primes[521],”log”]=.toval(“3.572057989926300″,””,10)
    primes[522]=3739;logs[primes[522],”log”]=.toval(“3.572755465154220″,””,10)
    primes[523]=3761;logs[primes[523],”log”]=.toval(“3.575303333422400″,””,10)
    primes[524]=3767;logs[primes[524],”log”]=.toval(“3.575995620203270″,””,10)
    primes[525]=3769;logs[primes[525],”log”]=.toval(“3.576226137449610″,””,10)
    primes[526]=3779;logs[primes[526],”log”]=.toval(“3.577376891917020″,””,10)
    primes[527]=3793;logs[primes[527],”log”]=.toval(“3.578982842702790″,””,10)
    primes[528]=3797;logs[primes[528],”log”]=.toval(“3.579440597139800″,””,10)
    primes[529]=3803;logs[primes[529],”log”]=.toval(“3.580126325411580″,””,10)
    primes[530]=3821;logs[primes[530],”log”]=.toval(“3.582177037688410″,””,10)
    primes[531]=3823;logs[primes[531],”log”]=.toval(“3.582404298019030″,””,10)
    primes[532]=3833;logs[primes[532],”log”]=.toval(“3.583538819254350″,””,10)
    primes[533]=3847;logs[primes[533],”log”]=.toval(“3.585122186306820″,””,10)
    primes[534]=3851;logs[primes[534],”log”]=.toval(“3.585573518622730″,””,10)
    primes[535]=3853;logs[primes[535],”log”]=.toval(“3.585799009013000″,””,10)
    primes[536]=3863;logs[primes[536],”log”]=.toval(“3.586924708144820″,””,10)
    primes[537]=3877;logs[primes[537],”log”]=.toval(“3.588495801007210″,””,10)
    primes[538]=3881;logs[primes[538],”log”]=.toval(“3.588943642740020″,””,10)
    primes[539]=3889;logs[primes[539],”log”]=.toval(“3.589837943147460″,””,10)
    primes[540]=3907;logs[primes[540],”log”]=.toval(“3.591843411224780″,””,10)
    primes[541]=3911;logs[primes[541],”log”]=.toval(“3.592287815952130″,””,10)
    primes[542]=3917;logs[primes[542],”log”]=.toval(“3.592953571547870″,””,10)
    primes[543]=3919;logs[primes[543],”log”]=.toval(“3.593175263478100″,””,10)
    primes[544]=3923;logs[primes[544],”log”]=.toval(“3.593618308129540″,””,10)
    primes[545]=3929;logs[primes[545],”log”]=.toval(“3.594282028811810″,””,10)
    primes[546]=3931;logs[primes[546],”log”]=.toval(“3.594503043820090″,””,10)
    primes[547]=3943;logs[primes[547],”log”]=.toval(“3.595826777073220″,””,10)
    primes[548]=3947;logs[primes[548],”log”]=.toval(“3.596267126395520″,””,10)
    primes[549]=3967;logs[primes[549],”log”]=.toval(“3.598462200474150″,””,10)
    primes[550]=3989;logs[primes[550],”log”]=.toval(“3.600864036309840″,””,10)
    primes[551]=4001;logs[primes[551],”log”]=.toval(“3.602168551379000″,””,10)
    primes[552]=4003;logs[primes[552],”log”]=.toval(“3.602385590105110″,””,10)
    primes[553]=4007;logs[primes[553],”log”]=.toval(“3.602819342432700″,””,10)
    primes[554]=4013;logs[primes[554],”log”]=.toval(“3.603469159733840″,””,10)
    primes[555]=4019;logs[primes[555],”log”]=.toval(“3.604118006192040″,””,10)
    primes[556]=4021;logs[primes[556],”log”]=.toval(“3.604334073102910″,””,10)
    primes[557]=4027;logs[primes[557],”log”]=.toval(“3.604981629607430″,””,10)
    primes[558]=4049;logs[primes[558],”log”]=.toval(“3.607347776768410″,””,10)
    primes[559]=4051;logs[primes[559],”log”]=.toval(“3.607562243183590″,””,10)
    primes[560]=4057;logs[primes[560],”log”]=.toval(“3.608205007704330″,””,10)
    primes[561]=4073;logs[primes[561],”log”]=.toval(“3.609914410086000″,””,10)
    primes[562]=4079;logs[primes[562],”log”]=.toval(“3.610553705317090″,””,10)
    primes[563]=4091;logs[primes[563],”log”]=.toval(“3.611829479498370″,””,10)
    primes[564]=4093;logs[primes[564],”log”]=.toval(“3.612041744645270″,””,10)
    primes[565]=4099;logs[primes[565],”log”]=.toval(“3.612677918316500″,””,10)
    primes[566]=4111;logs[primes[566],”log”]=.toval(“3.613947476780350″,””,10)
    primes[567]=4127;logs[primes[567],”log”]=.toval(“3.615634468877420″,””,10)
    primes[568]=4129;logs[primes[568],”log”]=.toval(“3.615844882874700″,””,10)
    primes[569]=4133;logs[primes[569],”log”]=.toval(“3.616265405281710″,””,10)
    primes[570]=4139;logs[primes[570],”log”]=.toval(“3.616895426400760″,””,10)
    primes[571]=4153;logs[primes[571],”log”]=.toval(“3.618361931109880″,””,10)
    primes[572]=4157;logs[primes[572],”log”]=.toval(“3.618780024506220″,””,10)
    primes[573]=4159;logs[primes[573],”log”]=.toval(“3.618988920364930″,””,10)
    primes[574]=4177;logs[primes[574],”log”]=.toval(“3.620864475265120″,””,10)
    primes[575]=4201;logs[primes[575],”log”]=.toval(“3.623352681537990″,””,10)
    primes[576]=4211;logs[primes[576],”log”]=.toval(“3.624385241420270″,””,10)
    primes[577]=4217;logs[primes[577],”log”]=.toval(“3.625003601014860″,””,10)
    primes[578]=4219;logs[primes[578],”log”]=.toval(“3.625209525381880″,””,10)
    primes[579]=4229;logs[primes[579],”log”]=.toval(“3.626237685146900″,””,10)
    primes[580]=4231;logs[primes[580],”log”]=.toval(“3.626443025331290″,””,10)
    primes[581]=4241;logs[primes[581],”log”]=.toval(“3.627468272459710″,””,10)
    primes[582]=4243;logs[primes[582],”log”]=.toval(“3.627673031766620″,””,10)
    primes[583]=4253;logs[primes[583],”log”]=.toval(“3.628695382714020″,””,10)
    primes[584]=4259;logs[primes[584],”log”]=.toval(“3.629307640073750″,””,10)
    primes[585]=4261;logs[primes[585],”log”]=.toval(“3.629511534200450″,””,10)
    primes[586]=4271;logs[primes[586],”log”]=.toval(“3.630529571426820″,””,10)
    primes[587]=4273;logs[primes[587],”log”]=.toval(“3.630732892817200″,””,10)
    primes[588]=4283;logs[primes[588],”log”]=.toval(“3.631748074396570″,””,10)
    primes[589]=4289;logs[primes[589],”log”]=.toval(“3.632356046239070″,””,10)
    primes[590]=4297;logs[primes[590],”log”]=.toval(“3.633165353683900″,””,10)
    primes[591]=4327;logs[primes[591],”log”]=.toval(“3.636186895198720″,””,10)
    primes[592]=4337;logs[primes[592],”log”]=.toval(“3.637189422148760″,””,10)
    primes[593]=4339;logs[primes[593],”log”]=.toval(“3.637389650129210″,””,10)
    primes[594]=4349;logs[primes[594],”log”]=.toval(“3.638389407665340″,””,10)
    primes[595]=4357;logs[primes[595],”log”]=.toval(“3.639187559935750″,””,10)
    primes[596]=4363;logs[primes[596],”log”]=.toval(“3.639785212986820″,””,10)
    primes[597]=4373;logs[primes[597],”log”]=.toval(“3.640779477344860″,””,10)
    primes[598]=4391;logs[primes[598],”log”]=.toval(“3.642563437104390″,””,10)
    primes[599]=4397;logs[primes[599],”log”]=.toval(“3.643156465619710″,””,10)
    primes[600]=4409;logs[primes[600],”log”]=.toval(“3.644340098826320″,””,10)
    primes[601]=4421;logs[primes[601],”log”]=.toval(“3.645520514905870″,””,10)
    primes[602]=4423;logs[primes[602],”log”]=.toval(“3.645716939369600″,””,10)
    primes[603]=4441;logs[primes[603],”log”]=.toval(“3.647480773173680″,””,10)
    primes[604]=4447;logs[primes[604],”log”]=.toval(“3.648067129448940″,””,10)
    primes[605]=4451;logs[primes[605],”log”]=.toval(“3.648457594282520″,””,10)
    primes[606]=4457;logs[primes[606],”log”]=.toval(“3.649042634086180″,””,10)
    primes[607]=4463;logs[primes[607],”log”]=.toval(“3.649626886840530″,””,10)
    primes[608]=4481;logs[primes[608],”log”]=.toval(“3.651374943913040″,””,10)
    primes[609]=4483;logs[primes[609],”log”]=.toval(“3.651568738865790″,””,10)
    primes[610]=4493;logs[primes[610],”log”]=.toval(“3.652536418593030″,””,10)
    primes[611]=4507;logs[primes[611],”log”]=.toval(“3.653887558070980″,””,10)
    primes[612]=4513;logs[primes[612],”log”]=.toval(“3.654465333520150″,””,10)
    primes[613]=4517;logs[primes[613],”log”]=.toval(“3.654850090561390″,””,10)
    primes[614]=4519;logs[primes[614],”log”]=.toval(“3.655042341331200″,””,10)
    primes[615]=4523;logs[primes[615],”log”]=.toval(“3.655426587745920″,””,10)
    primes[616]=4547;logs[primes[616],”log”]=.toval(“3.657724954205110″,””,10)
    primes[617]=4549;logs[primes[617],”log”]=.toval(“3.657915936829960″,””,10)
    primes[618]=4561;logs[primes[618],”log”]=.toval(“3.659060072240940″,””,10)
    primes[619]=4567;logs[primes[619],”log”]=.toval(“3.659631011607000″,””,10)
    primes[620]=4583;logs[primes[620],”log”]=.toval(“3.661149857244790″,””,10)
    primes[621]=4591;logs[primes[621],”log”]=.toval(“3.661907292766020″,””,10)
    primes[622]=4597;logs[primes[622],”log”]=.toval(“3.662474503750310″,””,10)
    primes[623]=4603;logs[primes[623],”log”]=.toval(“3.663040974893970″,””,10)
    primes[624]=4621;logs[primes[624],”log”]=.toval(“3.664735968518710″,””,10)
    primes[625]=4637;logs[primes[625],”log”]=.toval(“3.666237095895800″,””,10)
    primes[626]=4639;logs[primes[626],”log”]=.toval(“3.666424372518760″,””,10)
    primes[627]=4643;logs[primes[627],”log”]=.toval(“3.666798683666170″,””,10)
    primes[628]=4649;logs[primes[628],”log”]=.toval(“3.667359546183090″,””,10)
    primes[629]=4651;logs[primes[629],”log”]=.toval(“3.667546339511520″,””,10)
    primes[630]=4657;logs[primes[630],”log”]=.toval(“3.668106237932730″,””,10)
    primes[631]=4663;logs[primes[631],”log”]=.toval(“3.668665415454490″,””,10)
    primes[632]=4673;logs[primes[632],”log”]=.toval(“3.669595781024310″,””,10)
    primes[633]=4679;logs[primes[633],”log”]=.toval(“3.670153045192180″,””,10)
    primes[634]=4691;logs[primes[634],”log”]=.toval(“3.671265432947160″,””,10)
    primes[635]=4703;logs[primes[635],”log”]=.toval(“3.672374978746080″,””,10)
    primes[636]=4721;logs[primes[636],”log”]=.toval(“3.674034000431260″,””,10)
    primes[637]=4723;logs[primes[637],”log”]=.toval(“3.674217945576700″,””,10)
    primes[638]=4729;logs[primes[638],”log”]=.toval(“3.674769314015430″,””,10)
    primes[639]=4733;logs[primes[639],”log”]=.toval(“3.675136504467990″,””,10)
    primes[640]=4751;logs[primes[640],”log”]=.toval(“3.676785030419210″,””,10)
    primes[641]=4759;logs[primes[641],”log”]=.toval(“3.677515704798760″,””,10)
    primes[642]=4783;logs[primes[642],”log”]=.toval(“3.679700380871960″,””,10)
    primes[643]=4787;logs[primes[643],”log”]=.toval(“3.680063427481950″,””,10)
    primes[644]=4789;logs[primes[644],”log”]=.toval(“3.680244837042610″,””,10)
    primes[645]=4793;logs[primes[645],”log”]=.toval(“3.680607428991790″,””,10)
    primes[646]=4799;logs[primes[646],”log”]=.toval(“3.681150749932420″,””,10)
    primes[647]=4801;logs[primes[647],”log”]=.toval(“3.681331705969170″,””,10)
    primes[648]=4813;logs[primes[648],”log”]=.toval(“3.682415861677360″,””,10)
    primes[649]=4817;logs[primes[649],”log”]=.toval(“3.682776646314430″,””,10)
    primes[650]=4831;logs[primes[650],”log”]=.toval(“3.684037037486520″,””,10)
    primes[651]=4861;logs[primes[651],”log”]=.toval(“3.686725621074540″,””,10)
    primes[652]=4871;logs[primes[652],”log”]=.toval(“3.687618129571770″,””,10)
    primes[653]=4877;logs[primes[653],”log”]=.toval(“3.688152755591570″,””,10)
    primes[654]=4889;logs[primes[654],”log”]=.toval(“3.689220037263840″,””,10)
    primes[655]=4903;logs[primes[655],”log”]=.toval(“3.690461893246180″,””,10)
    primes[656]=4909;logs[primes[656],”log”]=.toval(“3.690993032099870″,””,10)
    primes[657]=4919;logs[primes[657],”log”]=.toval(“3.691876822559330″,””,10)
    primes[658]=4931;logs[primes[658],”log”]=.toval(“3.692935002531140″,””,10)
    primes[659]=4933;logs[primes[659],”log”]=.toval(“3.693111115462140″,””,10)
    primes[660]=4937;logs[primes[660],”log”]=.toval(“3.693463127219530″,””,10)
    primes[661]=4943;logs[primes[661],”log”]=.toval(“3.693990610460780″,””,10)
    primes[662]=4951;logs[primes[662],”log”]=.toval(“3.694692926331480″,””,10)
    primes[663]=4957;logs[primes[663],”log”]=.toval(“3.695218918905150″,””,10)
    primes[664]=4967;logs[primes[664],”log”]=.toval(“3.696094159995220″,””,10)
    primes[665]=4969;logs[primes[665],”log”]=.toval(“3.696268996745530″,””,10)
    primes[666]=4973;logs[primes[666],”log”]=.toval(“3.696618459232230″,””,10)
    primes[667]=4987;logs[primes[667],”log”]=.toval(“3.697839368218360″,””,10)
    primes[668]=4993;logs[primes[668],”log”]=.toval(“3.698361566055110″,””,10)
    primes[669]=4999;logs[primes[669],”log”]=.toval(“3.698883136752590″,””,10)
    primes[670]=5003;logs[primes[670],”log”]=.toval(“3.699230502883410″,””,10)
    primes[671]=5009;logs[primes[671],”log”]=.toval(“3.699751031689510″,””,10)
    primes[672]=5011;logs[primes[672],”log”]=.toval(“3.699924402742480″,””,10)
    primes[673]=5021;logs[primes[673],”log”]=.toval(“3.700790221374350″,””,10)
    primes[674]=5023;logs[primes[674],”log”]=.toval(“3.700963178159550″,””,10)
    primes[675]=5039;logs[primes[675],”log”]=.toval(“3.702344358355770″,””,10)
    primes[676]=5051;logs[primes[676],”log”]=.toval(“3.703377368512350″,””,10)
    primes[677]=5059;logs[primes[677],”log”]=.toval(“3.704064679408570″,””,10)
    primes[678]=5077;logs[primes[678],”log”]=.toval(“3.705607163404610″,””,10)
    primes[679]=5081;logs[primes[679],”log”]=.toval(“3.705949194910300″,””,10)
    primes[680]=5087;logs[primes[680],”log”]=.toval(“3.706461737631360″,””,10)
    primes[681]=5099;logs[primes[681],”log”]=.toval(“3.707485011967470″,””,10)
    primes[682]=5101;logs[primes[682],”log”]=.toval(“3.707655323531190″,””,10)
    primes[683]=5107;logs[primes[683],”log”]=.toval(“3.708165857855540″,””,10)
    primes[684]=5113;logs[primes[684],”log”]=.toval(“3.708675792726540″,””,10)
    primes[685]=5119;logs[primes[685],”log”]=.toval(“3.709185129550250″,””,10)
    primes[686]=5147;logs[primes[686],”log”]=.toval(“3.711554168250170″,””,10)
    primes[687]=5153;logs[primes[687],”log”]=.toval(“3.712060142461080″,””,10)
    primes[688]=5167;logs[primes[688],”log”]=.toval(“3.713238461545660″,””,10)
    primes[689]=5171;logs[primes[689],”log”]=.toval(“3.713574537772070″,””,10)
    primes[690]=5179;logs[primes[690],”log”]=.toval(“3.714245911017890″,””,10)
    primes[691]=5189;logs[primes[691],”log”]=.toval(“3.715083670694930″,””,10)
    primes[692]=5197;logs[primes[692],”log”]=.toval(“3.715752716822860″,””,10)
    primes[693]=5209;logs[primes[693],”log”]=.toval(“3.716754357432700″,””,10)
    primes[694]=5227;logs[primes[694],”log”]=.toval(“3.718252500097750″,””,10)
    primes[695]=5231;logs[primes[695],”log”]=.toval(“3.718584720027440″,””,10)
    primes[696]=5233;logs[primes[696],”log”]=.toval(“3.718750734739670″,””,10)
    primes[697]=5237;logs[primes[697],”log”]=.toval(“3.719082573901490″,””,10)
    primes[698]=5261;logs[primes[698],”log”]=.toval(“3.721068301797160″,””,10)
    primes[699]=5273;logs[primes[699],”log”]=.toval(“3.722057771331460″,””,10)
    primes[700]=5279;logs[primes[700],”log”]=.toval(“3.722551662000960″,””,10)
    primes[701]=5281;logs[primes[701],”log”]=.toval(“3.722716167488500″,””,10)
    primes[702]=5297;logs[primes[702],”log”]=.toval(“3.724029972935600″,””,10)
    primes[703]=5303;logs[primes[703],”log”]=.toval(“3.724521627118560″,””,10)
    primes[704]=5309;logs[primes[704],”log”]=.toval(“3.725012725341160″,””,10)
    primes[705]=5323;logs[primes[705],”log”]=.toval(“3.726156466172760″,””,10)
    primes[706]=5333;logs[primes[706],”log”]=.toval(“3.726971583682880″,””,10)
    primes[707]=5347;logs[primes[707],”log”]=.toval(“3.728110184100340″,””,10)
    primes[708]=5351;logs[primes[708],”log”]=.toval(“3.728434950974260″,””,10)
    primes[709]=5381;logs[primes[709],”log”]=.toval(“3.730862992046490″,””,10)
    primes[710]=5387;logs[primes[710],”log”]=.toval(“3.731346975545960″,””,10)
    primes[711]=5393;logs[primes[711],”log”]=.toval(“3.731830420288160″,””,10)
    primes[712]=5399;logs[primes[712],”log”]=.toval(“3.732313327471240″,””,10)
    primes[713]=5407;logs[primes[713],”log”]=.toval(“3.732956369575620″,””,10)
    primes[714]=5413;logs[primes[714],”log”]=.toval(“3.733438027091060″,””,10)
    primes[715]=5417;logs[primes[715],”log”]=.toval(“3.733758835587200″,””,10)
    primes[716]=5419;logs[primes[716],”log”]=.toval(“3.733919151012390″,””,10)
    primes[717]=5431;logs[primes[717],”log”]=.toval(“3.734879802792630″,””,10)
    primes[718]=5437;logs[primes[718],”log”]=.toval(“3.735359333001710″,””,10)
    primes[719]=5441;logs[primes[719],”log”]=.toval(“3.735678725905910″,””,10)
    primes[720]=5443;logs[primes[720],”log”]=.toval(“3.735838334317070″,””,10)
    primes[721]=5449;logs[primes[721],”log”]=.toval(“3.736316807904110″,””,10)
    primes[722]=5471;logs[primes[722],”log”]=.toval(“3.738066714777470″,””,10)
    primes[723]=5477;logs[primes[723],”log”]=.toval(“3.738542740928790″,””,10)
    primes[724]=5479;logs[primes[724],”log”]=.toval(“3.738701300434710″,””,10)
    primes[725]=5483;logs[primes[725],”log”]=.toval(“3.739018245883480″,””,10)
    primes[726]=5501;logs[primes[726],”log”]=.toval(“3.740441644949770″,””,10)
    primes[727]=5503;logs[primes[727],”log”]=.toval(“3.740599512811160″,””,10)
    primes[728]=5507;logs[primes[728],”log”]=.toval(“3.740915076481280″,””,10)
    primes[729]=5519;logs[primes[729],”log”]=.toval(“3.741860394065260″,””,10)
    primes[730]=5521;logs[primes[730],”log”]=.toval(“3.742017747140140″,””,10)
    primes[731]=5527;logs[primes[731],”log”]=.toval(“3.742489464581780″,””,10)
    primes[732]=5531;logs[primes[732],”log”]=.toval(“3.742803658469170″,””,10)
    primes[733]=5557;logs[primes[733],”log”]=.toval(“3.744840396785380″,””,10)
    primes[734]=5563;logs[primes[734],”log”]=.toval(“3.745309059940830″,””,10)
    primes[735]=5569;logs[primes[735],”log”]=.toval(“3.745777217889760″,””,10)
    primes[736]=5573;logs[primes[736],”log”]=.toval(“3.746089043056200″,””,10)
    primes[737]=5581;logs[primes[737],”log”]=.toval(“3.746712022516660″,””,10)
    primes[738]=5591;logs[primes[738],”log”]=.toval(“3.747489492258670″,””,10)
    primes[739]=5623;logs[primes[739],”log”]=.toval(“3.749968083509400″,””,10)
    primes[740]=5639;logs[primes[740],”log”]=.toval(“3.751202094588350″,””,10)
    primes[741]=5641;logs[primes[741],”log”]=.toval(“3.751356099725390″,””,10)
    primes[742]=5647;logs[primes[742],”log”]=.toval(“3.751817787736880″,””,10)
    primes[743]=5651;logs[primes[743],”log”]=.toval(“3.752125307297900″,””,10)
    primes[744]=5653;logs[primes[744],”log”]=.toval(“3.752278985460120″,””,10)
    primes[745]=5657;logs[primes[745],”log”]=.toval(“3.752586178740410″,””,10)
    primes[746]=5659;logs[primes[746],”log”]=.toval(“3.752739693935330″,””,10)
    primes[747]=5669;logs[primes[747],”log”]=.toval(“3.753506456990970″,””,10)
    primes[748]=5683;logs[primes[748],”log”]=.toval(“3.754577656044730″,””,10)
    primes[749]=5689;logs[primes[749],”log”]=.toval(“3.755035933767770″,””,10)
    primes[750]=5693;logs[primes[750],”log”]=.toval(“3.755341183811550″,””,10)
    primes[751]=5701;logs[primes[751],”log”]=.toval(“3.755951041004130″,””,10)
    primes[752]=5711;logs[primes[752],”log”]=.toval(“3.756712160164770″,””,10)
    primes[753]=5717;logs[primes[753],”log”]=.toval(“3.757168192214270″,””,10)
    primes[754]=5737;logs[primes[754],”log”]=.toval(“3.758684849882440″,””,10)
    primes[755]=5741;logs[primes[755],”log”]=.toval(“3.758987546867620″,””,10)
    primes[756]=5743;logs[primes[756],”log”]=.toval(“3.759138816281170″,””,10)
    primes[757]=5749;logs[primes[757],”log”]=.toval(“3.759592308645980″,””,10)
    primes[758]=5779;logs[primes[758],”log”]=.toval(“3.761852694466380″,””,10)
    primes[759]=5783;logs[primes[759],”log”]=.toval(“3.762153192303590″,””,10)
    primes[760]=5791;logs[primes[760],”log”]=.toval(“3.762753564933370″,””,10)
    primes[761]=5801;logs[primes[761],”log”]=.toval(“3.763502865467600″,””,10)
    primes[762]=5807;logs[primes[762],”log”]=.toval(“3.763951826033320″,””,10)
    primes[763]=5813;logs[primes[763],”log”]=.toval(“3.764400322956390″,””,10)
    primes[764]=5821;logs[primes[764],”log”]=.toval(“3.764997599284880″,””,10)
    primes[765]=5827;logs[primes[765],”log”]=.toval(“3.765445018090150″,””,10)
    primes[766]=5839;logs[primes[766],”log”]=.toval(“3.766338475251290″,””,10)
    primes[767]=5843;logs[primes[767],”log”]=.toval(“3.766635886310270″,””,10)
    primes[768]=5849;logs[primes[768],”log”]=.toval(“3.767081621363320″,””,10)
    primes[769]=5851;logs[primes[769],”log”]=.toval(“3.767230098110720″,””,10)
    primes[770]=5857;logs[primes[770],”log”]=.toval(“3.767675224027960″,””,10)
    primes[771]=5861;logs[primes[771],”log”]=.toval(“3.767971721381620″,””,10)
    primes[772]=5867;logs[primes[772],”log”]=.toval(“3.768416088216330″,””,10)
    primes[773]=5869;logs[primes[773],”log”]=.toval(“3.768564109513570″,””,10)
    primes[774]=5879;logs[primes[774],”log”]=.toval(“3.769303460189080″,””,10)
    primes[775]=5881;logs[primes[775],”log”]=.toval(“3.769451179402040″,””,10)
    primes[776]=5897;logs[primes[776],”log”]=.toval(“3.770631127777810″,””,10)
    primes[777]=5903;logs[primes[777],”log”]=.toval(“3.771072783221200″,””,10)
    primes[778]=5923;logs[primes[778],”log”]=.toval(“3.772541732640940″,””,10)
    primes[779]=5927;logs[primes[779],”log”]=.toval(“3.772834927239020″,””,10)
    primes[780]=5939;logs[primes[780],”log”]=.toval(“3.773713325277020″,””,10)
    primes[781]=5953;logs[primes[781],”log”]=.toval(“3.774735882551750″,””,10)
    primes[782]=5981;logs[primes[782],”log”]=.toval(“3.776773802412110″,””,10)
    primes[783]=5987;logs[primes[783],”log”]=.toval(“3.777209258145690″,””,10)
    primes[784]=6007;logs[primes[784],”log”]=.toval(“3.778657631947360″,””,10)
    primes[785]=6011;logs[primes[785],”log”]=.toval(“3.778946727968620″,””,10)
    primes[786]=6029;logs[primes[786],”log”]=.toval(“3.780245283865350″,””,10)
    primes[787]=6037;logs[primes[787],”log”]=.toval(“3.780821175853470″,””,10)
    primes[788]=6043;logs[primes[788],”log”]=.toval(“3.781252594248460″,””,10)
    primes[789]=6047;logs[primes[789],”log”]=.toval(“3.781539968605940″,””,10)
    primes[790]=6053;logs[primes[790],”log”]=.toval(“3.781970673912550″,””,10)
    primes[791]=6067;logs[primes[791],”log”]=.toval(“3.782973994944050″,””,10)
    primes[792]=6073;logs[primes[792],”log”]=.toval(“3.783403281122560″,””,10)
    primes[793]=6079;logs[primes[793],”log”]=.toval(“3.783832143384440″,””,10)
    primes[794]=6089;logs[primes[794],”log”]=.toval(“3.784545974054520″,””,10)
    primes[795]=6091;logs[primes[795],”log”]=.toval(“3.784688599501420″,””,10)
    primes[796]=6101;logs[primes[796],”log”]=.toval(“3.785401024992390″,””,10)
    primes[797]=6113;logs[primes[797],”log”]=.toval(“3.786254395789780″,””,10)
    primes[798]=6121;logs[primes[798],”log”]=.toval(“3.786822379499190″,””,10)
    primes[799]=6131;logs[primes[799],”log”]=.toval(“3.787531316127230″,””,10)
    primes[800]=6133;logs[primes[800],”log”]=.toval(“3.787672964687490″,””,10)
    primes[801]=6143;logs[primes[801],”log”]=.toval(“3.788380515319560″,””,10)
    primes[802]=6151;logs[primes[802],”log”]=.toval(“3.788945727023750″,””,10)
    primes[803]=6163;logs[primes[803],”log”]=.toval(“3.789792167730680″,””,10)
    primes[804]=6173;logs[primes[804],”log”]=.toval(“3.790496276967110″,””,10)
    primes[805]=6197;logs[primes[805],”log”]=.toval(“3.792181496149680″,””,10)
    primes[806]=6199;logs[primes[806],”log”]=.toval(“3.792321636351570″,””,10)
    primes[807]=6203;logs[primes[807],”log”]=.toval(“3.792601781164970″,””,10)
    primes[808]=6211;logs[primes[808],”log”]=.toval(“3.793161529245550″,””,10)
    primes[809]=6217;logs[primes[809],”log”]=.toval(“3.793580867368160″,””,10)
    primes[810]=6221;logs[primes[810],”log”]=.toval(“3.793860201342670″,””,10)
    primes[811]=6229;logs[primes[811],”log”]=.toval(“3.794418330874140″,””,10)
    primes[812]=6247;logs[primes[812],”log”]=.toval(“3.795671505946020″,””,10)
    primes[813]=6257;logs[primes[813],”log”]=.toval(“3.796366154977520″,””,10)
    primes[814]=6263;logs[primes[814],”log”]=.toval(“3.796782411701310″,””,10)
    primes[815]=6269;logs[primes[815],”log”]=.toval(“3.797198269838960″,””,10)
    primes[816]=6271;logs[primes[816],”log”]=.toval(“3.797336800775350″,””,10)
    primes[817]=6277;logs[primes[817],”log”]=.toval(“3.797752128650710″,””,10)
    primes[818]=6287;logs[primes[818],”log”]=.toval(“3.798443460350190″,””,10)
    primes[819]=6299;logs[primes[819],”log”]=.toval(“3.799271608349870″,””,10)
    primes[820]=6301;logs[primes[820],”log”]=.toval(“3.799409479615130″,””,10)
    primes[821]=6311;logs[primes[821],”log”]=.toval(“3.800098180174780″,””,10)
    primes[822]=6317;logs[primes[822],”log”]=.toval(“3.800510876894370″,””,10)
    primes[823]=6323;logs[primes[823],”log”]=.toval(“3.800923181813220″,””,10)
    primes[824]=6329;logs[primes[824],”log”]=.toval(“3.801335095674550″,””,10)
    primes[825]=6337;logs[primes[825],”log”]=.toval(“3.801883707125240″,””,10)
    primes[826]=6343;logs[primes[826],”log”]=.toval(“3.802294711397460″,””,10)
    primes[827]=6353;logs[primes[827],”log”]=.toval(“3.802978855335260″,””,10)
    primes[828]=6359;logs[primes[828],”log”]=.toval(“3.803388824983610″,””,10)
    primes[829]=6361;logs[primes[829],”log”]=.toval(“3.803525395576530″,””,10)
    primes[830]=6367;logs[primes[830],”log”]=.toval(“3.803934849863840″,””,10)
    primes[831]=6373;logs[primes[831],”log”]=.toval(“3.804343918479870″,””,10)
    primes[832]=6379;logs[primes[832],”log”]=.toval(“3.804752602150460″,””,10)
    primes[833]=6389;logs[primes[833],”log”]=.toval(“3.805432888132140″,””,10)
    primes[834]=6397;logs[primes[834],”log”]=.toval(“3.805976350717560″,””,10)
    primes[835]=6421;logs[primes[835],”log”]=.toval(“3.807602669916490″,””,10)
    primes[836]=6427;logs[primes[836],”log”]=.toval(“3.808008299910400″,””,10)
    primes[837]=6449;logs[primes[837],”log”]=.toval(“3.809492376937340″,””,10)
    primes[838]=6451;logs[primes[838],”log”]=.toval(“3.809627041894050″,””,10)
    primes[839]=6469;logs[primes[839],”log”]=.toval(“3.810837151140490″,””,10)
    primes[840]=6473;logs[primes[840],”log”]=.toval(“3.811105607017930″,””,10)
    primes[841]=6481;logs[primes[841],”log”]=.toval(“3.811642021453150″,””,10)
    primes[842]=6491;logs[primes[842],”log”]=.toval(“3.812311609131120″,””,10)
    primes[843]=6521;logs[primes[843],”log”]=.toval(“3.814314200207460″,””,10)
    primes[844]=6529;logs[primes[844],”log”]=.toval(“3.814846668604460″,””,10)
    primes[845]=6547;logs[primes[845],”log”]=.toval(“3.816042340922000″,””,10)
    primes[846]=6551;logs[primes[846],”log”]=.toval(“3.816307599431940″,””,10)
    primes[847]=6553;logs[primes[847],”log”]=.toval(“3.816440167956140″,””,10)
    primes[848]=6563;logs[primes[848],”log”]=.toval(“3.817102404256920″,””,10)
    primes[849]=6569;logs[primes[849],”log”]=.toval(“3.817499261867760″,””,10)
    primes[850]=6571;logs[primes[850],”log”]=.toval(“3.817631467190520″,””,10)
    primes[851]=6577;logs[primes[851],”log”]=.toval(“3.818027841859260″,””,10)
    primes[852]=6581;logs[primes[852],”log”]=.toval(“3.818291890800000″,””,10)
    primes[853]=6599;logs[primes[853],”log”]=.toval(“3.819478128362120″,””,10)
    primes[854]=6607;logs[primes[854],”log”]=.toval(“3.820004306808320″,””,10)
    primes[855]=6619;logs[primes[855],”log”]=.toval(“3.820792381088200″,””,10)
    primes[856]=6637;logs[primes[856],”log”]=.toval(“3.821971817642040″,””,10)
    primes[857]=6653;logs[primes[857],”log”]=.toval(“3.823017523446050″,””,10)
    primes[858]=6659;logs[primes[858],”log”]=.toval(“3.823409014892540″,””,10)
    primes[859]=6661;logs[primes[859],”log”]=.toval(“3.823539433656860″,””,10)
    primes[860]=6673;logs[primes[860],”log”]=.toval(“3.824321124850770″,””,10)
    primes[861]=6679;logs[primes[861],”log”]=.toval(“3.824711443464730″,””,10)
    primes[862]=6689;logs[primes[862],”log”]=.toval(“3.825361195952630″,””,10)
    primes[863]=6691;logs[primes[863],”log”]=.toval(“3.825491029879430″,””,10)
    primes[864]=6701;logs[primes[864],”log”]=.toval(“3.826139617935920″,””,10)
    primes[865]=6703;logs[primes[865],”log”]=.toval(“3.826269219393730″,””,10)
    primes[866]=6709;logs[primes[866],”log”]=.toval(“3.826657791875870″,””,10)
    primes[867]=6719;logs[primes[867],”log”]=.toval(“3.827304641089740″,””,10)
    primes[868]=6733;logs[primes[868],”log”]=.toval(“3.828208614467950″,””,10)
    primes[869]=6737;logs[primes[869],”log”]=.toval(“3.828466547352680″,””,10)
    primes[870]=6761;logs[primes[870],”log”]=.toval(“3.830010935936120″,””,10)
    primes[871]=6763;logs[primes[871],”log”]=.toval(“3.830139387425340″,””,10)
    primes[872]=6779;logs[primes[872],”log”]=.toval(“3.831165633909440″,””,10)
    primes[873]=6781;logs[primes[873],”log”]=.toval(“3.831293744377010″,””,10)
    primes[874]=6791;logs[primes[874],”log”]=.toval(“3.831933730466750″,””,10)
    primes[875]=6793;logs[primes[875],”log”]=.toval(“3.832061614590730″,””,10)
    primes[876]=6803;logs[primes[876],”log”]=.toval(“3.832700470960570″,””,10)
    primes[877]=6823;logs[primes[877],”log”]=.toval(“3.833975371279910″,””,10)
    primes[878]=6827;logs[primes[878],”log”]=.toval(“3.834229902851680″,””,10)
    primes[879]=6829;logs[primes[879],”log”]=.toval(“3.834357112718410″,””,10)
    primes[880]=6833;logs[primes[880],”log”]=.toval(“3.834611420722690″,””,10)
    primes[881]=6841;logs[primes[881],”log”]=.toval(“3.835119590424550″,””,10)
    primes[882]=6857;logs[primes[882],”log”]=.toval(“3.836134149465380″,””,10)
    primes[883]=6863;logs[primes[883],”log”]=.toval(“3.836513998890670″,””,10)
    primes[884]=6869;logs[primes[884],”log”]=.toval(“3.836893516376430″,””,10)
    primes[885]=6871;logs[primes[885],”log”]=.toval(“3.837019948540910″,””,10)
    primes[886]=6883;logs[primes[886],”log”]=.toval(“3.837777769553730″,””,10)
    primes[887]=6899;logs[primes[887],”log”]=.toval(“3.838786144946590″,””,10)
    primes[888]=6907;logs[primes[888],”log”]=.toval(“3.839289456006150″,””,10)
    primes[889]=6911;logs[primes[889],”log”]=.toval(“3.839540892968970″,””,10)
    primes[890]=6917;logs[primes[890],”log”]=.toval(“3.839917775678680″,””,10)
    primes[891]=6947;logs[primes[891],”log”]=.toval(“3.841797298874360″,””,10)
    primes[892]=6949;logs[primes[892],”log”]=.toval(“3.841922311679450″,””,10)
    primes[893]=6959;logs[primes[893],”log”]=.toval(“3.842546836495020″,””,10)
    primes[894]=6961;logs[primes[894],”log”]=.toval(“3.842671633760790″,””,10)
    primes[895]=6967;logs[primes[895],”log”]=.toval(“3.843045810534570″,””,10)
    primes[896]=6971;logs[primes[896],”log”]=.toval(“3.843295082736510″,””,10)
    primes[897]=6977;logs[primes[897],”log”]=.toval(“3.843668722979140″,””,10)
    primes[898]=6983;logs[primes[898],”log”]=.toval(“3.844042042041020″,””,10)
    primes[899]=6991;logs[primes[899],”log”]=.toval(“3.844539302129010″,””,10)
    primes[900]=6997;logs[primes[900],”log”]=.toval(“3.844911873912140″,””,10)
    primes[901]=7001;logs[primes[901],”log”]=.toval(“3.845160077651950″,””,10)
    primes[902]=7013;logs[primes[902],”log”]=.toval(“3.845903838898780″,””,10)
    primes[903]=7019;logs[primes[903],”log”]=.toval(“3.846275242412210″,””,10)
    primes[904]=7027;logs[primes[904],”log”]=.toval(“3.846769953537220″,””,10)
    primes[905]=7039;logs[primes[905],”log”]=.toval(“3.847510965203250″,””,10)
    primes[906]=7043;logs[primes[906],”log”]=.toval(“3.847757688392330″,””,10)
    primes[907]=7057;logs[primes[907],”log”]=.toval(“3.848620117434130″,””,10)
    primes[908]=7069;logs[primes[908],”log”]=.toval(“3.849357981661300″,””,10)
    primes[909]=7079;logs[primes[909],”log”]=.toval(“3.849971912328850″,””,10)
    primes[910]=7103;logs[primes[910],”log”]=.toval(“3.851441814672060″,””,10)
    primes[911]=7109;logs[primes[911],”log”]=.toval(“3.851808514228240″,””,10)
    primes[912]=7121;logs[primes[912],”log”]=.toval(“3.852540985769800″,””,10)
    primes[913]=7127;logs[primes[913],”log”]=.toval(“3.852906758796950″,””,10)
    primes[914]=7129;logs[primes[914],”log”]=.toval(“3.853028614712990″,””,10)
    primes[915]=7151;logs[primes[915],”log”]=.toval(“3.854366778040870″,””,10)
    primes[916]=7159;logs[primes[916],”log”]=.toval(“3.854852362417830″,””,10)
    primes[917]=7177;logs[primes[917],”log”]=.toval(“3.855942946232320″,””,10)
    primes[918]=7187;logs[primes[918],”log”]=.toval(“3.856547644856750″,””,10)
    primes[919]=7193;logs[primes[919],”log”]=.toval(“3.856910060300790″,””,10)
    primes[920]=7207;logs[primes[920],”log”]=.toval(“3.857754522059440″,””,10)
    primes[921]=7211;logs[primes[921],”log”]=.toval(“3.857995495560920″,””,10)
    primes[922]=7213;logs[primes[922],”log”]=.toval(“3.858115932190070″,””,10)
    primes[923]=7219;logs[primes[923],”log”]=.toval(“3.858477041813340″,””,10)
    primes[924]=7229;logs[primes[924],”log”]=.toval(“3.859078224746970″,””,10)
    primes[925]=7237;logs[primes[925],”log”]=.toval(“3.859558572626050″,””,10)
    primes[926]=7243;logs[primes[926],”log”]=.toval(“3.859918485200720″,””,10)
    primes[927]=7247;logs[primes[927],”log”]=.toval(“3.860158261318280″,””,10)
    primes[928]=7253;logs[primes[928],”log”]=.toval(“3.860517677461750″,””,10)
    primes[929]=7283;logs[primes[929],”log”]=.toval(“3.862310309954270″,””,10)
    primes[930]=7297;logs[primes[930],”log”]=.toval(“3.863144346252670″,””,10)
    primes[931]=7307;logs[primes[931],”log”]=.toval(“3.863739107345220″,””,10)
    primes[932]=7309;logs[primes[932],”log”]=.toval(“3.863857961883970″,””,10)
    primes[933]=7321;logs[primes[933],”log”]=.toval(“3.864570406853430″,””,10)
    primes[934]=7331;logs[primes[934],”log”]=.toval(“3.865163219506090″,””,10)
    primes[935]=7333;logs[primes[935],”log”]=.toval(“3.865281684995610″,””,10)
    primes[936]=7349;logs[primes[936],”log”]=.toval(“3.866228247379650″,””,10)
    primes[937]=7351;logs[primes[937],”log”]=.toval(“3.866346422749600″,””,10)
    primes[938]=7369;logs[primes[938],”log”]=.toval(“3.867408556522790″,””,10)
    primes[939]=7393;logs[primes[939],”log”]=.toval(“3.868820706197520″,””,10)
    primes[940]=7411;logs[primes[940],”log”]=.toval(“3.869876813266770″,””,10)
    primes[941]=7417;logs[primes[941],”log”]=.toval(“3.870228279011800″,””,10)
    primes[942]=7433;logs[primes[942],”log”]=.toval(“3.871164132802950″,””,10)
    primes[943]=7451;logs[primes[943],”log”]=.toval(“3.872214563397590″,””,10)
    primes[944]=7457;logs[primes[944],”log”]=.toval(“3.872564143090650″,””,10)
    primes[945]=7459;logs[primes[945],”log”]=.toval(“3.872680607151930″,””,10)
    primes[946]=7477;logs[primes[946],”log”]=.toval(“3.873727380646680″,””,10)
    primes[947]=7481;logs[primes[947],”log”]=.toval(“3.873959654743350″,””,10)
    primes[948]=7487;logs[primes[948],”log”]=.toval(“3.874307833128040″,””,10)
    primes[949]=7489;logs[primes[949],”log”]=.toval(“3.874423830586500″,””,10)
    primes[950]=7499;logs[primes[950],”log”]=.toval(“3.875003353600040″,””,10)
    primes[951]=7507;logs[primes[951],”log”]=.toval(“3.875466415866390″,””,10)
    primes[952]=7517;logs[primes[952],”log”]=.toval(“3.876044550246100″,””,10)
    primes[953]=7523;logs[primes[953],”log”]=.toval(“3.876391061819190″,””,10)
    primes[954]=7529;logs[primes[954],”log”]=.toval(“3.876737297140660″,””,10)
    primes[955]=7537;logs[primes[955],”log”]=.toval(“3.877198515271790″,””,10)
    primes[956]=7541;logs[primes[956],”log”]=.toval(“3.877428940788220″,””,10)
    primes[957]=7547;logs[primes[957],”log”]=.toval(“3.877774349991400″,””,10)
    primes[958]=7549;logs[primes[958],”log”]=.toval(“3.877889425371480″,””,10)
    primes[959]=7559;logs[primes[959],”log”]=.toval(“3.878464345341470″,””,10)
    primes[960]=7561;logs[primes[960],”log”]=.toval(“3.878579238062220″,””,10)
    primes[961]=7573;logs[primes[961],”log”]=.toval(“3.879267956824610″,””,10)
    primes[962]=7577;logs[primes[962],”log”]=.toval(“3.879497287249430″,””,10)
    primes[963]=7583;logs[primes[963],”log”]=.toval(“3.879841055986560″,””,10)
    primes[964]=7589;logs[primes[964],”log”]=.toval(“3.880184552826430″,””,10)
    primes[965]=7591;logs[primes[965],”log”]=.toval(“3.880298991425750″,””,10)
    primes[966]=7603;logs[primes[966],”log”]=.toval(“3.880984990486750″,””,10)
    primes[967]=7607;logs[primes[967],”log”]=.toval(“3.881213416255020″,””,10)
    primes[968]=7621;logs[primes[968],”log”]=.toval(“3.882011961626660″,””,10)
    primes[969]=7639;logs[primes[969],”log”]=.toval(“3.883036510027680″,””,10)
    primes[970]=7643;logs[primes[970],”log”]=.toval(“3.883263859584970″,””,10)
    primes[971]=7649;logs[primes[971],”log”]=.toval(“3.883604660922290″,””,10)
    primes[972]=7669;logs[primes[972],”log”]=.toval(“3.884738737769630″,””,10)
    primes[973]=7673;logs[primes[973],”log”]=.toval(“3.884965198200730″,””,10)
    primes[974]=7681;logs[primes[974],”log”]=.toval(“3.885417765110940″,””,10)
    primes[975]=7687;logs[primes[975],”log”]=.toval(“3.885756881069270″,””,10)
    primes[976]=7691;logs[primes[976],”log”]=.toval(“3.885982811354970″,””,10)
    primes[977]=7699;logs[primes[977],”log”]=.toval(“3.886434319628940″,””,10)
    primes[978]=7703;logs[primes[978],”log”]=.toval(“3.886659897861200″,””,10)
    primes[979]=7717;logs[primes[979],”log”]=.toval(“3.887448500249950″,””,10)
    primes[980]=7723;logs[primes[980],”log”]=.toval(“3.887786034838370″,””,10)
    primes[981]=7727;logs[primes[981],”log”]=.toval(“3.888010912245030″,””,10)
    primes[982]=7741;logs[primes[982],”log”]=.toval(“3.888797067456680″,””,10)
    primes[983]=7753;logs[primes[983],”log”]=.toval(“3.889469783969510″,””,10)
    primes[984]=7757;logs[primes[984],”log”]=.toval(“3.889693791444190″,””,10)
    primes[985]=7759;logs[primes[985],”log”]=.toval(“3.889805751868090″,””,10)
    primes[986]=7789;logs[primes[986],”log”]=.toval(“3.891481703839520″,””,10)
    primes[987]=7793;logs[primes[987],”log”]=.toval(“3.891704676239180″,””,10)
    primes[988]=7817;logs[primes[988],”log”]=.toval(“3.893040111957120″,””,10)
    primes[989]=7823;logs[primes[989],”log”]=.toval(“3.893373330246030″,””,10)
    primes[990]=7829;logs[primes[990],”log”]=.toval(“3.893706293064710″,””,10)
    primes[991]=7841;logs[primes[991],”log”]=.toval(“3.894371453856240″,””,10)
    primes[992]=7853;logs[primes[992],”log”]=.toval(“3.895035597452320″,””,10)
    primes[993]=7867;logs[primes[993],”log”]=.toval(“3.895809150169130″,””,10)
    primes[994]=7873;logs[primes[994],”log”]=.toval(“3.896140251442020″,””,10)
    primes[995]=7877;logs[primes[995],”log”]=.toval(“3.896360845469320″,””,10)
    primes[996]=7879;logs[primes[996],”log”]=.toval(“3.896471100479280″,””,10)
    primes[997]=7883;logs[primes[997],”log”]=.toval(“3.896691526562880″,””,10)
    primes[998]=7901;logs[primes[998],”log”]=.toval(“3.897682061796420″,””,10)
    primes[999]=7907;logs[primes[999],”log”]=.toval(“3.898011738797500″,””,10)
    primes[1000]=7919;logs[primes[1000],”log”]=.toval(“3.898670342965530″,””,10)
    primes[1001]=7927;logs[primes[1001],”log”]=.toval(“3.899108858193400″,””,10)
    primes[1002]=7933;logs[primes[1002],”log”]=.toval(“3.899437454286180″,””,10)
    primes[1003]=7937;logs[primes[1003],”log”]=.toval(“3.899656380305640″,””,10)
    primes[1004]=7949;logs[primes[1004],”log”]=.toval(“3.900312496983730″,””,10)
    primes[1005]=7951;logs[primes[1005],”log”]=.toval(“3.900421753457740″,””,10)
    primes[1006]=7963;logs[primes[1006],”log”]=.toval(“3.901076715726260″,””,10)
    primes[1007]=7993;logs[primes[1007],”log”]=.toval(“3.902709812969880″,””,10)
    primes[1008]=8009;logs[primes[1008],”log”]=.toval(“3.903578293663050″,””,10)
    primes[1009]=8011;logs[primes[1009],”log”]=.toval(“3.903686731736500″,””,10)
    primes[1010]=8017;logs[primes[1010],”log”]=.toval(“3.904011883597390″,””,10)
    primes[1011]=8039;logs[primes[1011],”log”]=.toval(“3.905202028662320″,””,10)
    primes[1012]=8053;logs[primes[1012],”log”]=.toval(“3.905957699092430″,””,10)
    primes[1013]=8059;logs[primes[1013],”log”]=.toval(“3.906281155772150″,””,10)
    primes[1014]=8069;logs[primes[1014],”log”]=.toval(“3.906819715466550″,””,10)
    primes[1015]=8081;logs[primes[1015],”log”]=.toval(“3.907465106765860″,””,10)
    primes[1016]=8087;logs[primes[1016],”log”]=.toval(“3.907787443110620″,””,10)
    primes[1017]=8089;logs[primes[1017],”log”]=.toval(“3.907894835416280″,””,10)
    primes[1018]=8093;logs[primes[1018],”log”]=.toval(“3.908109540392550″,””,10)
    primes[1019]=8101;logs[primes[1019],”log”]=.toval(“3.908538632171960″,””,10)
    primes[1020]=8111;logs[primes[1020],”log”]=.toval(“3.909074401400900″,””,10)
    primes[1021]=8117;logs[primes[1021],”log”]=.toval(“3.909395545967110″,””,10)
    primes[1022]=8123;logs[primes[1022],”log”]=.toval(“3.909716453234350″,””,10)
    primes[1023]=8147;logs[primes[1023],”log”]=.toval(“3.910997716310640″,””,10)
    primes[1024]=8161;logs[primes[1024],”log”]=.toval(“3.911743377855930″,””,10)
    primes[1025]=8167;logs[primes[1025],”log”]=.toval(“3.912062555588500″,””,10)
    primes[1026]=8171;logs[primes[1026],”log”]=.toval(“3.912275210498810″,””,10)
    primes[1027]=8179;logs[primes[1027],”log”]=.toval(“3.912700208190860″,””,10)
    primes[1028]=8191;logs[primes[1028],”log”]=.toval(“3.913336925932620″,””,10)
    primes[1029]=8209;logs[primes[1029],”log”]=.toval(“3.914290255665950″,””,10)
    primes[1030]=8219;logs[primes[1030],”log”]=.toval(“3.914818980447470″,””,10)
    primes[1031]=8221;logs[primes[1031],”log”]=.toval(“3.914924648205150″,””,10)
    primes[1032]=8231;logs[primes[1032],”log”]=.toval(“3.915452601688480″,””,10)
    primes[1033]=8233;logs[primes[1033],”log”]=.toval(“3.915558115411520″,””,10)
    primes[1034]=8237;logs[primes[1034],”log”]=.toval(“3.915769065983680″,””,10)
    primes[1035]=8243;logs[primes[1035],”log”]=.toval(“3.916085299843700″,””,10)
    primes[1036]=8263;logs[primes[1036],”log”]=.toval(“3.917137752756440″,””,10)
    primes[1037]=8269;logs[primes[1037],”log”]=.toval(“3.917452991929660″,””,10)
    primes[1038]=8273;logs[primes[1038],”log”]=.toval(“3.917663024327380″,””,10)
    primes[1039]=8287;logs[primes[1039],”log”]=.toval(“3.918397338843700″,””,10)
    primes[1040]=8291;logs[primes[1040],”log”]=.toval(“3.918606915144980″,””,10)
    primes[1041]=8293;logs[primes[1041],”log”]=.toval(“3.918711665382320″,””,10)
    primes[1042]=8297;logs[primes[1042],”log”]=.toval(“3.918921090091340″,””,10)
    primes[1043]=8311;logs[primes[1043],”log”]=.toval(“3.919653282310360″,””,10)
    primes[1044]=8317;logs[primes[1044],”log”]=.toval(“3.919966701483390″,””,10)
    primes[1045]=8329;logs[primes[1045],”log”]=.toval(“3.920592862084810″,””,10)
    primes[1046]=8353;logs[primes[1046],”log”]=.toval(“3.921842481405860″,””,10)
    primes[1047]=8363;logs[primes[1047],”log”]=.toval(“3.922362096784790″,””,10)
    primes[1048]=8369;logs[primes[1048],”log”]=.toval(“3.922673567858550″,””,10)
    primes[1049]=8377;logs[primes[1049],”log”]=.toval(“3.923088515442400″,””,10)
    primes[1050]=8387;logs[primes[1050],”log”]=.toval(“3.923606643017460″,””,10)
    primes[1051]=8389;logs[primes[1051],”log”]=.toval(“3.923710194396560″,””,10)
    primes[1052]=8419;logs[primes[1052],”log”]=.toval(“3.925260509519440″,””,10)
    primes[1053]=8423;logs[primes[1053],”log”]=.toval(“3.925466800691540″,””,10)
    primes[1054]=8429;logs[primes[1054],”log”]=.toval(“3.925776053836750″,””,10)
    primes[1055]=8431;logs[primes[1055],”log”]=.toval(“3.925879089301500″,””,10)
    primes[1056]=8443;logs[primes[1056],”log”]=.toval(“3.926496789273220″,””,10)
    primes[1057]=8447;logs[primes[1057],”log”]=.toval(“3.926702494182650″,””,10)
    primes[1058]=8461;logs[primes[1058],”log”]=.toval(“3.927421695050420″,””,10)
    primes[1059]=8467;logs[primes[1059],”log”]=.toval(“3.927729559771660″,””,10)
    primes[1060]=8501;logs[primes[1060],”log”]=.toval(“3.929470016177490″,””,10)
    primes[1061]=8513;logs[primes[1061],”log”]=.toval(“3.930082633392370″,””,10)
    primes[1062]=8521;logs[primes[1062],”log”]=.toval(“3.930490565306270″,””,10)
    primes[1063]=8527;logs[primes[1063],”log”]=.toval(“3.930796262983300″,””,10)
    primes[1064]=8537;logs[primes[1064],”log”]=.toval(“3.931305281421670″,””,10)
    primes[1065]=8539;logs[primes[1065],”log”]=.toval(“3.931407013556570″,””,10)
    primes[1066]=8543;logs[primes[1066],”log”]=.toval(“3.931610406362960″,””,10)
    primes[1067]=8563;logs[primes[1067],”log”]=.toval(“3.932625944021780″,””,10)
    primes[1068]=8573;logs[primes[1068],”log”]=.toval(“3.933132823726730″,””,10)
    primes[1069]=8581;logs[primes[1069],”log”]=.toval(“3.933537901971710″,””,10)
    primes[1070]=8597;logs[primes[1070],”log”]=.toval(“3.934346926738260″,””,10)
    primes[1071]=8599;logs[primes[1071],”log”]=.toval(“3.934447948948970″,””,10)
    primes[1072]=8609;logs[primes[1072],”log”]=.toval(“3.934952707817860″,””,10)
    primes[1073]=8623;logs[primes[1073],”log”]=.toval(“3.935658386100630″,””,10)
    primes[1074]=8627;logs[primes[1074],”log”]=.toval(“3.935859798037880″,””,10)
    primes[1075]=8629;logs[primes[1075],”log”]=.toval(“3.935960468989170″,””,10)
    primes[1076]=8641;logs[primes[1076],”log”]=.toval(“3.936564005135270″,””,10)
    primes[1077]=8647;logs[primes[1077],”log”]=.toval(“3.936865458975620″,””,10)
    primes[1078]=8663;logs[primes[1078],”log”]=.toval(“3.937668314399010″,””,10)
    primes[1079]=8669;logs[primes[1079],”log”]=.toval(“3.937969002951450″,””,10)
    primes[1080]=8677;logs[primes[1080],”log”]=.toval(“3.938369597451810″,””,10)
    primes[1081]=8681;logs[primes[1081],”log”]=.toval(“3.938569756221060″,””,10)
    primes[1082]=8689;logs[primes[1082],”log”]=.toval(“3.938969797222890″,””,10)
    primes[1083]=8693;logs[primes[1083],”log”]=.toval(“3.939169679625180″,””,10)
    primes[1084]=8699;logs[primes[1084],”log”]=.toval(“3.939469330843530″,””,10)
    primes[1085]=8707;logs[primes[1085],”log”]=.toval(“3.939868544459510″,””,10)
    primes[1086]=8713;logs[primes[1086],”log”]=.toval(“3.940167714034080″,””,10)
    primes[1087]=8719;logs[primes[1087],”log”]=.toval(“3.940466677663530″,””,10)
    primes[1088]=8731;logs[primes[1088],”log”]=.toval(“3.941063988219900″,””,10)
    primes[1089]=8737;logs[primes[1089],”log”]=.toval(“3.941362335711760″,””,10)
    primes[1090]=8741;logs[primes[1090],”log”]=.toval(“3.941561120236070″,””,10)
    primes[1091]=8747;logs[primes[1091],”log”]=.toval(“3.941859126525370″,””,10)
    primes[1092]=8753;logs[primes[1092],”log”]=.toval(“3.942156928467490″,””,10)
    primes[1093]=8761;logs[primes[1093],”log”]=.toval(“3.942553680334210″,””,10)
    primes[1094]=8779;logs[primes[1094],”log”]=.toval(“3.943445049025030″,””,10)
    primes[1095]=8783;logs[primes[1095],”log”]=.toval(“3.943642882752130″,””,10)
    primes[1096]=8803;logs[primes[1096],”log”]=.toval(“3.944630701856280″,””,10)
    primes[1097]=8807;logs[primes[1097],”log”]=.toval(“3.944827996343220″,””,10)
    primes[1098]=8819;logs[primes[1098],”log”]=.toval(“3.945419342603060″,””,10)
    primes[1099]=8821;logs[primes[1099],”log”]=.toval(“3.945517822077840″,””,10)
    primes[1100]=8831;logs[primes[1100],”log”]=.toval(“3.946009884765770″,””,10)
    primes[1101]=8837;logs[primes[1101],”log”]=.toval(“3.946304854993480″,””,10)
    primes[1102]=8839;logs[primes[1102],”log”]=.toval(“3.946403133899060″,””,10)
    primes[1103]=8849;logs[primes[1103],”log”]=.toval(“3.946894195102330″,””,10)
    primes[1104]=8861;logs[primes[1104],”log”]=.toval(“3.947482736556920″,””,10)
    primes[1105]=8863;logs[primes[1105],”log”]=.toval(“3.947580749304320″,””,10)
    primes[1106]=8867;logs[primes[1106],”log”]=.toval(“3.947776708464740″,””,10)
    primes[1107]=8887;logs[primes[1107],”log”]=.toval(“3.948755180168270″,””,10)
    primes[1108]=8893;logs[primes[1108],”log”]=.toval(“3.949048292315660″,””,10)
    primes[1109]=8923;logs[primes[1109],”log”]=.toval(“3.950510892986000″,””,10)
    primes[1110]=8929;logs[primes[1110],”log”]=.toval(“3.950802822964660″,””,10)
    primes[1111]=8933;logs[primes[1111],”log”]=.toval(“3.950997333988810″,””,10)
    primes[1112]=8941;logs[primes[1112],”log”]=.toval(“3.951386094880290″,””,10)
    primes[1113]=8951;logs[primes[1113],”log”]=.toval(“3.951871557128360″,””,10)
    primes[1114]=8963;logs[primes[1114],”log”]=.toval(“3.952453396423030″,””,10)
    primes[1115]=8969;logs[primes[1115],”log”]=.toval(“3.952744024014900″,””,10)
    primes[1116]=8971;logs[primes[1116],”log”]=.toval(“3.952840856675700″,””,10)
    primes[1117]=8999;logs[primes[1117],”log”]=.toval(“3.954194251815860″,””,10)
    primes[1118]=9001;logs[primes[1118],”log”]=.toval(“3.954290761701130″,””,10)
    primes[1119]=9007;logs[primes[1119],”log”]=.toval(“3.954580162743760″,””,10)
    primes[1120]=9011;logs[primes[1120],”log”]=.toval(“3.954772989689720″,””,10)
    primes[1121]=9013;logs[primes[1121],”log”]=.toval(“3.954869371066480″,””,10)
    primes[1122]=9029;logs[primes[1122],”log”]=.toval(“3.955639653023250″,””,10)
    primes[1123]=9041;logs[primes[1123],”log”]=.toval(“3.956216469243390″,””,10)
    primes[1124]=9043;logs[primes[1124],”log”]=.toval(“3.956312530841200″,””,10)
    primes[1125]=9049;logs[primes[1125],”log”]=.toval(“3.956600588213180″,””,10)
    primes[1126]=9059;logs[primes[1126],”log”]=.toval(“3.957080259657900″,””,10)
    primes[1127]=9067;logs[primes[1127],”log”]=.toval(“3.957463615729930″,””,10)
    primes[1128]=9091;logs[primes[1128],”log”]=.toval(“3.958611657764880″,””,10)
    primes[1129]=9103;logs[primes[1129],”log”]=.toval(“3.959184542731190″,””,10)
    primes[1130]=9109;logs[primes[1130],”log”]=.toval(“3.959470702075110″,””,10)
    primes[1131]=9127;logs[primes[1131],”log”]=.toval(“3.960328050530140″,””,10)
    primes[1132]=9133;logs[primes[1132],”log”]=.toval(“3.960613457647910″,””,10)
    primes[1133]=9137;logs[primes[1133],”log”]=.toval(“3.960803624911770″,””,10)
    primes[1134]=9151;logs[primes[1134],”log”]=.toval(“3.961468555350790″,””,10)
    primes[1135]=9157;logs[primes[1135],”log”]=.toval(“3.961753214186780″,””,10)
    primes[1136]=9161;logs[primes[1136],”log”]=.toval(“3.961942883141390″,””,10)
    primes[1137]=9173;logs[primes[1137],”log”]=.toval(“3.962511393507600″,””,10)
    primes[1138]=9181;logs[primes[1138],”log”]=.toval(“3.962889987391790″,””,10)
    primes[1139]=9187;logs[primes[1139],”log”]=.toval(“3.963173716375250″,””,10)
    primes[1140]=9199;logs[primes[1140],”log”]=.toval(“3.963740618857880″,””,10)
    primes[1141]=9203;logs[primes[1141],”log”]=.toval(“3.963929422026560″,””,10)
    primes[1142]=9209;logs[primes[1142],”log”]=.toval(“3.964212472969820″,””,10)
    primes[1143]=9221;logs[primes[1143],”log”]=.toval(“3.964778022022380″,””,10)
    primes[1144]=9227;logs[primes[1144],”log”]=.toval(“3.965060520611200″,””,10)
    primes[1145]=9239;logs[primes[1145],”log”]=.toval(“3.965624967109240″,””,10)
    primes[1146]=9241;logs[primes[1146],”log”]=.toval(“3.965718970244220″,””,10)
    primes[1147]=9257;logs[primes[1147],”log”]=.toval(“3.966470263729280″,””,10)
    primes[1148]=9277;logs[primes[1148],”log”]=.toval(“3.967407556597470″,””,10)
    primes[1149]=9281;logs[primes[1149],”log”]=.toval(“3.967594772671890″,””,10)
    primes[1150]=9283;logs[primes[1150],”log”]=.toval(“3.967688350453310″,””,10)
    primes[1151]=9293;logs[primes[1151],”log”]=.toval(“3.968155937149970″,””,10)
    primes[1152]=9311;logs[primes[1152],”log”]=.toval(“3.968996326648310″,””,10)
    primes[1153]=9319;logs[primes[1153],”log”]=.toval(“3.969369311733530″,””,10)
    primes[1154]=9323;logs[primes[1154],”log”]=.toval(“3.969555684220840″,””,10)
    primes[1155]=9337;logs[primes[1155],”log”]=.toval(“3.970207358806860″,””,10)
    primes[1156]=9341;logs[primes[1156],”log”]=.toval(“3.970393372079600″,””,10)
    primes[1157]=9343;logs[primes[1157],”log”]=.toval(“3.970486348847650″,””,10)
    primes[1158]=9349;logs[primes[1158],”log”]=.toval(“3.970765159780770″,””,10)
    primes[1159]=9371;logs[primes[1159],”log”]=.toval(“3.971785937879110″,””,10)
    primes[1160]=9377;logs[primes[1160],”log”]=.toval(“3.972063916008020″,””,10)
    primes[1161]=9391;logs[primes[1161],”log”]=.toval(“3.972711840547070″,””,10)
    primes[1162]=9397;logs[primes[1162],”log”]=.toval(“3.972989226855350″,””,10)
    primes[1163]=9403;logs[primes[1163],”log”]=.toval(“3.973266436108530″,””,10)
    primes[1164]=9413;logs[primes[1164],”log”]=.toval(“3.973728058688030″,””,10)
    primes[1165]=9419;logs[primes[1165],”log”]=.toval(“3.974004796897420″,””,10)
    primes[1166]=9421;logs[primes[1166],”log”]=.toval(“3.974097003794130″,””,10)
    primes[1167]=9431;logs[primes[1167],”log”]=.toval(“3.974557744853580″,””,10)
    primes[1168]=9433;logs[primes[1168],”log”]=.toval(“3.974649834438720″,””,10)
    primes[1169]=9437;logs[primes[1169],”log”]=.toval(“3.974833955048540″,””,10)
    primes[1170]=9439;logs[primes[1170],”log”]=.toval(“3.974925986089760″,””,10)
    primes[1171]=9461;logs[primes[1171],”log”]=.toval(“3.975937042483110″,””,10)
    primes[1172]=9463;logs[primes[1172],”log”]=.toval(“3.976028840091130″,””,10)
    primes[1173]=9467;logs[primes[1173],”log”]=.toval(“3.976212377117380″,””,10)
    primes[1174]=9473;logs[primes[1174],”log”]=.toval(“3.976487537305190″,””,10)
    primes[1175]=9479;logs[primes[1175],”log”]=.toval(“3.976762523267460″,””,10)
    primes[1176]=9491;logs[primes[1176],”log”]=.toval(“3.977311973396930″,””,10)
    primes[1177]=9497;logs[primes[1177],”log”]=.toval(“3.977586438003850″,””,10)
    primes[1178]=9511;logs[primes[1178],”log”]=.toval(“3.978226181674530″,””,10)
    primes[1179]=9521;logs[primes[1179],”log”]=.toval(“3.978682565156940″,””,10)
    primes[1180]=9533;logs[primes[1180],”log”]=.toval(“3.979229593022160″,””,10)
    primes[1181]=9539;logs[primes[1181],”log”]=.toval(“3.979502848787400″,””,10)
    primes[1182]=9547;logs[primes[1182],”log”]=.toval(“3.979866922564900″,””,10)
    primes[1183]=9551;logs[primes[1183],”log”]=.toval(“3.980048845064960″,””,10)
    primes[1184]=9587;logs[primes[1184],”log”]=.toval(“3.981682727371290″,””,10)
    primes[1185]=9601;logs[primes[1185],”log”]=.toval(“3.982316469692070″,””,10)
    primes[1186]=9613;logs[primes[1186],”log”]=.toval(“3.982858942312080″,””,10)
    primes[1187]=9619;logs[primes[1187],”log”]=.toval(“3.983129924734700″,””,10)
    primes[1188]=9623;logs[primes[1188],”log”]=.toval(“3.983310485794120″,””,10)
    primes[1189]=9629;logs[primes[1189],”log”]=.toval(“3.983581186705790″,””,10)
    primes[1190]=9631;logs[primes[1190],”log”]=.toval(“3.983671382860200″,””,10)
    primes[1191]=9643;logs[primes[1191],”log”]=.toval(“3.984212166761430″,””,10)
    primes[1192]=9649;logs[primes[1192],”log”]=.toval(“3.984482306402260″,””,10)
    primes[1193]=9661;logs[primes[1193],”log”]=.toval(“3.985022082109540″,””,10)
    primes[1194]=9677;logs[primes[1194],”log”]=.toval(“3.985740741050070″,””,10)
    primes[1195]=9679;logs[primes[1195],”log”]=.toval(“3.985830489858390″,””,10)
    primes[1196]=9689;logs[primes[1196],”log”]=.toval(“3.986278955905990″,””,10)
    primes[1197]=9697;logs[primes[1197],”log”]=.toval(“3.986637395610150″,””,10)
    primes[1198]=9719;logs[primes[1198],”log”]=.toval(“3.987621582125480″,””,10)
    primes[1199]=9721;logs[primes[1199],”log”]=.toval(“3.987710943130310″,””,10)
    primes[1200]=9733;logs[primes[1200],”log”]=.toval(“3.988246723375380″,””,10)
    primes[1201]=9739;logs[primes[1201],”log”]=.toval(“3.988514365833670″,””,10)
    primes[1202]=9743;logs[primes[1202],”log”]=.toval(“3.988692702549820″,””,10)
    primes[1203]=9749;logs[primes[1203],”log”]=.toval(“3.988960070390340″,””,10)
    primes[1204]=9767;logs[primes[1204],”log”]=.toval(“3.989761187718780″,””,10)
    primes[1205]=9769;logs[primes[1205],”log”]=.toval(“3.989850109603180″,””,10)
    primes[1206]=9781;logs[primes[1206],”log”]=.toval(“3.990383258906230″,””,10)
    primes[1207]=9787;logs[primes[1207],”log”]=.toval(“3.990649588318850″,””,10)
    primes[1208]=9791;logs[primes[1208],”log”]=.toval(“3.990827050567480″,””,10)
    primes[1209]=9803;logs[primes[1209],”log”]=.toval(“3.991359002637950″,””,10)
    primes[1210]=9811;logs[primes[1210],”log”]=.toval(“3.991713275713090″,””,10)
    primes[1211]=9817;logs[primes[1211],”log”]=.toval(“3.991978790994580″,””,10)
    primes[1212]=9829;logs[primes[1212],”log”]=.toval(“3.992509335067780″,””,10)
    primes[1213]=9833;logs[primes[1213],”log”]=.toval(“3.992686039162130″,””,10)
    primes[1214]=9839;logs[primes[1214],”log”]=.toval(“3.992950960570450″,””,10)
    primes[1215]=9851;logs[primes[1215],”log”]=.toval(“3.993480319070000″,””,10)
    primes[1216]=9857;logs[primes[1216],”log”]=.toval(“3.993744756554460″,””,10)
    primes[1217]=9859;logs[primes[1217],”log”]=.toval(“3.993832866613990″,””,10)
    primes[1218]=9871;logs[primes[1218],”log”]=.toval(“3.994361151908000″,””,10)
    primes[1219]=9883;logs[primes[1219],”log”]=.toval(“3.994888795364910″,””,10)
    primes[1220]=9887;logs[primes[1220],”log”]=.toval(“3.995064534156140″,””,10)
    primes[1221]=9901;logs[primes[1221],”log”]=.toval(“3.995679060511620″,””,10)
    primes[1222]=9907;logs[primes[1222],”log”]=.toval(“3.995942162992550″,””,10)
    primes[1223]=9923;logs[primes[1223],”log”]=.toval(“3.996642991355470″,””,10)
    primes[1224]=9929;logs[primes[1224],”log”]=.toval(“3.996905510695670″,””,10)
    primes[1225]=9931;logs[primes[1225],”log”]=.toval(“3.996992981890710″,””,10)
    primes[1226]=9941;logs[primes[1226],”log”]=.toval(“3.997430073797470″,””,10)
    primes[1227]=9949;logs[primes[1227],”log”]=.toval(“3.997779430865600″,””,10)
    primes[1228]=9967;logs[primes[1228],”log”]=.toval(“3.998564458260940″,””,10)
    primes[1229]=9973;logs[primes[1229],”log”]=.toval(“3.998825819040290″,””,10)
    end function

    //*************************************************
    //* Kromkowski log really slow
    //*************************************************

    function main()
    number n
    number eval
    number denom
    number y
    number log
    integer i
    integer icount;// precision
    integer testy
    string sResult
    integer test
    array digits
    digits=@ array.new()

    integer e
    e = 0
    string message,title
    anyvalue prompt
    message = “Entry a number.”
    title = “log test”
    prompt = “”
    n = .toval(getuserinput(message,title,prompt, error =e),””,10)

    integer d
    i=0
    icount=4
    eval = n
    while i < icount
    d=.len(.tostr(INT(eval),10)) – 1
    digits=d
    y=eval/raisetopower(10,d)
    eval=raisetopower(y,10)
    i=i + 1
    end while

    i=0
    log=0
    while i < icount
    denom=raisetopower(10,i)
    testy=digits
    log=log + testy/denom
    i=i +1
    end while

    sResult=.tostr(.fix(log,raisetopower(10,icount)),10)

    end function “The log of ” + .tostr(n,10) + ” is:{d}{a}” + sResult

    ***********************************************
    Not mine and I can’t quite figure out the C

    //int fxlog(int x) {
    //int t,y;
    //
    // y=0xa65af;
    // if(x<0x00008000) x<<=16, y-=0xb1721;
    // if(x<0x00800000) x<<= 8, y-=0x58b91;
    // if(x<0x08000000) x<<= 4, y-=0x2c5c8;
    // if(x<0x20000000) x<<= 2, y-=0x162e4;
    // if(x<0x40000000) x<<= 1, y-=0x0b172;
    // t=x+(x>>1); if((t&0x80000000)==0) x=t,y-=0x067cd;
    // t=x+(x>>2); if((t&0x80000000)==0) x=t,y-=0x03920;
    // t=x+(x>>3); if((t&0x80000000)==0) x=t,y-=0x01e27;
    // t=x+(x>>4); if((t&0x80000000)==0) x=t,y-=0x00f85;
    // t=x+(x>>5); if((t&0x80000000)==0) x=t,y-=0x007e1;
    // t=x+(x>>6); if((t&0x80000000)==0) x=t,y-=0x003f8;
    // t=x+(x>>7); if((t&0x80000000)==0) x=t,y-=0x001fe;
    // x=0x80000000-x;
    // y-=x>>15;
    // return y;
    //}

    ///* input x is a 0.16 fixed-point number in [0,1)
    // function returns -log2(x) as a 5.16 fixed-point number in (0, 16]
    //*/
    //uint32_t nlog2_16 (uint16_t x)
    //{
    // uint32_t r = 0;
    // uint32_t t, a = x;
    //
    // /* try factors 2**i with i = 8, 4, 2, 1 */
    // if ((t = a << 8 ) < 0x10000) { a = t; r += 0x80000; }
    // if ((t = a << 4 ) < 0x10000) { a = t; r += 0x40000; }
    // if ((t = a << 2 ) < 0x10000) { a = t; r += 0x20000; }
    // if ((t = a << 1 ) < 0x10000) { a = t; r += 0x10000; }
    // /* try factors (1+2**(-i)) with i = 1, .., 16 */
    // if ((t = a + (a >> 1)) < 0x10000) { a = t; r += 0x095c0; }
    // if ((t = a + (a >> 2)) < 0x10000) { a = t; r += 0x0526a; }
    // if ((t = a + (a >> 3)) < 0x10000) { a = t; r += 0x02b80; }
    // if ((t = a + (a >> 4)) < 0x10000) { a = t; r += 0x01664; }
    // if ((t = a + (a >> 5)) < 0x10000) { a = t; r += 0x00b5d; }
    // if ((t = a + (a >> 6)) < 0x10000) { a = t; r += 0x005ba; }
    // if ((t = a + (a >> 7)) < 0x10000) { a = t; r += 0x002e0; }
    // if ((t = a + (a >> 8)) < 0x10000) { a = t; r += 0x00171; }
    // if ((t = a + (a >> 9)) < 0x10000) { a = t; r += 0x000b8; }
    // if ((t = a + (a >> 10)) < 0x10000) { a = t; r += 0x0005c; }
    // if ((t = a + (a >> 11)) < 0x10000) { a = t; r += 0x0002e; }
    // if ((t = a + (a >> 12)) < 0x10000) { a = t; r += 0x00017; }
    // if ((t = a + (a >> 13)) < 0x10000) { a = t; r += 0x0000c; }
    // if ((t = a + (a >> 14)) < 0x10000) { a = t; r += 0x00006; }
    // if ((t = a + (a >> 15)) < 0x10000) { a = t; r += 0x00003; }
    // if ((t = a + (a >> 16)) < 0x10000) { a = t; r += 0x00001; }
    // return r;
    //}

    // /* Compute floor(log(u)/log(1-p)) for 0 < u < 1 and 0 < p < 1,
    // where ‘u’ and ‘p’ are represented as 0.16 fixed-point numbers
    // Result is an integer in range [0, 1048676]
    //*/
    //uint32_t func (uint16_t u, uint16_t p)
    //{
    // uint16_t one_minus_p = 0x10000 – p; // 1.0 – p
    // uint32_t log_u = nlog2_16 (u);
    // uint32_t log_p = nlog2_16 (one_minus_p);
    // uint32_t res = log_u / log_p; // divide and floor in one go
    // return res;
    //}

    in reply to: Strange Unwanted and Odd precision #3520
    JD Kromkowski
    Participant

    Here is how I fixed the problem (who knows what I did so many years ago to create the issue in SB and or what happened when data was converted):

    sbme =@ sbme1.new(“C:\Users\Public\Documents\SIMPOL Office\mysbme.sbm”, “O”, error=e)
    if sbme =@= .nul
    s = “Error number ” + .tostr(e, 10) + ” opening the SBME file”
    else
    tablename =@ sbme.opentable(“MYTABLE”, error=e)
    if e
    s = “Error number ” + .tostr(e, 10) + ” opening the table{d}{a}”
    else
    sbindex =@ tablename.firstindex
    sfieldnameX = “MyField”
    sbfieldX =@ getfield(tablename,sfieldnameX)
    fieldtype = sbfieldX.datatype
    r =@ tablename.select(lastrecord=.false, locktype = “exclusive”, error = e)
    recount = tablename.recordcount()
    while count < recount
    data[count] = r.get(sbfieldX)
    s = .tostr(data[count],10)
    if .len(s) > 10
    testnumber = .fix(data[count],100)
    r.put(sbfieldX,testnumber)
    r.save(“”, error=e)
    sbme.commit(error)
    data[count] = r.get(sbfieldX)
    end if
    r =@ r.select(previousrecord=.false, locktype = “exclusive”, error = e)
    count = count + 1
    end while (e == 64)
    end if
    end if
    end function s

    in reply to: Strange Unwanted and Odd precision #3519
    JD Kromkowski
    Participant

    I understand issues with indexes on number field. But how to a search for or do reports involving (like most businesses) currency.

    Say there is an invoice for 99.68 (< this is what I entered)
    What is actually saved is 99.68000000000000682121026329696178436279296875

    If I run a report (or filter) BILLS.”BillTotal” = 99.68, I will get no records!
    This didn’t happen in SB, did it. Because I never remembered this problem.

    So what do I do?

    I’ve started manually trying to fix records by setting display to scientific notation so I can find and then changing 99.68000000000000682121026329696178436279296875 to 98.68.

    I can’t use round() or .fix to update or calculate columns in a report or filter.

    Even multiplying by a 100, doesn’t correct the problem.

Viewing 15 posts - 1 through 15 (of 284 total)