text: /**
   * @file Core13.c
   * @generated by InstrumentedCPrinter
   * @date Thu Mar 18 19:00:00 CET 2021
   *
   * Code generated for processing element Core13 (ID=13).
   */
  
  #include "preesm_gen.h"
  // Core Global Declaration
  extern pthread_barrier_t iter_barrier;
  extern int stopThreads;
  extern char *const explode_Split_0_output__Sobe__5;  // explode_Split_0_output > Sobel_5 size:= 9856*char defined in Core0
  extern uchar *const output_5__input__0;  // explode_Split_0_output_output_5 > Sobel_5_input size:= 9856*uchar defined in Core0
  extern uchar *const output__y_5__0;  // Erosion_5_output > implode_display_0_y_y_5 size:= 6336*uchar defined in Core0
  extern char *const Erosion_5__implode_display_0__0;  // Erosion_5 > implode_display_0_y size:= 6336*char defined in Core0
  extern uint64_t dumpedTimes[189]; //  size:= 189*uint64_t
  extern int nbExec[189]; //  size:= 189*int
  
  // Core Global Definitions
  char Core13[16896]; //  size:= 16896*char
  char *const Sobel_5__Dilation_5__0 = (char*) (Core13+0);  // Sobel_5 > Dilation_5 size:= 9152*char
  char *const Dilation_5__Erosion_5__0 = (char*) (Core13+9152);  // Dilation_5 > Erosion_5 size:= 7744*char
  uchar *const output__input__10 = (uchar*) (Core13+0);  // Sobel_5_output > Dilation_5_input size:= 9152*uchar
  uchar *const output__input__11 = (uchar*) (Core13+9152);  // Dilation_5_output > Erosion_5_input size:= 7744*uchar
  int idx;
  
  void *computationThread_Core13(void *arg){
  	if (arg != NULL) {
  		printf("Warning: expecting NULL arguments\n");
  	}
  	// Begin the execution loop
  #ifdef LOOP_SIZE // Case of a finite loop
  	int index;
  	for(index=0;index<LOOP_SIZE;index++){
  #else // Default case of an infinite loop
  	while(1){
  #endif
  		pthread_barrier_wait(&iter_barrier);
  		if(stopThreads){
  			pthread_exit(NULL);
  		}
  		dumpTime(165/*globalID*/,dumpedTimes); // 
  		*(nbExec+166) = 0;
  		receiveStart(); // Core0 > Core13: explode_Split_0_output__Sobe__5
  		dumpTime(166/*globalID*/,dumpedTimes); // 
  		*(nbExec+167) = 0;
  		receiveEnd(0, 13); // Core0 > Core13: explode_Split_0_output__Sobe__5
  		dumpTime(167/*globalID*/,dumpedTimes); // 
  		for(idx=0; idx<*(nbExec+168); idx++){
  			sobel(352/*width*/,28/*height*/,output_5__input__0,output__input__10); // Sobel_5
  		}
  		dumpTime(168/*globalID*/,dumpedTimes); // 
  		for(idx=0; idx<*(nbExec+169); idx++){
  			dilation(26/*height*/,352/*width*/,2/*window*/,output__input__10,output__input__11); // Dilation_5
  		}
  		dumpTime(169/*globalID*/,dumpedTimes); // 
  		for(idx=0; idx<*(nbExec+170); idx++){
  			erosion(22/*height*/,352/*width*/,2/*window*/,output__input__11,output__y_5__0); // Erosion_5
  		}
  		dumpTime(170/*globalID*/,dumpedTimes); // 
  		*(nbExec+171) = 0;
  		sendStart(13, 0); // Core13 > Core0: Erosion_5__implode_display_0__0
  		dumpTime(171/*globalID*/,dumpedTimes); // 
  		*(nbExec+172) = 0;
  		sendEnd(); // Core13 > Core0: Erosion_5__implode_display_0__0
  		dumpTime(172/*globalID*/,dumpedTimes); // 
  		pthread_barrier_wait(&iter_barrier);
  	}
  	return NULL;
  }
  
  