During aplying transformations described below, fixed part must stay visible. Fixed part position must stay constant according to the puzzle solver (you). Each transformation consists of moves. Moves coding is as follows: n,m are integers (in general, they can be negative, zero or positive). N represents upper slice rotation and m represents lower slice rotation. We will use clockwise rotations for positive integers and counterclockwise rotations for negative integers. Integer n means, we will rotate upper slice clockwise, until we do not get the nth available position for swapping (note, that there are 8 available positions for each slice, when the cube is in its cube shape). Note, when n=m=0 or n=m=8, we do nothing. After rotations, we can swap upper and lower halfslices. Note, that every transformation consists of x moves, where x is even integer. Formal definition of move: n upper slice clockwise rotations, m lower slice clockwise rotations and halfslices swap.
We will presuppose, that puzzle solver is able to put the cube into its cube shape. This elementary transformations are trivial. The next presupposition is, that puzzle solver is able to switch lower and upper slice. It can be done easily by 2moves transformation. It is recommended to write down all 2moves transformations they are cubeselfpreservating.
Now, let's look at the transformations table (which can be obtained by writing a simple program analyzing possible operations). There are some edges transformations, corners transformations and mixed transformations (swaps two edges and two corners at once). There are two possibilities (or states), when you are finishing: all colors and pieces match. This is the happy case. The second state is, there are only two edges to swap. In this case, we need to switch cube's parity (i.e. switch from a state belonging to one half of its total states, to another state, belonging to the another half of its total states). This can be done by special transformation. It consists of three steps: fan creation, parity switching and cube restoration. After this, continue as before to finish the cube.
Edges transformations  Moves sequences 
11
11 11 21 31 13 

51
11 11 12 22 22 

61
11 11 53 82 33 

61
11 11 11 11 42 11 33 33 11 

21
51 71 46 

21
31 71 66 

21
11 71 86 

11
22 81 53 

11
22 41 53 

61
11 11 11 31 42 13 33 13 11 

61
11 11 53 73 51 

11
11 11 21 31 22 

Corners transformations  
11
11 11 12 22 22 

55
11 11 12 31 13 

21
31 53 84 

21
11 53 82 

11
22 23 35 

21
51 53 86 

11
22 21 35 

11
22 41 35 

11
22 61 35 

Mixed transformations  
11
14 21 31 23 21 

21
28 22 42 24 42 

Special transformation  
How to swap 2 edges only ?  fan creation
00 13 11 21 parity switching 20 02 14 20 cube restoration 20 21 11 13 continue as before... 