mersenneforum.org Doublecheck always have shifted S0 value?
 User Name Remember Me? Password
 Register FAQ Search Today's Posts Mark Forums Read

 2010-06-01, 09:42 #1 ATH Einyen     Dec 2003 Denmark 2×1,579 Posts Doublecheck always have shifted S0 value? Sometimes I wonder if a normal LL test is sometimes registered as a doublecheck, without having shifted S0 starting value. Cases like this: 36127031 (before) No factors below 2^67 P-1 B1=435000, B2=9461250 Suspect LL 2F7D978FEC8E03__ by "Daniel Paoliello" Assigned LL testing to "ANONYMOUS" on 2009-04-11 36127031 (now) No factors below 2^67 P-1 B1=435000, B2=9461250 Verified LL 2F7D978FEC8E0313 by "Daniel Paoliello" Verified LL 2F7D978FEC8E0313 by "ANONYMOUS" on 2010-05-09 History 2F7D978FEC8E03__ by "ANONYMOUS" on 2010-05-09 Did Anonymous really start the test as a doublecheck back on 2009-04-11 when there only was a suspect LL done? Or was it a normal LL that is now registered as a doublecheck. Last fiddled with by ATH on 2010-06-01 at 09:43
 2010-06-01, 10:27 #2 cheesehead     "Richard B. Woods" Aug 2002 Wisconsin USA 1E0C16 Posts Are you questioning the time span? It seems normal enough that a suspect (because of error codes) first-time LL would, after the doublecheck LL returns the same residue (without significant error codes), then be considered okay. (My understanding is that the S0 value is pseudorandomly shifted at the start of all LL runs, whether first-time, DC, or later.) Last fiddled with by cheesehead on 2010-06-01 at 10:31
2010-06-01, 11:05   #3
ATH
Einyen

Dec 2003
Denmark

2×1,579 Posts

Quote:
 Originally Posted by cheesehead (My understanding is that the S0 value is pseudorandomly shifted at the start of all LL runs, whether first-time, DC, or later.)
I didn't know it was always shifted. If this is correct, then there is no problem: All LL test can be doublechecks if residues match.

I thought it was only shifted when you did a DoubleCheck= in worktodo.txt instead of Test=

Last fiddled with by ATH on 2010-06-01 at 11:06

 2010-06-01, 12:20 #4 garo     Aug 2002 Termonfeckin, IE 53148 Posts I think there is a random shift applied at the start of every test. An exponent is only deemed doublechecked when there is a matching residue from two tests with different shift counts.
 2010-06-01, 15:28 #5 mdettweiler A Sunny Moo     Aug 2007 USA (GMT-5) 3×2,083 Posts What I always understood was that the S0 value was only randomized with DoubleCheck= and not with Test=. There seems to be quite a bit of uncertainty about how exactly this works, though, so it's quite possible I got this information from someone who in turn was mistaken. Perhaps George could clarify? Also, one quick question: when S0 is shifted, do interim residues still match? If not, then that would mean that all of the big-iron verifications of newly-found Mersenne primes (for which interim residues are compared throughout) actually use the same S0 and thus would not be as good a check as intended.
2010-06-01, 15:42   #6
axn

Jun 2003

508110 Posts

Quote:
 Originally Posted by mdettweiler What I always understood was that the S0 value was only randomized with DoubleCheck= and not with Test=. There seems to be quite a bit of uncertainty about how exactly this works, though, so it's quite possible I got this information from someone who in turn was mistaken. Perhaps George could clarify?
This was my understanding, too.

Quote:
 Originally Posted by mdettweiler Also, one quick question: when S0 is shifted, do interim residues still match?
AFAIK, yes.
Quote:
 Originally Posted by mdettweiler If not, then that would mean that all of the big-iron verifications of newly-found Mersenne primes (for which interim residues are compared throughout) actually use the same S0 and thus would not be as good a check as intended.
Well, even if the big-iron verifications used the same S0, it is in fact a much better independent test, since a) the code used is different and b) cpu architecture is different. It is only when the same code is used on the same architecture that we need to use the random shift concept.

2010-06-01, 15:46   #7
Prime95
P90 years forever!

