diff --git a/src/qcbor_encode.c b/src/qcbor_encode.c
index 567f463..23e9037 100644
--- a/src/qcbor_encode.c
+++ b/src/qcbor_encode.c
@@ -262,11 +262,11 @@
  function is called the float or double must be copied into a
  uint64_t. That is how they are passed in. They are then converted to
  network byte order correctly. The uMinLen param makes sure that even
- if all the digits of a halft, float or double are 0 it is still correctly
+ if all the digits of a half, float or double are 0 it is still correctly
  encoded in 2, 4 or 8 bytes.
  
  */
-#ifndef FORMALLY_CORRECT_INSERTENCODEDTYPEANDNUMBER
+#ifndef FORMAL_UNOPTIMIZED_INSERTENCODEDTYPEANDNUMBER
 /* This code does endian conversion without hton or knowing the
  endianness of the machine with masks and shifts. It avoids the
  dependency on hton and any mess of figuring out how to find
@@ -277,19 +277,21 @@
  because CBOR/network byte order is big endian. However big
  endian machines are uncommon.
  
- It is about 200 bytes instead of 500 bytes of code on x86.
+ On x86, it is about 200 bytes instead of 500 bytes for the
+ more formal unoptimized code.
  
- This also does the preferred shortest encoding for integers.
+ This also does the CBOR preferred shortest encoding for integers
+ and is called to do endian conversion for floats.
  
  It works backwards from the LSB to the MSB as needed.
  
  Code Reviewers: THIS FUNCTION DOES POINTER MATH
  */
