always inline alloc_perturb.
diff mbox

Message ID 20141211203625.GA7490@domone
State New
Headers show

Commit Message

Ondřej Bílka Dec. 11, 2014, 8:36 p.m. UTC
Hi, 
to fix build error we change inline to always_inline. OK to commit?

	* malloc/malloc.c (alloc_perturb, free_perturb):
	use __always inline.

Comments

David Miller Dec. 11, 2014, 9:02 p.m. UTC | #1
From: Roland McGrath <roland@hack.frob.com>
Date: Thu, 11 Dec 2014 12:52:09 -0800 (PST)

> What's the actual effect on code generation?  The warnings I've seen for
> this are because it had inlined, cloned, and outlined (so only the test was
> inlined), which is probably optimal.  In general, unless there is a strong
> demonstrated reason to force inlining, we should usually just drop the
> inline keyword and let the compiler decide.

+1
Ondřej Bílka Dec. 12, 2014, 11:18 a.m. UTC | #2
On Thu, Dec 11, 2014 at 12:52:09PM -0800, Roland McGrath wrote:
> > Hi, 
> > to fix build error we change inline to always_inline. OK to commit?
> 
> What's the actual effect on code generation?  The warnings I've seen for
> this are because it had inlined, cloned, and outlined (so only the test was
> inlined), which is probably optimal.  In general, unless there is a strong
> demonstrated reason to force inlining, we should usually just drop the
> inline keyword and let the compiler decide.
>
Compiler uses simple heuristics for inlining, not magic. It pretty often
refuses to inline functions that after inlining he could say delete half
code as dead. Reason why it should be inlined is simple, unlikely branch
is much cheaper than function call.

I have a benchmark where noninlined version is 90 times slower than inlined one (which is mainly because there is big penalty for two calls in quick succession.)
 
 A following benchmark shows that inlining is better even if code is not
in cache, it runs in 5 seconds with always inline but gcc default is
6 seconds.

It uses standard trick of repeating code pattern many times so it will
not be in cache. Also I modified alloc_perturb bit to bump size which causes inlining and memory access so inline version does not get optimized away.

Trying to look at code size is bogus measure of cold code performance.
Here inlined version is 226199 bytes and gcc default just 149422 bytes.
That size also does not mean anything as in inline case only first 118299 bytes are read. That does not make much difference, when you change memset (foo, bar, n % 51515) to memset (foo, bar, n % 115) gcc decides expand memset which bumps code size to 362211 bytes, all read but it does not affect performance.
 
> > 	* malloc/malloc.c (alloc_perturb, free_perturb):
> > 	use __always inline.
> 
> Capitalize a sentence.  Typo: __always_inline.
>
OK with that fixed? 
> 
> Thanks,



#include <string.h>
#include <stdlib.h>
int perturb_byte = 0;
static
inline __attribute__ ((always_inline))
//__attribute__((noinline))
void
alloca_perturb (char *p, size_t n)
{
  if (__builtin_expect (perturb_byte, 0))
    memset (p, perturb_byte % 12 ^ 0xff, n % 51515);
}
int
main (int argc, char **argv)
{
  char per[100];
  per[1] = 0;
  per[2] = 0;
  per[3] = 0;
  per[4] = 0;
  int n = atoi (argv[1]);
  int i;
  for (i = 0; i < 500000; i++)
    {
      alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;
      alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;

      alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;
      alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;
      alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;
      alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;

      alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;
      alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;     alloca_perturb (per, n); perturb_byte = per[4] % 42;
      alloca_perturb (per, n); perturb_byte = per[3] % 42;
      alloca_perturb (per, n); perturb_byte = per[2] % 42;
      alloca_perturb (per, n); perturb_byte = per[1] % 42;
    }
  return per[4];
}
David Miller Dec. 12, 2014, 2:34 p.m. UTC | #3
From: Ondřej Bílka <neleai@seznam.cz>
Date: Fri, 12 Dec 2014 12:18:56 +0100

> Compiler uses simple heuristics for inlining, not magic. It pretty often
> refuses to inline functions that after inlining he could say delete half
> code as dead. Reason why it should be inlined is simple, unlikely branch
> is much cheaper than function call.

This only tells me that the compiler should become more sophisticated
over time, not that we should forver assume it can't do a good job.

If we continue to hand inline things, there is zero incentive to
make the compiler smarter about it.
Ondřej Bílka Dec. 12, 2014, 3:50 p.m. UTC | #4
On Fri, Dec 12, 2014 at 09:34:17AM -0500, David Miller wrote:
> From: Ondřej Bílka <neleai@seznam.cz>
> Date: Fri, 12 Dec 2014 12:18:56 +0100
> 
> > Compiler uses simple heuristics for inlining, not magic. It pretty often
> > refuses to inline functions that after inlining he could say delete half
> > code as dead. Reason why it should be inlined is simple, unlikely branch
> > is much cheaper than function call.
> 
> This only tells me that the compiler should become more sophisticated
> over time, not that we should forver assume it can't do a good job.
> 
> If we continue to hand inline things, there is zero incentive to
> make the compiler smarter about it.

And is worse performance in next ten years until that issues are fixed
acceptable?

To get smarter compiler you need to fill bugs where inliner misbehaves,
just promising that we will not inline and asking to improve gcc will
not help much.

For start you should make gathering profile information in libc
possible. Without that no compiler can make good decision as there are
workloads where he should inline and in other workload he shouldn't.
David Miller Dec. 12, 2014, 3:53 p.m. UTC | #5
From: Ondřej Bílka <neleai@seznam.cz>
Date: Fri, 12 Dec 2014 16:50:51 +0100

> And is worse performance in next ten years until that issues are fixed
> acceptable?

In moderate amounts, it's no big deal.

> To get smarter compiler you need to fill bugs where inliner misbehaves,
> just promising that we will not inline and asking to improve gcc will
> not help much.

And working around the compilers deficiencies nearly guarantees nothing
will be done about it.
Ondřej Bílka Dec. 19, 2014, 3:14 p.m. UTC | #6
On Fri, Dec 12, 2014 at 10:53:26AM -0500, David Miller wrote:
> From: Ondřej Bílka <neleai@seznam.cz>
> Date: Fri, 12 Dec 2014 16:50:51 +0100
> 
> > And is worse performance in next ten years until that issues are fixed
> > acceptable?
> 
> In moderate amounts, it's no big deal.

You have no guarantee that its just moderate amount. From your warnings
it looks that compiler decided never inline anything. So how much does
malloc_benchtest differ after you build with ./configure --disable-werror?

On x86 simulating that with noinline gives 10% performance degradation
which as half of total time spend in libc is in malloc+variants.

Patch
diff mbox

diff --git a/malloc/malloc.c b/malloc/malloc.c
index cb91b97..da09f2f 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -1854,14 +1854,14 @@  static int check_action = DEFAULT_CHECK_ACTION;
 
 static int perturb_byte;
 
-static inline void
+static __always_inline void
 alloc_perturb (char *p, size_t n)
 {
   if (__glibc_unlikely (perturb_byte))
     memset (p, perturb_byte ^ 0xff, n);
 }
 
-static inline void
+static __always_inline void
 free_perturb (char *p, size_t n)
 {
   if (__glibc_unlikely (perturb_byte))