That seems to agree with what I got, namely
(u,v) goes to (1/2)tens(u+vbar)  (i/2)tens(uvbar)i.
The idea I used (of yours) was that since the map from C[x] to CxC which induces the isomorphism, takes a polynomial to its pair of values at i and i, to invert it we are trying, as you say, to find a polynomial in C[x]/(x^2+1) whose value at i and i gives us u and v. But there is a standard trick for this, using euclid's algorithm for gcd's.
I.e. to invert the chinese remainder map Z/(mn)>Z/m x Z/n we solve an+bm = 1, and then an goes to (1,0) and bm goes to (0,1).
Since (xi)  (x+i) = 2/i, we get (i/2) (xi)  (i/2) (x+i) = 1, hence the
polynomials (i/2)(xi) and (i/2)(x+i) having the values (0,1) and (1,0) at i and i.
But this was apparently off by a conjugate, so I fudged it at the end, adding bar to the v's.
