This algorithm can be described like this:
If the initial position n is 26a+b or equivalently (a,b), where a is 0 or 1 and b ranges from 0 to 25 (positions range from 0 to 51, equivalently b=n mod 26 and a=(n-b)/26), then the position after shuffling is 2b+a.
Notice what happens to the card in position 1 (the card just below the top), a.k.a. the orbit of this element under the map...
1 (0,1) start
2 (0,2) 1 shuffle
4 (0,4) 2 shuffles
8 (0,8) 3 shuffles
16 (0,16) 4 shuffles
32 (1,6) 5 shuffles
13 (0,13) 6 shuffles
26 (1,0) 7 shuffles
1 (0,1) 8 shuffles
so it takes at least 8 shuffles to bring the deck back to its original order; more specifically it takes a multiple of 8
let's look at the card in position 3...
3 (0,3)->6 (0,6)->12 (0,12)->24 (0,24)->48 (1,22)->45 (1,19)->39 (1,13)->27 (1,1)->3 (0,3)
also 8 shuffles
it looks like there are 2 orbits of length 1 (card 0 (0,0) and card 51 (1,25)), 6 orbits of length 8, and 1 orbit of length 2: 17 (0,17)->34 (1,8)->17 (0,17)
just to check, I will lay out the remaining 4 orbits of length 8...
5 (0,5)->10 (0,10)->20 (0,20)->40 (1,14)->29 (1,3)->7 (0,7)->14 (0,14)->28 (1,2)->5 (0,5)
9 (0,9)->18 (0,18)->36 (1,10)->21 (0,21)->42 (1,16)->33 (1,7)->15 (0,15)->30 (1,4)->9 (0,9)
11 (0,11)->22 (0,22)->44 (1,18)->37 (1,11)->23 (0,23)->46 (1,20)->41 (1,15)->31 (1,5)->11 (0,11)
19 (0,19)->38 (1,12)->25 (0,25)->50 (1,24)->49 (1,23)->47 (1,21)->43 (1,17)->35 (1,9)->19 (0,19)
I cheated by looking it up on MathWorld and found that it really does simplify things: the so-called "in-shuffle" in which the top card of the bottom half ends up on top requires 52 iterations to get to the original order!
The in-shuffle sends a card in position 26a+b, where a is 0 or 1 and b ranges from 0 to 25, to 2b+1-a, and the single orbit (starting at the top card) is
0 (0,0)->1 (0,1)->3 (0,3)->7 (0,7)->15 (0,15)->31 (1,5)->10 (0,10)->21 (0,21)->43 (1,17)->34 (1,8)->16 (0,16)->33 (1,7)->14 (0,14)->29 (1,3)->6 (0,6)->13 (0,13)->27 (1,1)->2 (0,2)->5 (0,5)->11 (0,11)->23 (0,23)->47 (1,21)->42 (1,16)->32 (1,6)->12 (0,12)->25 (0,25)->51 (1,25)->50 (1,24)->48 (1,22)->44 (1,18)->36 (1,10)->20 (0,20)->41 (1,15)->30 (1,4)->8 (0,8)->17 (0,17)->35 (1,9)->18 (0,18)->37 (1,11)->22 (0,22)->45 (1,19)->38 (1,12)->24 (0,24)->49 (1,23)->46 (1,20)->40 (1,14)->28 (1,2)->4 (0,4)->9 (0,9)->19 (0,19)->39 (1,13)->26 (1,0)->0 (0,0)
I'm sure that someone has studied the orbits of the in-shuffle on more general sets (the out-shuffle on a deck is equivalent to the in-shuffle on a deck with 2 fewer cards); for decks of size 2k, the group action can be defined by letting each position n be represented as (a,b) where b=n (mod k) and a=(n-b)/k, so that n=ak+b, and then the action sends n->2b+1-a.