46 is calculated by next a designated counter ctime is incremented step 522 and it is determined whether a predetermined value c 0 is exceeded or not step 524 if ctime gt c 0 the process proceeds to step 526 if ctime u2267 c 0 the routine is terminated at step 526 a deterioration determination reference value l ref is determined from lvaf the reason the deterioration determination reference value l ref is determined based on lvaf is that when determining the deterioration of the catalyst based on the response curve length lvos of the output vos of the o 2 sensor 46 the determination reference value used to discriminate between normal and deteriorated catalyst conditions varies depending on the response curve length lvaf of the output vaf of the a f sensor 45 the reference value l ref is converted into a map and stored in advance in the rom 73 next in step 528 it is determined whether or not the response curve length lvos of the output vos of the o 2 sensor 46 is equal to or larger than the deterioration determination reference value l ref if lvos u2267 l ref it is determined that the catalyst is deteriorated and a designated alarm flag alm is set to 1 step 530 while at the same time an alarm lamp 68 see fig7 and 8 is turned on step 532 if lvos lt l ref it is.