Preheat oven to 175 degrees C (350 degrees F). Grease and flour three 20cm (8 inch) round cake tins.
Beat egg whites until they form stiff peaks.
In a large bowl, cream 1/2 cup margarine and shortening till light. Add caster sugar, and beat till fluffy. Beat in egg yolks. Stir together flour and bicarbonate of soda, and add alternately with buttermilk into the creamed mixture; mix well after each addition. Stir in 1 teaspoon vanilla, coconut, and 1 cup pecans. Fold in stiffly beaten egg whites. Spoon into prepared tins.
Bake for 25 to 40 minutes. Cool in tins for 10 minutes. Remove to wire rack to cool completely.
Combine cream cheese, 1/2 cup margarine, icing sugar, and 1 teaspoon vanilla in mixer bowl. Beat till smooth. Add coconut if desired. Frost the cooled cake. The remaining 1/2 cup pecans can be stirred into frosting or sprinkled onto the cake after it is frosted.