Aug 2002
Yeehaw, FL

22×7×269 Posts

Quote:
 Originally Posted by mdettweiler What I always understood was that the S0 value was only randomized with DoubleCheck= and not with Test=. There seems to be quite a bit of uncertainty about how exactly this works, though, so it's quite possible I got this information from someone who in turn was mistaken. Perhaps George could clarify?
S0 is always shifted a random amount.

Quote:
 when S0 is shifted, do interim residues still match?
Yes, the residues are unshifted prior to output.

2010-06-01, 15:53   #8
axn

Jun 2003

508110 Posts

Quote:
 Originally Posted by Prime95 S0 is always shifted a random amount.
Has it always been like this, or is this a recent development (for some value of "recent")?

2010-06-01, 16:18   #9

"Richard B. Woods"
Aug 2002
Wisconsin USA

1E0C16 Posts

Quote:
 Originally Posted by mdettweiler What I always understood was that the S0 value was only randomized with DoubleCheck= and not with Test=
That was probably just some misunderstanding of the need to have a different shift on the DC than on the first-time LL.

However, it's also true that when the pseudorandom shift was first introduced, there was a time period when all residues generated by older versions had not been shifted, so there were many cases in which a first-run LL had no shift, then the DC run on the new version did have a shift. You may have received advice from someone confused about that.

Since all DCs from older versions had no shift, there were also cases where both first-run and DC had no shift. You may have noticed that all low exponents have had a third LL regardless of whether the first two matched. I think this was done after the shift was introduced, so that the third run would have a nonzero shift, for further verification.

2010-06-02, 07:41   #10
ATH
Einyen

Dec 2003
Denmark

2×1,579 Posts

Quote:
 Originally Posted by Prime95 S0 is always shifted a random amount.
That's good to know, it makes alot more sense then. So the DoubleCheck= is only to determine which category you get your credit for?

Allthough if you do a Test= and it turns out to doublecheck a suspect LL or normal LL, I guess you get doublecheck credit anyway?

2010-06-02, 10:56   #11
Mini-Geek
Account Deleted

"Tim Sorbera"
Aug 2006
San Antonio, TX USA

17×251 Posts

Quote:
 Originally Posted by ATH That's good to know, it makes alot more sense then. So the DoubleCheck= is only to determine which category you get your credit for? Allthough if you do a Test= and it turns out to doublecheck a suspect LL or normal LL, I guess you get doublecheck credit anyway?
I'm not sure about credit, but I know that DoubleCheck= has a lower TF threshold than Test= does. I'd guess with Test= Prime95 figures it can save two LL tests by finding a factor, versus one with DoubleCheck=, so finding a factor is more valuable. Besides that, on the Prime95 end of things, it looks like there's no difference. Here's the output of Prime95 given this work file:
Code:
Test=216091
DoubleCheck=216091
Code:
M216091 no factor to 2^39, Wd1: 021E0177
M216091 completed P-1, B1=10000, B2=175000, Wd1: 05B5DAF7
M216091 no factor from 2^39 to 2^40, Wd1: 021E0177
M216091 is prime! Wd1: 8368E9FF,00000000

M216091 no factor to 2^38, Wd1: 021E0177
M216091 completed P-1, B1=10000, B2=90000, Wd1: 05B68EFF
M216091 no factor from 2^38 to 2^39, Wd1: 021E0177
M216091 is prime! Wd1: 8368E9FF,00000000
You'll notice that the only difference is that the Test= running had higher TF and P-1 limits. And since they both shift S0, there's not a major behind-the-scenes difference, either.

Last fiddled with by Mini-Geek on 2010-06-02 at 10:56

 Similar Threads Thread Thread Starter Forum Replies Last Post ATH Software 13 2012-09-30 07:19 NBtarheel_33 Lounge 0 2008-11-16 20:58 masser Sierpinski/Riesel Base 5 44 2006-09-24 17:19 Unregistered PrimeNet 9 2006-03-26 05:48 TheJudger Data 4 2005-04-04 08:54

All times are UTC. The time now is 12:54.

Thu Jul 29 12:54:40 UTC 2021 up 6 days, 7:23, 0 users, load averages: 1.61, 1.55, 1.76