I can show that this is true for your "simple" case.

----------
*If g(x,y)&nbsp;&isin;&nbsp;C<sup>&infin;</sup>(&#x0211d;<sup>2</sup>) vanishes on x&nbsp;&le;&nbsp;0 then it decomposes as g(x,y)&nbsp;=&nbsp;a(x)G(x,y) where a(x)&nbsp;&isin;&nbsp;C<sup>&infin;</sup>(&#x0211d;) vanishes on x&nbsp;&le;&nbsp;0 and G(x,y)&nbsp;&isin;&nbsp;C<sup>&infin;</sup>(&#x0211d;<sup>2</sup>).*

----------


This can be shown by proving the statements below. They could possibly be standard results, but I've never seen them before. The proofs are a bit sketchy at the moment, but I think they're good. 
First, I'll refer to the following sets of functions.

 - Let *U* be thet set of functions f(x)&isin;C<sup>&infin;</sup>(&#x0211d;) which vanish on x&le;0 and are positive on x&gt;0.
 - Let *V* be the set of functions f:&#x0211d;<sup>+</sup>&rarr;&#x0211d; such that x<sup>-n</sup>f(x)&rarr;0 as x&rarr;0, for each positive integer n.

The statements I need to show the main result are as follows.


**Lemma 1**: *For any f&isin;V, there is a g&isin;U such that f(x)/g(x)&rarr;0 as x&rarr;0.*

*Sketch proof*: Choose any smooth function r:&#x0211d;<sup>+</sup>&rarr;&#x0211d;<sup>+</sup> with r(x)&ge;1 for small x, and r(x)=0 for x&ge;1. For example, we can use r(x)&nbsp;=&nbsp;exp(2-1/(1-x)) for x&le;1. Then, the idea is to choose a sequence of positive reals &alpha;<sub>k</sub>&rarr;0, |&alpha;|&le;1 and set

$$ g(x)=x^{\sum_kr_k(x/\alpha_k)}={\rm exp}\left({\rm log}(x)\sum_kr_k(x/\alpha_k)\right)$$ 
for x&gt;0 and g(x)=0 for x&le;0. Only finitely many terms in the summation will be nonzero outside any neighborhood of 0, so it is a well defined expression, and smooth on x&gt;0. The n<sup>th</sup> derivative is bounded by K<sub>n</sub>x<sup>-n</sup>g(x)&Sigma;<sub>k</sub>1<sub>{x&lt;&alpha;<sub>k</sub>}</sub>&alpha;<sub>k</sub><sup>-n</sup>, for positive constants K<sub>n</sub>. As long as &alpha;<sub>k</sub> go to zero fast enough, this goes to zero as x&rarr;0, so g&isin;C<sup>&infin;</sup>(&#x0211d;).

By definition of f&isin;V, there is a decreasing sequence of positive reals &epsilon;<sub>k</sub> such that f(x)&le;x<sup>n</sup> for x&le;&epsilon;<sub>n</sub>. We just need to make sure that &alpha;<sub>k</sub>&le;&epsilon;<sub>n+1</sub> for k&ge;n to ensure that f(x)/g(x) goes to zero at rate x as x&rarr;0. 


**Lemma 2**: For any sequence f<sub>1</sub>,f<sub>2</sub>,...&isin;V there is a g&isin;U such that f<sub>k</sub>(x)/g(x)&rarr;0 as x&rarr;0 for all k.

*Sketch Proof*: The idea is to apply Lemma 1 to f(x)=&Sigma;<sub>k</sub>&lambda;<sub>k</sub>|f<sub>k</sub>(x)| for positive reals &lambda;<sub>k</sub>. This works as long as f&isin;V, which is the case if &Sigma;<sub>k</sub>&lambda;<sub>k</sub>min(x,1)<sup>-k</sup>sup<sub>x&le;k</sub>|f<sub>k</sub>(x)| is finite, and this condition is easy to ensure.

**Lemma 3**: For any sequence f<sub>1</sub>,f<sub>2</sub>,...&isin;V there is a g&isin;U such that f<sub>k</sub>(x)/g(x)<sup>n</sup>&rarr;0 as x&rarr;0 for all positive integers k,n.

*Proof*: Apply Lemma 2 to the doubly indexed sequence f<sub>k,n</sub>=|f<sub>k</sub>|<sup>1/n</sup>.

The result follows from applying lemma 3 to the triply indexed sequence f<sub>i,j,k</sub>(x)=max{|(d<sup>i+j</sup>/dx<sup>i</sup>dy<sup>j</sup>)g(x,y)|:|y|&le;k}&isin;V. Then, there is an a&isin;U such that f<sub>ijk</sub>(x)/a(x)<sup>n</sup>&rarr;0 as x&rarr;0. Set G(x,y)&nbsp;=&nbsp;f(x,y)/a(x) for x&gt;0 and G(x,y)&nbsp;=&nbsp;0 for x&nbsp;&le;&nbsp;0. On any bounded region for x&gt;0, the derivatives of G(x,y) to any order is a sum of terms, each of which is a product of f<sub>ijk</sub>(x,y)/a(x)<sup>n</sup> with derivatives of a(x), so this vanishes as x&rarr;0. Therefore, G&isin;C<sup>&infin;</sup>(&#x0211d;<sup>2</sup>).