-
+#include <stdio.h>
 static void InsertEncodedTypeAndNumber(QCBOREncodeContext *me, uint8_t uMajorType, int nMinLen, uint64_t uNumber, size_t uPos)
 {
    uint8_t bytes[sizeof(uint64_t)+2];
-   uint8_t *pByte = &bytes[sizeof(bytes)];
+   uint8_t *pByte = &bytes[sizeof(bytes)-1];
    uint8_t ib;
    
    if(uNumber < CBOR_TWENTY_FOUR && nMinLen == 0) {
@@ -298,9 +300,9 @@
       static const uint8_t aIterate[] = {1,1,2,4};
       ib = 0;
       while(uNumber || nMinLen > 0) {
-         const uint8_t x = aIterate[ib];
-         nMinLen -= x;
-         for (int i = 0; i < x; i++) {
+         const uint8_t uIterations = aIterate[ib];
+         nMinLen -= uIterations;
+         for (int i = 0; i < uIterations; i++) {
             *--pByte = uNumber & 0xff;
             uNumber = uNumber >> 8;
          }
@@ -309,8 +311,8 @@
       ib += LEN_IS_ONE_BYTE-1;
    }
    *--pByte = (uMajorType << 5) + ib;
-   
-   UsefulOutBuf_InsertData(&(me->OutBuf), pByte, &bytes[sizeof(bytes)] - pByte, uPos);
+
+   UsefulOutBuf_InsertData(&(me->OutBuf), pByte, &bytes[sizeof(bytes)-1] - pByte, uPos);
 }
 
 #else
@@ -623,20 +625,23 @@
  6                   QCBOREncode_AddTag
  7                   QCBOREncode_AddDouble, QCBOREncode_AddSimple
  
- Object code sizes on X86 with LLVM compiler and -Os (Nov 27, 2018)
+ Object code sizes on X86 with LLVM compiler and -Os (Dec 13, 2018)
  
  _QCBOREncode_Init   84
  _QCBOREncode_AddUInt64   76
  _QCBOREncode_AddInt64   87
  _QCBOREncode_AddBuffer   131
+ _QCBOREncode_AddTag 27
  _QCBOREncode_AddSimple   30
  _AppendType7   83
+ _QCBOREncode_AddDouble 36
  _QCBOREncode_OpenMapOrArray   89
  _QCBOREncode_CloseMapOrArray   181
- _InsertEncodedTypeAndNumber   480
+ _InsertEncodedTypeAndNumber   190
  _QCBOREncode_Finish   72
+ _QCBOREncode_FinishGetSize  70
  
- Total is about 1.4KB (including FinishGetSize and AddTag and AddDouble)
+ Total is about 1.1KB
  
  _QCBOREncode_CloseMapOrArray is larger because it has a lot
  of nesting tracking to do and much of Nesting_ inlines
@@ -650,225 +655,5 @@
  */
 
 
-/*
- _InsertEncodedTypeAndNumber:            ## @InsertEncodedTypeAndNumber
-Lfunc_begin10:
-	.loc	7 307 0                 ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:307:0
-	.cfi_startproc
-## BB#0:
-	pushq	%rbp
-Lcfi30:
-	.cfi_def_cfa_offset 16
-Lcfi31:
-	.cfi_offset %rbp, -16
-	movq	%rsp, %rbp
-Lcfi32:
-	subq	$80, %rsp
-	movb	%sil, %al
-	movl	$4294967295, %esi       ## imm = 0xFFFFFFFF
-	movl	%esi, %r9d
-	movq	(%r10), %r10
-	movq	%r10, -8(%rbp)
-	movq	%rdi, -32(%rbp)
-	movb	%al, -33(%rbp)
-	movq	%rdx, -48(%rbp)
-	movq	%rcx, -56(%rbp)
-	movq	%r8, -64(%rbp)
-Ltmp50:
-	.loc	7 314 15 prologue_end   ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:314:15
-	movzbl	-33(%rbp), %esi
-	shll	$5, %esi
-	movb	%sil, %al
-	movb	%al, -33(%rbp)
-Ltmp51:
-	.loc	7 316 15                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:316:15
-	cmpq	%r9, -56(%rbp)
-	.loc	7 316 28 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:316:28
-	ja	LBB10_2
-## BB#1:
-	.loc	7 316 39                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:316:39
-	cmpq	$8, -48(%rbp)
-Ltmp52:
-	.loc	7 316 7                 ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:316:7
-	jb	LBB10_3
-LBB10_2:
-Ltmp53:
-	.loc	7 317 19 is_stmt 1      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:317:19
-	movzbl	-33(%rbp), %eax
-	.loc	7 317 30 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:317:30
-	addl	$27, %eax
-	.loc	7 317 19                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:317:19
-	movb	%al, %cl
-	.loc	7 317 16                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:317:16
-	movb	%cl, -17(%rbp)
-	.loc	7 318 17 is_stmt 1      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:318:17
-	movq	-56(%rbp), %rdi
-	callq	__OSSwapInt64
-	.loc	7 318 15 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:318:15
-	movq	%rax, -56(%rbp)
-	.loc	7 319 7 is_stmt 1       ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:319:7
-	movq	-56(%rbp), %rax
-	movq	%rax, -16(%rbp)
-	.loc	7 320 16                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:320:16
-	movq	$9, -72(%rbp)
-	.loc	7 322 4                 ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:322:4
-	jmp	LBB10_15
-Ltmp54:
-LBB10_3:
-	.loc	7 322 22 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:322:22
-	cmpq	$65535, -56(%rbp)       ## imm = 0xFFFF
-	.loc	7 322 31                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:322:31
-	ja	LBB10_5
-## BB#4:
-	.loc	7 322 42                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:322:42
-	cmpq	$4, -48(%rbp)
-Ltmp55:
-	.loc	7 322 14                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:322:14
-	jb	LBB10_6
-LBB10_5:
-Ltmp56:
-	.loc	7 323 19 is_stmt 1      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:323:19
-	movzbl	-33(%rbp), %eax
-	.loc	7 323 30 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:323:30
-	addl	$26, %eax
-	.loc	7 323 19                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:323:19
-	movb	%al, %cl
-	.loc	7 323 16                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:323:16
-	movb	%cl, -17(%rbp)
-	.loc	7 324 28 is_stmt 1      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:324:28
-	movq	-56(%rbp), %rdx
-	movl	%edx, %eax
-	movl	%eax, %edi
-	callq	__OSSwapInt32
-	.loc	7 324 16 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:324:16
-	movl	%eax, -76(%rbp)
-	.loc	7 325 7 is_stmt 1       ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:325:7
-	movl	-76(%rbp), %eax
-	movl	%eax, -16(%rbp)
-	.loc	7 326 16                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:326:16
-	movq	$5, -72(%rbp)
-	.loc	7 328 4                 ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:328:4
-	jmp	LBB10_14
-Ltmp57:
-LBB10_6:
-	.loc	7 328 23 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:328:23
-	cmpq	$255, -56(%rbp)
-	.loc	7 328 30                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:328:30
-	ja	LBB10_8
-## BB#7:
-	.loc	7 328 40                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:328:40
-	cmpq	$2, -48(%rbp)
-Ltmp58:
-	.loc	7 328 15                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:328:15
-	jb	LBB10_9
-LBB10_8:
-Ltmp59:
-	.loc	7 330 19 is_stmt 1      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:330:19
-	movzbl	-33(%rbp), %eax
-	.loc	7 330 30 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:330:30
-	addl	$25, %eax
-	.loc	7 330 19                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:330:19
-	movb	%al, %cl
-	.loc	7 330 16                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:330:16
-	movb	%cl, -17(%rbp)
-	.loc	7 331 28 is_stmt 1      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:331:28
-	movq	-56(%rbp), %rdx
-	movw	%dx, %si
-	movzwl	%si, %edi
-	callq	__OSSwapInt16
-	movzwl	%ax, %edi
-	movw	%di, %ax
-	.loc	7 331 16 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:331:16
-	movw	%ax, -78(%rbp)
-	.loc	7 332 7 is_stmt 1       ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:332:7
-	movw	-78(%rbp), %ax
-	movw	%ax, -16(%rbp)
-	.loc	7 333 16                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:333:16
-	movq	$3, -72(%rbp)
-	.loc	7 335 4                 ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:335:4
-	jmp	LBB10_13
-Ltmp60:
-LBB10_9:
-	.loc	7 335 22 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:335:22
-	cmpq	$24, -56(%rbp)
-Ltmp61:
-	.loc	7 335 14                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:335:14
-	jb	LBB10_11
-## BB#10:
-Ltmp62:
-	.loc	7 337 19 is_stmt 1      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:337:19
-	movzbl	-33(%rbp), %eax
-	.loc	7 337 30 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:337:30
-	addl	$24, %eax
-	.loc	7 337 19                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:337:19
-	movb	%al, %cl
-	.loc	7 337 16                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:337:16
-	movb	%cl, -17(%rbp)
-	.loc	7 338 26 is_stmt 1      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:338:26
-	movq	-56(%rbp), %rdx
-	movb	%dl, %cl
-	.loc	7 338 15 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:338:15
-	movb	%cl, -79(%rbp)
-	.loc	7 339 7 is_stmt 1       ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:339:7
-	movb	-79(%rbp), %cl
-	movb	%cl, -16(%rbp)
-	.loc	7 340 16                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:340:16
-	movq	$2, -72(%rbp)
-	.loc	7 342 4                 ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:342:4
-	jmp	LBB10_12
-Ltmp63:
-LBB10_11:
-	.loc	7 344 18                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:344:18
-	movzbl	-33(%rbp), %eax
-	.loc	7 344 40 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:344:40
-	movq	-56(%rbp), %rcx
-	.loc	7 344 31                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:344:31
-	movb	%cl, %dl
-	movzbl	%dl, %esi
-	.loc	7 344 29                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:344:29
-	addl	%esi, %eax
-	.loc	7 344 18                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:344:18
-	movb	%al, %dl
-	.loc	7 344 16                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:344:16
-	movb	%dl, -17(%rbp)
-	.loc	7 345 16 is_stmt 1      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:345:16
-	movq	$1, -72(%rbp)
-Ltmp64:
-LBB10_12:
-	.loc	7 0 16 is_stmt 0        ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:0:16
-	jmp	LBB10_13
-LBB10_13:
-	jmp	LBB10_14
-LBB10_14:
-	jmp	LBB10_15
-LBB10_15:
-	leaq	-17(%rbp), %rsi
-	.loc	7 347 30 is_stmt 1      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:347:30
-	movq	-32(%rbp), %rdi
-	.loc	7 347 50 is_stmt 0      ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:347:50
-	movq	-72(%rbp), %rdx
-	.loc	7 347 60                ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:347:60
-	movq	-64(%rbp), %rcx
-	.loc	7 347 4                 ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:347:4
-	callq	_UsefulOutBuf_InsertData
-	movq	___stack_chk_guard@GOTPCREL(%rip), %rcx
-	movq	(%rcx), %rcx
-	movq	-8(%rbp), %rdx
-	cmpq	%rdx, %rcx
-	jne	LBB10_17
-## BB#16:
-	.loc	7 348 1 is_stmt 1       ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:348:1
-	addq	$80, %rsp
-	popq	%rbp
-	retq
-LBB10_17:
-	.loc	7 0 0 is_stmt 0         ## /Users/laurencelundblade/Code/QCBOR/master/src/qcbor_encode.c:0:0
-	callq	___stack_chk_fail
-Ltmp65:
-Lfunc_end10:
-	.cfi_endproc
-
-*/
-
 
 
