Newer
Older

Julien Signoles
committed
/* Generated by Frama-C */
typedef int ArrayInt[5];
/*@ ensures
*\old(AverageAccel) ≡
(((((*\old(Accel))[4] + (*\old(Accel))[3]) + (*\old(Accel))[2]) +
(*\old(Accel))[1])
+ (*\old(Accel))[0])
/ 5;
*/
void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel,
int *AverageAccel);

Julien Signoles
committed
/*@ ensures
*\old(AverageAccel) ≡
(((((*\old(Accel))[4] + (*\old(Accel))[3]) + (*\old(Accel))[2]) +
(*\old(Accel))[1])
+ (*\old(Accel))[0])
/ 5;

Julien Signoles
committed
*/
void atp_NORMAL_computeAverageAccel(ArrayInt *Accel, int *AverageAccel)

Julien Signoles
committed
{
__e_acsl_store_block((void *)(& Accel),8UL);
__e_acsl_store_block((void *)(& AverageAccel),8UL);
__e_acsl_initialize((void *)AverageAccel,sizeof(int));

Julien Signoles
committed
*AverageAccel = (((((*Accel)[4] + (*Accel)[3]) + (*Accel)[2]) + (*Accel)[1]) + (*Accel)[0]) / 5;
__e_acsl_delete_block((void *)(& Accel));
__e_acsl_delete_block((void *)(& AverageAccel));

Julien Signoles
committed
return;
}
int main(void)
{
int __retres;
ArrayInt Accel;
int av;
__e_acsl_memory_init((int *)0,(char ***)0,8UL);
__e_acsl_store_block((void *)(& av),4UL);
__e_acsl_store_block((void *)(Accel),20UL);
__e_acsl_initialize((void *)(Accel),sizeof(int));
Accel[0] = 1;
__e_acsl_initialize((void *)(& Accel[1]),sizeof(int));
Accel[1] = 2;
__e_acsl_initialize((void *)(& Accel[2]),sizeof(int));
Accel[2] = 3;
__e_acsl_initialize((void *)(& Accel[3]),sizeof(int));
Accel[3] = 4;
__e_acsl_initialize((void *)(& Accel[4]),sizeof(int));
Accel[4] = 5;
__gen_e_acsl_atp_NORMAL_computeAverageAccel(& Accel,& av);
__retres = 0;
__e_acsl_delete_block((void *)(& av));
__e_acsl_delete_block((void *)(Accel));
__e_acsl_memory_clean();
return __retres;
}

Julien Signoles
committed
/*@ ensures
*\old(AverageAccel) ≡
(((((*\old(Accel))[4] + (*\old(Accel))[3]) + (*\old(Accel))[2]) +
(*\old(Accel))[1])
+ (*\old(Accel))[0])
/ 5;

Julien Signoles
committed
*/
void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel,
int *AverageAccel)

Julien Signoles
committed
{
ArrayInt *__gen_e_acsl_at_6;
ArrayInt *__gen_e_acsl_at_5;
ArrayInt *__gen_e_acsl_at_4;
ArrayInt *__gen_e_acsl_at_3;
ArrayInt *__gen_e_acsl_at_2;
int *__gen_e_acsl_at;
__e_acsl_store_block((void *)(& Accel),8UL);
__e_acsl_store_block((void *)(& AverageAccel),8UL);
__gen_e_acsl_at_6 = Accel;
__gen_e_acsl_at_5 = Accel;
__gen_e_acsl_at_4 = Accel;
__gen_e_acsl_at_3 = Accel;
__gen_e_acsl_at_2 = Accel;
__gen_e_acsl_at = AverageAccel;

Julien Signoles
committed
atp_NORMAL_computeAverageAccel(Accel,AverageAccel);

Julien Signoles
committed
{
int __gen_e_acsl_valid_read;
int __gen_e_acsl_valid_read_2;
int __gen_e_acsl_valid_read_3;
int __gen_e_acsl_valid_read_4;
int __gen_e_acsl_valid_read_5;
int __gen_e_acsl_valid_read_6;
__gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(*__gen_e_acsl_at_6),
sizeof(int));
__e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",
(char *)"atp_NORMAL_computeAverageAccel",
(char *)"mem_access: \\valid_read((int *)*__gen_e_acsl_at_6)",
__gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at_5)[1]),
sizeof(int));
__e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",
(char *)"atp_NORMAL_computeAverageAccel",
(char *)"mem_access: \\valid_read(&(*__gen_e_acsl_at_5)[1])",
__gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at_4)[2]),
sizeof(int));
__e_acsl_assert(__gen_e_acsl_valid_read_3,(char *)"RTE",
(char *)"atp_NORMAL_computeAverageAccel",
(char *)"mem_access: \\valid_read(&(*__gen_e_acsl_at_4)[2])",
__gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at_3)[3]),
sizeof(int));
__e_acsl_assert(__gen_e_acsl_valid_read_4,(char *)"RTE",
(char *)"atp_NORMAL_computeAverageAccel",
(char *)"mem_access: \\valid_read(&(*__gen_e_acsl_at_3)[3])",
__gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at_2)[4]),
sizeof(int));
__e_acsl_assert(__gen_e_acsl_valid_read_5,(char *)"RTE",
(char *)"atp_NORMAL_computeAverageAccel",
(char *)"mem_access: \\valid_read(&(*__gen_e_acsl_at_2)[4])",
__gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)__gen_e_acsl_at,
sizeof(int));
__e_acsl_assert(__gen_e_acsl_valid_read_6,(char *)"RTE",
(char *)"atp_NORMAL_computeAverageAccel",
(char *)"mem_access: \\valid_read(__gen_e_acsl_at)",8);
__e_acsl_assert(*__gen_e_acsl_at == (int)((((((*__gen_e_acsl_at_2)[4] + (long)(*__gen_e_acsl_at_3)[3]) + (*__gen_e_acsl_at_4)[2]) + (*__gen_e_acsl_at_5)[1]) + (*__gen_e_acsl_at_6)[0]) / 5L),
(char *)"Postcondition",
(char *)"atp_NORMAL_computeAverageAccel",
(char *)"*\\old(AverageAccel) ==\n(((((*\\old(Accel))[4] + (*\\old(Accel))[3]) + (*\\old(Accel))[2]) +\n (*\\old(Accel))[1])\n + (*\\old(Accel))[0])\n/ 5",
__e_acsl_delete_block((void *)(& Accel));
__e_acsl_delete_block((void *)(& AverageAccel));

Julien Signoles
committed
return;
}
}