neocekavane chovani cyklu for - problemy s optimalizaci ?

[code]

volatile unsigned int jj;
unsigned int ii,i;
char buffer[10];
double pom,uhel;

int main( void )
{
uint8_t *mem = malloc(BUFFER_SIZE);
.
.
.
jj = 0;

for (ii = 0; ii < 5; ii++){
  pom = sin(data);						//pom je typu double

  output_data = (unsigned int) ((pom + 1) * 10000 * 3.2768); 		//prevod double na u int - rozsah 0000 az FFFF
  
  horni_bajt = (output_data >> 8) & 0x00ff;							//horni a spodni uint_8
  mem[jj] = horni_bajt;
  spodni_bajt = output_data & 0x00ff;
  mem[jj+1] = spodni_bajt;
  
  jj = jj + 2;
  data = data + 1.57;
}


   while (1){	
  jj = 0;
  for(ii = 0; ii < 5; ii++){
	horni_bajt = mem[jj];
	spodni_bajt = mem[jj+1];
	jj = jj + 2;

        output_data = spojeni(horni_bajt,spodni_bajt);
    
	lcd_gotoxy (0,2);
        sprintf(buffer, "data do DAC: %d", output_data);
        lcd_puts(buffer);	  

        DAC_WRITE(2, output_data);		

   // _delay_ms(250);
  }	  
}

while( 1 ){
}
return( 1 );
}[/code]