E_CAST
E_CAST( 0, k,l, r,+,^, -);
E_CAST( 1, k,r, l,^, -,+);
E_CAST( 2, k,l, r, -,+,^);
E_CAST( 3, k,r, l,+,^, -);
E_CAST( 4, k,l, r,^, -,+);
E_CAST( 5, k,r, l, -,+,^);
E_CAST( 6, k,l, r,+,^, -);
E_CAST( 7, k,r, l,^, -,+);
E_CAST( 8, k,l, r, -,+,^);
E_CAST( 9, k,r, l,+,^, -);
E_CAST(10, k,l, r,^, -,+);
E_CAST(11, k,r, l, -,+,^);
E_CAST(12, k,l, r,+,^, -);
E_CAST(13, k,r, l,^, -,+);
E_CAST(14, k,l, r, -,+,^);
E_CAST(15, k,r, l,+,^, -);
E_CAST(15, k,l, r,+,^, -);
E_CAST(14, k,r, l, -,+,^);
E_CAST(13, k,l, r,^, -,+);
E_CAST(12, k,r, l,+,^, -);
E_CAST(11, k,l, r, -,+,^);
E_CAST(10, k,r, l,^, -,+);
E_CAST( 9, k,l, r,+,^, -);
E_CAST( 8, k,r, l, -,+,^);
E_CAST( 7, k,l, r,^, -,+);
E_CAST( 6, k,r, l,+,^, -);
E_CAST( 5, k,l, r, -,+,^);
E_CAST( 4, k,r, l,^, -,+);
E_CAST( 3, k,l, r,+,^, -);
E_CAST( 2, k,r, l, -,+,^);
E_CAST( 1, k,l, r,^, -,+);
E_CAST( 0, k,r, l,+,^, -);