2 Redundancy elimination ignored the difference between integer and floating-point arithmetic operations.
15 #if !defined(__SDCC_pdk14) && !defined(__SDCC_pdk15) // Lack of memory
16 void sum(int8_t tp
, intflt
*if1
, intflt
*if2
)
24 void sum2(int8_t tp
, intflt
*if1
, intflt
*if2
)
35 #if !defined(__SDCC_pdk14) && !defined(__SDCC_pdk15) // Lack of memory
40 ASSERT(data
.i
== -23 * -23);
44 ASSERT(data
.f
== -23.0f
* -23.0f
);
47 sum2(0, &data
, &data
);
48 ASSERT(data
.i
== -23 + -23);
51 sum2(1, &data
, &data
);
52 ASSERT(data
.f
== -23.0f
+ -23.0f
);