diff --git a/docs/source/installation.rst b/docs/source/installation.rst
index 7f49783..a924d95 100644
--- a/docs/source/installation.rst
+++ b/docs/source/installation.rst
@@ -701,8 +701,8 @@
 
 #. ``BUILD_DOCUMENTATION [Default: OFF]``: Use this to enable building
    the documentation, requires `Sphinx <http://sphinx-doc.org/>`_ and
-   the `sphinx-better-theme
-   <https://pypi.python.org/pypi/sphinx-better-theme>`_ package
+   the `sphinx-rtd-theme
+   <https://pypi.org/project/sphinx-rtd-theme/>`_ package
    available from the Python package index. In addition, ``make
    ceres_docs`` can be used to build only the documentation.
 
diff --git a/docs/source/nnls_solving.rst b/docs/source/nnls_solving.rst
index 5ee0b03..3c8ecbb 100644
--- a/docs/source/nnls_solving.rst
+++ b/docs/source/nnls_solving.rst
@@ -1408,7 +1408,7 @@
    computed Schur complement. This can improve the performance of the
    ``ITERATIVE_SCHUR`` solver significantly.
 
-   .. NOTE:
+   .. NOTE::
 
      This option can only be used with the ``SCHUR_JACOBI``
      preconditioner.
@@ -1453,6 +1453,36 @@
 
    This setting only affects the `SPARSE_NORMAL_CHOLESKY` solver.
 
+.. member:: bool Solver::Options::use_mixed_precision_solves
+
+   Default: ``false``
+
+   .. NOTE::
+
+     This feature is EXPERIMENTAL and under development, use at your
+     own risk!
+
+   If true, the Gauss-Newton matrix is computed in *double* precision, but
+   its factorization is computed in **single** precision. This can result in
+   significant time and memory savings at the cost of some accuracy in the
+   Gauss-Newton step. Iterative refinement is used to recover some
+   of this accuracy back.
+
+   If ``use_mixed_precision_solves`` is true, we recommend setting
+   ``max_num_refinement_iterations`` to 2-3.
+
+   This option is currently only available if
+   ``sparse_linear_algebra_library_type`` is ``EIGEN_SPARSE`` or
+   ``ACCELERATE_SPARSE``, and ``linear_solver_type`` is
+   ``SPARSE_NORMAL_CHOLESKY`` or ``SPARSE_SCHUR``.
+
+.. member:: int Solver::Options::max_num_refinement_iterations
+
+   Default: ``0``
+
+   Number steps of the iterative refinement process to run when
+   computing the Gauss-Newton step, see ``use_mixed_precision_solves``.
+
 .. member:: int Solver::Options::min_linear_solver_iterations
 
    Default: ``0``
diff --git a/include/ceres/solver.h b/include/ceres/solver.h
index 61b8dd5..74fb300 100644
--- a/include/ceres/solver.h
+++ b/include/ceres/solver.h
@@ -536,8 +536,9 @@
     // max_num_refinement_iterations to 2-3.
     //
     // NOTE2: The following two options are currently only applicable
-    // if sparse_linear_algebra_library_type is EIGEN_SPARSE and
-    // linear_solver_type is SPARSE_NORMAL_CHOLESKY, or SPARSE_SCHUR.
+    // if sparse_linear_algebra_library_type is EIGEN_SPARSE or
+    // ACCELERATE_SPARSE, and linear_solver_type is SPARSE_NORMAL_CHOLESKY
+    // or SPARSE_SCHUR.
     bool use_mixed_precision_solves = false;
 
     // Number steps of the iterative refinement process to run when
