# SDE Basic Weak Work-Precision Diagrams

In this notebook we will run some benchmarks for the weak error on some simple sample SDEs. The weak error is defined as:

$$ E_W = \mathbb{E}[Y_\delta(t)] - \mathbb{E}[Y(t)] $$

and is thus a measure of how close the mean of the numerical solution is to the mean of the true solution. Other moments can be measured as well, but the mean is a good stand-in for other properties. Note that convergence of the mean is calculated on a sample. Thus there's acutally two sources of error. We have not only the error between the numerical and actual results, but we also have the error of the mean to the true mean due to only taking a finite sample. Using the normal confidence interval of the mean due to the Central Limit Theorem, the error due to finite sampling is

$$ E_S = V[Y(t)]/\sqrt(N)$$

for $N$ being the number of samples. In practice,

$$ E = minimum(E_W,E_S)$$

Thus in each case, we will determine the variance of the true solution and use that to estimate the sample error, and the goal is to thus find the numerical method that achieves the sample error most efficiently.

```julia
using StochasticDiffEq, DiffEqDevTools, ParameterizedFunctions, DiffEqProblemLibrary
using Plots; gr()
```

    Plots.GRBackend()

### Additive Noise Problem

\begin{equation}
dX_{t}=\left(\frac{\beta}{\sqrt{1+t}}-\frac{1}{2\left(1+t\right)}X_{t}\right)dt+\frac{\alpha\beta}{\sqrt{1+t}}dW_{t},\thinspace\thinspace\thinspace X_{0}=\frac{1}{2}
\end{equation}
where $\alpha=\frac{1}{10}$ and $\beta=\frac{1}{20}$. Actual Solution:
\begin{equation}
X_{t}=\frac{1}{\sqrt{1+t}}X_{0}+\frac{\beta}{\sqrt{1+t}}\left(t+\alpha W_{t}\right).
\end{equation}

```julia
prob = prob_sde_additive

reltols = 1.0./10.0.^(1:5)
abstols = reltols#[0.0 for i in eachindex(reltols)]
setups = [
          Dict(:alg=>EM(),:dts=>1.0./5.0.^((1:length(reltols)) + 1))
          Dict(:alg=>RKMil(),:dts=>1.0./5.0.^((1:length(reltols)) + 1))
          Dict(:alg=>SRIW1(),:dts=>1.0./5.0.^((1:length(reltols)) + 1),:adaptive=>false)
          Dict(:alg=>SRA1(),:dts=>1.0./5.0.^((1:length(reltols)) + 1),:adaptive=>false)
          Dict(:alg=>SRA1())
          Dict(:alg=>SRIW1())
          ]
wp = WorkPrecisionSet(prob,abstols,reltols,setups;numruns_error=100,
                      save_everystep = false,
                      parallel_type = :threads,
                      error_estimate=:weak_final)
plot(wp)
```

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="600" height="400" viewBox="0 0 600 400">
<defs>
  <clipPath id="clip00">
    <rect x="0" y="0" width="600" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip5700)" points="
0,400 600,400 600,0 0,0
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip01">
    <rect x="120" y="0" width="421" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip5700)" points="
80.219,360.065 580.315,360.065 580.315,11.811 80.219,11.811
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip02">
    <rect x="80" y="11" width="501" height="349"/>
  </clipPath>
</defs>
<polyline clip-path="url(#clip5702)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  86.7337,354.842 86.7337,17.0348
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  214.954,354.842 214.954,17.0348
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  343.174,354.842 343.174,17.0348
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  471.394,354.842 471.394,17.0348
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,325.342 572.814,325.342
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,272.853 572.814,272.853
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,220.363 572.814,220.363
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,167.873 572.814,167.873
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,115.383 572.814,115.383
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,62.8937 572.814,62.8937
  "/>
<polyline clip-path="url(#clip5700)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,360.065 580.315,360.065
  "/>
<polyline clip-path="url(#clip5700)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,360.065 80.219,11.811
  "/>
<polyline clip-path="url(#clip5700)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  86.7337,360.065 86.7337,354.842
  "/>
<polyline clip-path="url(#clip5700)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  214.954,360.065 214.954,354.842
  "/>
<polyline clip-path="url(#clip5700)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  343.174,360.065 343.174,354.842
  "/>
<polyline clip-path="url(#clip5700)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  471.394,360.065 471.394,354.842
  "/>
<polyline clip-path="url(#clip5700)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,325.342 87.7205,325.342
  "/>
<polyline clip-path="url(#clip5700)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,272.853 87.7205,272.853
  "/>
<polyline clip-path="url(#clip5700)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,220.363 87.7205,220.363
  "/>
<polyline clip-path="url(#clip5700)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,167.873 87.7205,167.873
  "/>
<polyline clip-path="url(#clip5700)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,115.383 87.7205,115.383
  "/>
<polyline clip-path="url(#clip5700)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,62.8937 87.7205,62.8937
  "/>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 86.7337, 373.865)" x="86.7337" y="373.865">10^-10</text>
</g>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 214.954, 373.865)" x="214.954" y="373.865">10^-8</text>
</g>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 343.174, 373.865)" x="343.174" y="373.865">10^-6</text>
</g>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 471.394, 373.865)" x="471.394" y="373.865">10^-4</text>
</g>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 329.842)" x="74.219" y="329.842">10^-3.50</text>
</g>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 277.353)" x="74.219" y="277.353">10^-3.25</text>
</g>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 224.863)" x="74.219" y="224.863">10^-3.00</text>
</g>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 172.373)" x="74.219" y="172.373">10^-2.75</text>
</g>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 119.883)" x="74.219" y="119.883">10^-2.50</text>
</g>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 67.3937)" x="74.219" y="67.3937">10^-2.25</text>
</g>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(0, 330.267, 397.6)" x="330.267" y="397.6">Error</text>
</g>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(-90, 14.4, 185.938)" x="14.4" y="185.938">Time (s)</text>
</g>
<polyline clip-path="url(#clip5702)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  523.381,360.065 523.381,11.811
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  580.315,356.73 535.155,344.829
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  535.155,344.829 490.241,295.234
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  490.241,295.234 445.412,195.019
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  445.412,195.019 400.632,11.811
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  580.297,359.105 535.143,343.245
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  535.143,343.245 490.254,295.616
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  490.254,295.616 445.419,195.996
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  445.419,195.996 400.588,56.1322
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  434.133,325.652 425.827,340.854
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  425.827,340.854 341.049,331.812
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  341.049,331.812 217.583,231.04
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  217.583,231.04 89.9264,40.4625
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  435.708,360.065 420.646,337.527
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  420.646,337.527 331.06,294.35
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  331.06,294.35 207.942,207.687
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  207.942,207.687 80.219,25.7947
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  441.135,357.367 422.197,354.836
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  422.197,354.836 331.766,330.98
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  331.766,330.98 208.034,218.362
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  208.034,218.362 80.2492,25.6215
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  432.296,357.595 425.381,350.699
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  425.381,350.699 341.063,332.961
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  341.063,332.961 217.683,231.656
  "/>
<polyline clip-path="url(#clip5702)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  217.683,231.656 90.101,40.664
  "/>
<polygon clip-path="url(#clip5700)" points="
374.54,153.651 562.315,153.651 562.315,32.691 374.54,32.691
  " fill="#ffffff" fill-opacity="1"/>
<polyline clip-path="url(#clip5700)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  374.54,153.651 562.315,153.651 562.315,32.691 374.54,32.691 374.54,153.651
  "/>
<polyline clip-path="url(#clip5700)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  380.54,47.811 416.54,47.811
  "/>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 52.311)" x="422.54" y="52.311">Sample Error: 100</text>
</g>
<polyline clip-path="url(#clip5700)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,62.931 416.54,62.931
  "/>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 67.431)" x="422.54" y="67.431">StochasticDiffEq.EM</text>
</g>
<polyline clip-path="url(#clip5700)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,78.051 416.54,78.051
  "/>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 82.551)" x="422.54" y="82.551">StochasticDiffEq.RKMil</text>
</g>
<polyline clip-path="url(#clip5700)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,93.171 416.54,93.171
  "/>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 97.671)" x="422.54" y="97.671">StochasticDiffEq.SRIW1</text>
</g>
<polyline clip-path="url(#clip5700)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,108.291 416.54,108.291
  "/>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 112.791)" x="422.54" y="112.791">StochasticDiffEq.SRA1</text>
</g>
<polyline clip-path="url(#clip5700)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,123.411 416.54,123.411
  "/>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 127.911)" x="422.54" y="127.911">StochasticDiffEq.SRA1</text>
</g>
<polyline clip-path="url(#clip5700)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,138.531 416.54,138.531
  "/>
<g clip-path="url(#clip5700)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 143.031)" x="422.54" y="143.031">StochasticDiffEq.SRIW1</text>
</g>
</svg>

```julia
sample_size = Int[10;1e2;1e3;1e4;1e5]
se = get_sample_errors(prob,numruns=sample_size)
```

    5-element Array{Float64,1}:
     0.00219015
     0.000692586
     0.000219015
     6.92586e-5
     2.19015e-5

```julia
times = [wp[i].times for i in 1:length(wp)]
times = [minimum(minimum(t) for t in times),maximum(maximum(t) for t in times)]
plot!([se[end];se[end]],times,color=:red,linestyle=:dash,label="Sample Error: 10000",lw=3)
```

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="600" height="400" viewBox="0 0 600 400">
<defs>
  <clipPath id="clip00">
    <rect x="0" y="0" width="600" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip5900)" points="
0,400 600,400 600,0 0,0
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip01">
    <rect x="120" y="0" width="421" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip5900)" points="
80.219,360.065 580.315,360.065 580.315,11.811 80.219,11.811
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip02">
    <rect x="80" y="11" width="501" height="349"/>
  </clipPath>
</defs>
<polyline clip-path="url(#clip5902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  86.7337,354.842 86.7337,17.0348
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  214.954,354.842 214.954,17.0348
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  343.174,354.842 343.174,17.0348
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  471.394,354.842 471.394,17.0348
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,325.342 572.814,325.342
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,272.853 572.814,272.853
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,220.363 572.814,220.363
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,167.873 572.814,167.873
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,115.383 572.814,115.383
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,62.8937 572.814,62.8937
  "/>
<polyline clip-path="url(#clip5900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,360.065 580.315,360.065
  "/>
<polyline clip-path="url(#clip5900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,360.065 80.219,11.811
  "/>
<polyline clip-path="url(#clip5900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  86.7337,360.065 86.7337,354.842
  "/>
<polyline clip-path="url(#clip5900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  214.954,360.065 214.954,354.842
  "/>
<polyline clip-path="url(#clip5900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  343.174,360.065 343.174,354.842
  "/>
<polyline clip-path="url(#clip5900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  471.394,360.065 471.394,354.842
  "/>
<polyline clip-path="url(#clip5900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,325.342 87.7205,325.342
  "/>
<polyline clip-path="url(#clip5900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,272.853 87.7205,272.853
  "/>
<polyline clip-path="url(#clip5900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,220.363 87.7205,220.363
  "/>
<polyline clip-path="url(#clip5900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,167.873 87.7205,167.873
  "/>
<polyline clip-path="url(#clip5900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,115.383 87.7205,115.383
  "/>
<polyline clip-path="url(#clip5900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,62.8937 87.7205,62.8937
  "/>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 86.7337, 373.865)" x="86.7337" y="373.865">10^-10</text>
</g>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 214.954, 373.865)" x="214.954" y="373.865">10^-8</text>
</g>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 343.174, 373.865)" x="343.174" y="373.865">10^-6</text>
</g>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 471.394, 373.865)" x="471.394" y="373.865">10^-4</text>
</g>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 329.842)" x="74.219" y="329.842">10^-3.50</text>
</g>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 277.353)" x="74.219" y="277.353">10^-3.25</text>
</g>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 224.863)" x="74.219" y="224.863">10^-3.00</text>
</g>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 172.373)" x="74.219" y="172.373">10^-2.75</text>
</g>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 119.883)" x="74.219" y="119.883">10^-2.50</text>
</g>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 67.3937)" x="74.219" y="67.3937">10^-2.25</text>
</g>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(0, 330.267, 397.6)" x="330.267" y="397.6">Error</text>
</g>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(-90, 14.4, 185.938)" x="14.4" y="185.938">Time (s)</text>
</g>
<polyline clip-path="url(#clip5902)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  523.381,360.065 523.381,11.811
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  580.315,356.73 535.155,344.829
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  535.155,344.829 490.241,295.234
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  490.241,295.234 445.412,195.019
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  445.412,195.019 400.632,11.811
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  580.297,359.105 535.143,343.245
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  535.143,343.245 490.254,295.616
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  490.254,295.616 445.419,195.996
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  445.419,195.996 400.588,56.1322
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  434.133,325.652 425.827,340.854
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  425.827,340.854 341.049,331.812
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  341.049,331.812 217.583,231.04
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  217.583,231.04 89.9264,40.4625
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  435.708,360.065 420.646,337.527
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  420.646,337.527 331.06,294.35
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  331.06,294.35 207.942,207.687
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  207.942,207.687 80.219,25.7947
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  441.135,357.367 422.197,354.836
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  422.197,354.836 331.766,330.98
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  331.766,330.98 208.034,218.362
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  208.034,218.362 80.2492,25.6215
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  432.296,357.595 425.381,350.699
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  425.381,350.699 341.063,332.961
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  341.063,332.961 217.683,231.656
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  217.683,231.656 90.101,40.664
  "/>
<polyline clip-path="url(#clip5902)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  429.112,360.065 429.112,11.811
  "/>
<polygon clip-path="url(#clip5900)" points="
374.54,168.771 562.315,168.771 562.315,32.691 374.54,32.691
  " fill="#ffffff" fill-opacity="1"/>
<polyline clip-path="url(#clip5900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  374.54,168.771 562.315,168.771 562.315,32.691 374.54,32.691 374.54,168.771
  "/>
<polyline clip-path="url(#clip5900)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  380.54,47.811 416.54,47.811
  "/>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 52.311)" x="422.54" y="52.311">Sample Error: 100</text>
</g>
<polyline clip-path="url(#clip5900)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,62.931 416.54,62.931
  "/>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 67.431)" x="422.54" y="67.431">StochasticDiffEq.EM</text>
</g>
<polyline clip-path="url(#clip5900)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,78.051 416.54,78.051
  "/>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 82.551)" x="422.54" y="82.551">StochasticDiffEq.RKMil</text>
</g>
<polyline clip-path="url(#clip5900)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,93.171 416.54,93.171
  "/>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 97.671)" x="422.54" y="97.671">StochasticDiffEq.SRIW1</text>
</g>
<polyline clip-path="url(#clip5900)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,108.291 416.54,108.291
  "/>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 112.791)" x="422.54" y="112.791">StochasticDiffEq.SRA1</text>
</g>
<polyline clip-path="url(#clip5900)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,123.411 416.54,123.411
  "/>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 127.911)" x="422.54" y="127.911">StochasticDiffEq.SRA1</text>
</g>
<polyline clip-path="url(#clip5900)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,138.531 416.54,138.531
  "/>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 143.031)" x="422.54" y="143.031">StochasticDiffEq.SRIW1</text>
</g>
<polyline clip-path="url(#clip5900)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  380.54,153.651 416.54,153.651
  "/>
<g clip-path="url(#clip5900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 158.151)" x="422.54" y="158.151">Sample Error: 10000</text>
</g>
</svg>

```julia
prob = prob_sde_additive

reltols = 1.0./10.0.^(1:5)
abstols = reltols#[0.0 for i in eachindex(reltols)]
setups = [
          Dict(:alg=>SRA1())
          Dict(:alg=>SRA2())
          Dict(:alg=>SRA3())
          Dict(:alg=>SOSRA())
          Dict(:alg=>SOSRA2())
          ]
wp = WorkPrecisionSet(prob,abstols,reltols,setups;numruns_error=100,
                      save_everystep = false,
                      parallel_type = :threads,
                      error_estimate=:weak_final)
plot(wp)
times = [wp[i].times for i in 1:length(wp)]
times = [minimum(minimum(t) for t in times),maximum(maximum(t) for t in times)]
plot!([2e-5;2e-5],times,color=:red,linestyle=:dash,label="Sample Error: 10000",lw=3)
```

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="600" height="400" viewBox="0 0 600 400">
<defs>
  <clipPath id="clip00">
    <rect x="0" y="0" width="600" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip9200)" points="
0,400 600,400 600,0 0,0
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip01">
    <rect x="120" y="0" width="421" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip9200)" points="
73.6294,360.065 580.315,360.065 580.315,11.811 73.6294,11.811
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip02">
    <rect x="73" y="11" width="508" height="349"/>
  </clipPath>
</defs>
<polyline clip-path="url(#clip9202)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  115.96,360.065 115.96,11.811
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  221.645,360.065 221.645,11.811
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  327.329,360.065 327.329,11.811
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  433.014,360.065 433.014,11.811
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  538.698,360.065 538.698,11.811
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,331.78 580.315,331.78
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,233.482 580.315,233.482
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,135.184 580.315,135.184
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,36.8863 580.315,36.8863
  "/>
<polyline clip-path="url(#clip9200)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,360.065 580.315,360.065
  "/>
<polyline clip-path="url(#clip9200)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,360.065 73.6294,11.811
  "/>
<polyline clip-path="url(#clip9200)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  115.96,360.065 115.96,354.842
  "/>
<polyline clip-path="url(#clip9200)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  221.645,360.065 221.645,354.842
  "/>
<polyline clip-path="url(#clip9200)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  327.329,360.065 327.329,354.842
  "/>
<polyline clip-path="url(#clip9200)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  433.014,360.065 433.014,354.842
  "/>
<polyline clip-path="url(#clip9200)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  538.698,360.065 538.698,354.842
  "/>
<polyline clip-path="url(#clip9200)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,331.78 81.2297,331.78
  "/>
<polyline clip-path="url(#clip9200)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,233.482 81.2297,233.482
  "/>
<polyline clip-path="url(#clip9200)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,135.184 81.2297,135.184
  "/>
<polyline clip-path="url(#clip9200)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,36.8863 81.2297,36.8863
  "/>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 99.8662, 378.817)" x="99.8662" y="378.817">10</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 113.045, 371.965)" x="113.045" y="371.965">-</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 118.669, 371.965)" x="118.669" y="371.965">12 </text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 205.551, 378.817)" x="205.551" y="378.817">10</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 218.73, 371.965)" x="218.73" y="371.965">-</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 224.354, 371.965)" x="224.354" y="371.965">10 </text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 313.912, 378.817)" x="313.912" y="378.817">10</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 327.091, 371.965)" x="327.091" y="371.965">-</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 332.715, 371.965)" x="332.715" y="371.965">8 </text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 419.597, 378.817)" x="419.597" y="378.817">10</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 432.776, 371.965)" x="432.776" y="371.965">-</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 438.4, 371.965)" x="438.4" y="371.965">6 </text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 525.281, 378.817)" x="525.281" y="378.817">10</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 538.46, 371.965)" x="538.46" y="371.965">-</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 544.084, 371.965)" x="544.084" y="371.965">4 </text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 337.712)" x="32.7642" y="337.712">10</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 330.859)" x="45.9435" y="330.859">-</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 330.859)" x="51.5672" y="330.859">3.5 </text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 239.414)" x="32.7642" y="239.414">10</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 232.561)" x="45.9435" y="232.561">-</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 232.561)" x="51.5672" y="232.561">3.0 </text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 141.116)" x="32.7642" y="141.116">10</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 134.263)" x="45.9435" y="134.263">-</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 134.263)" x="51.5672" y="134.263">2.5 </text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 42.8182)" x="32.7642" y="42.8182">10</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 35.9656)" x="45.9435" y="35.9656">-</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 35.9656)" x="51.5672" y="35.9656">2.0 </text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(0, 326.972, 397.6)" x="326.972" y="397.6">Error</text>
</g>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(-90, 14.4, 185.938)" x="14.4" y="185.938">Time (s)</text>
</g>
<polyline clip-path="url(#clip9202)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  580.315,360.065 580.315,11.811
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  513.66,359.688 498.314,356.79 423.767,325.419 321.755,199.785 216.206,11.811
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  517.217,357.976 502.417,355.812 450.787,337.869 353.187,246.976 248.123,67.8098
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  436.039,344.934 406.074,344.066 316.936,333.812 136.697,171.308 73.6294,43.1563
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  507.628,360.065 492.686,356.586 440.835,339.251 343.49,247.037 237.794,67.5919
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  542.423,356.609 527.65,354.218 475.682,335.84 378.12,246.178 272.975,68.1183
  "/>
<polyline clip-path="url(#clip9202)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  501.763,360.065 501.763,11.811
  "/>
<polygon clip-path="url(#clip9200)" points="
363.992,153.651 562.315,153.651 562.315,32.691 363.992,32.691
  " fill="#ffffff" fill-opacity="1"/>
<polyline clip-path="url(#clip9200)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  363.992,153.651 562.315,153.651 562.315,32.691 363.992,32.691 363.992,153.651
  "/>
<polyline clip-path="url(#clip9200)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  369.992,47.811 405.992,47.811
  "/>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 411.992, 52.311)" x="411.992" y="52.311">Sample Error: 100</text>
</g>
<polyline clip-path="url(#clip9200)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  369.992,62.931 405.992,62.931
  "/>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 411.992, 67.431)" x="411.992" y="67.431">StochasticDiffEq.SRA1</text>
</g>
<polyline clip-path="url(#clip9200)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  369.992,78.051 405.992,78.051
  "/>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 411.992, 82.551)" x="411.992" y="82.551">StochasticDiffEq.SRA2</text>
</g>
<polyline clip-path="url(#clip9200)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  369.992,93.171 405.992,93.171
  "/>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 411.992, 97.671)" x="411.992" y="97.671">StochasticDiffEq.SRA3</text>
</g>
<polyline clip-path="url(#clip9200)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  369.992,108.291 405.992,108.291
  "/>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 411.992, 112.791)" x="411.992" y="112.791">StochasticDiffEq.SOSRA</text>
</g>
<polyline clip-path="url(#clip9200)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  369.992,123.411 405.992,123.411
  "/>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 411.992, 127.911)" x="411.992" y="127.911">StochasticDiffEq.SOSRA2</text>
</g>
<polyline clip-path="url(#clip9200)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  369.992,138.531 405.992,138.531
  "/>
<g clip-path="url(#clip9200)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 411.992, 143.031)" x="411.992" y="143.031">Sample Error: 10000</text>
</g>
</svg>

### Scalar Noise

We will use a the linear SDE (also known as the Black-Scholes equation)

\begin{equation}
dX_{t}=\alpha X_{t}dt+\beta X_{t}dW_{t},\thinspace\thinspace\thinspace X_{0}=\frac{1}{2}
\end{equation}
where $\alpha=\frac{1}{10}$ and $\beta=\frac{1}{20}$. Actual Solution:
\begin{equation}
X_{t}=X_{0}e^{\left(\beta-\frac{\alpha^{2}}{2}\right)t+\alpha W_{t}}.
\end{equation}

```julia
prob = prob_sde_linear

reltols = 1.0./10.0.^(1:5)
abstols = reltols#[0.0 for i in eachindex(reltols)]

setups = [Dict(:alg=>SRIW1())
          Dict(:alg=>EM(),:dts=>1.0./5.0.^((1:length(reltols)) + 1))
          Dict(:alg=>RKMil(),:dts=>1.0./5.0.^((1:length(reltols)) + 1))
          Dict(:alg=>SRIW1(),:dts=>1.0./5.0.^((1:length(reltols)) + 1),:adaptive=>false)
          ]
wp = WorkPrecisionSet(prob,abstols,reltols,setups;numruns_error=100,
                      save_everystep = false,
                      parallel_type = :threads,
                      error_estimate=:weak_final)
plot(wp)
```

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="600" height="400" viewBox="0 0 600 400">
<defs>
  <clipPath id="clip00">
    <rect x="0" y="0" width="600" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip4900)" points="
0,400 600,400 600,0 0,0
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip01">
    <rect x="120" y="0" width="421" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip4900)" points="
73.6294,360.065 580.315,360.065 580.315,11.811 73.6294,11.811
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip02">
    <rect x="73" y="11" width="508" height="349"/>
  </clipPath>
</defs>
<polyline clip-path="url(#clip4902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  131.358,354.842 131.358,17.0348
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  199.55,354.842 199.55,17.0348
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  267.741,354.842 267.741,17.0348
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  335.932,354.842 335.932,17.0348
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  404.124,354.842 404.124,17.0348
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  472.315,354.842 472.315,17.0348
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  540.507,354.842 540.507,17.0348
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  81.2297,326.247 572.715,326.247
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  81.2297,241.333 572.715,241.333
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  81.2297,156.418 572.715,156.418
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  81.2297,71.5034 572.715,71.5034
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,360.065 580.315,360.065
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,360.065 73.6294,11.811
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  131.358,360.065 131.358,354.842
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  199.55,360.065 199.55,354.842
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  267.741,360.065 267.741,354.842
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  335.932,360.065 335.932,354.842
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  404.124,360.065 404.124,354.842
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  472.315,360.065 472.315,354.842
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  540.507,360.065 540.507,354.842
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,326.247 81.2297,326.247
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,241.333 81.2297,241.333
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,156.418 81.2297,156.418
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,71.5034 81.2297,71.5034
  "/>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 131.358, 373.865)" x="131.358" y="373.865">10^-7</text>
</g>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 199.55, 373.865)" x="199.55" y="373.865">10^-6</text>
</g>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 267.741, 373.865)" x="267.741" y="373.865">10^-5</text>
</g>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 335.932, 373.865)" x="335.932" y="373.865">10^-4</text>
</g>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 404.124, 373.865)" x="404.124" y="373.865">10^-3</text>
</g>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 472.315, 373.865)" x="472.315" y="373.865">10^-2</text>
</g>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 540.507, 373.865)" x="540.507" y="373.865">10^-1</text>
</g>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 67.6294, 330.747)" x="67.6294" y="330.747">10^-3.5</text>
</g>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 67.6294, 245.833)" x="67.6294" y="245.833">10^-3.0</text>
</g>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 67.6294, 160.918)" x="67.6294" y="160.918">10^-2.5</text>
</g>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 67.6294, 76.0034)" x="67.6294" y="76.0034">10^-2.0</text>
</g>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(0, 326.972, 397.6)" x="326.972" y="397.6">Error</text>
</g>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(-90, 14.4, 185.938)" x="14.4" y="185.938">Time (s)</text>
</g>
<polyline clip-path="url(#clip4902)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  580.315,360.065 580.315,11.811
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  410.122,347.934 326.831,343.322
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  326.831,343.322 295.036,304.42
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  295.036,304.42 116.049,179.912
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  116.049,179.912 115.118,17.5397
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  512.071,353.964 486.674,348.255
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  486.674,348.255 400.106,307.959
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  400.106,307.959 419.061,223.079
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  419.061,223.079 352.741,111.189
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  467.579,360.065 464.537,347.078
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  464.537,347.078 350.392,245.17
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  350.392,245.17 366.783,213.193
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  366.783,213.193 319.97,101.885
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  421.556,353.341 386.875,333.894
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  386.875,333.894 247.444,298.362
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  247.444,298.362 113.916,180.357
  "/>
<polyline clip-path="url(#clip4902)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  113.916,180.357 73.6294,11.811
  "/>
<polygon clip-path="url(#clip4900)" points="
374.54,123.411 562.315,123.411 562.315,32.691 374.54,32.691
  " fill="#ffffff" fill-opacity="1"/>
<polyline clip-path="url(#clip4900)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  374.54,123.411 562.315,123.411 562.315,32.691 374.54,32.691 374.54,123.411
  "/>
<polyline clip-path="url(#clip4900)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  380.54,47.811 416.54,47.811
  "/>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 52.311)" x="422.54" y="52.311">Sample Error: 100</text>
</g>
<polyline clip-path="url(#clip4900)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,62.931 416.54,62.931
  "/>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 67.431)" x="422.54" y="67.431">StochasticDiffEq.SRIW1</text>
</g>
<polyline clip-path="url(#clip4900)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,78.051 416.54,78.051
  "/>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 82.551)" x="422.54" y="82.551">StochasticDiffEq.EM</text>
</g>
<polyline clip-path="url(#clip4900)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,93.171 416.54,93.171
  "/>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 97.671)" x="422.54" y="97.671">StochasticDiffEq.RKMil</text>
</g>
<polyline clip-path="url(#clip4900)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,108.291 416.54,108.291
  "/>
<g clip-path="url(#clip4900)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 112.791)" x="422.54" y="112.791">StochasticDiffEq.SRIW1</text>
</g>
</svg>

```julia
sample_size = Int[10;1e2;1e3;1e4;1e5]
se = get_sample_errors(prob,numruns=sample_size)
```

    5-element Array{Float64,1}:
     0.896765
     0.283582
     0.0896765
     0.0283582
     0.00896765

```julia
times = [wp[i].times for i in 1:length(wp)]
times = [minimum(minimum(t) for t in times),maximum(maximum(t) for t in times)]
plot!([se[end];se[end]],times,color=:red,linestyle=:dash,label="Sample Error: 10000",lw=3)
```

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="600" height="400" viewBox="0 0 600 400">
<defs>
  <clipPath id="clip00">
    <rect x="0" y="0" width="600" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip5100)" points="
0,400 600,400 600,0 0,0
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip01">
    <rect x="120" y="0" width="421" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip5100)" points="
73.6294,360.065 580.315,360.065 580.315,11.811 73.6294,11.811
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip02">
    <rect x="73" y="11" width="508" height="349"/>
  </clipPath>
</defs>
<polyline clip-path="url(#clip5102)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  131.358,354.842 131.358,17.0348
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  199.55,354.842 199.55,17.0348
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  267.741,354.842 267.741,17.0348
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  335.932,354.842 335.932,17.0348
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  404.124,354.842 404.124,17.0348
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  472.315,354.842 472.315,17.0348
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  540.507,354.842 540.507,17.0348
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  81.2297,326.247 572.715,326.247
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  81.2297,241.333 572.715,241.333
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  81.2297,156.418 572.715,156.418
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  81.2297,71.5034 572.715,71.5034
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,360.065 580.315,360.065
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,360.065 73.6294,11.811
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  131.358,360.065 131.358,354.842
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  199.55,360.065 199.55,354.842
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  267.741,360.065 267.741,354.842
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  335.932,360.065 335.932,354.842
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  404.124,360.065 404.124,354.842
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  472.315,360.065 472.315,354.842
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  540.507,360.065 540.507,354.842
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,326.247 81.2297,326.247
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,241.333 81.2297,241.333
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,156.418 81.2297,156.418
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,71.5034 81.2297,71.5034
  "/>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 131.358, 373.865)" x="131.358" y="373.865">10^-7</text>
</g>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 199.55, 373.865)" x="199.55" y="373.865">10^-6</text>
</g>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 267.741, 373.865)" x="267.741" y="373.865">10^-5</text>
</g>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 335.932, 373.865)" x="335.932" y="373.865">10^-4</text>
</g>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 404.124, 373.865)" x="404.124" y="373.865">10^-3</text>
</g>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 472.315, 373.865)" x="472.315" y="373.865">10^-2</text>
</g>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 540.507, 373.865)" x="540.507" y="373.865">10^-1</text>
</g>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 67.6294, 330.747)" x="67.6294" y="330.747">10^-3.5</text>
</g>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 67.6294, 245.833)" x="67.6294" y="245.833">10^-3.0</text>
</g>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 67.6294, 160.918)" x="67.6294" y="160.918">10^-2.5</text>
</g>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 67.6294, 76.0034)" x="67.6294" y="76.0034">10^-2.0</text>
</g>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(0, 326.972, 397.6)" x="326.972" y="397.6">Error</text>
</g>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(-90, 14.4, 185.938)" x="14.4" y="185.938">Time (s)</text>
</g>
<polyline clip-path="url(#clip5102)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  580.315,360.065 580.315,11.811
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  410.122,347.934 326.831,343.322
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  326.831,343.322 295.036,304.42
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  295.036,304.42 116.049,179.912
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  116.049,179.912 115.118,17.5397
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  512.071,353.964 486.674,348.255
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  486.674,348.255 400.106,307.959
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  400.106,307.959 419.061,223.079
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  419.061,223.079 352.741,111.189
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  467.579,360.065 464.537,347.078
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  464.537,347.078 350.392,245.17
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  350.392,245.17 366.783,213.193
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  366.783,213.193 319.97,101.885
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  421.556,353.341 386.875,333.894
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  386.875,333.894 247.444,298.362
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  247.444,298.362 113.916,180.357
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  113.916,180.357 73.6294,11.811
  "/>
<polyline clip-path="url(#clip5102)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  469.088,360.065 469.088,11.811
  "/>
<polygon clip-path="url(#clip5100)" points="
374.54,138.531 562.315,138.531 562.315,32.691 374.54,32.691
  " fill="#ffffff" fill-opacity="1"/>
<polyline clip-path="url(#clip5100)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  374.54,138.531 562.315,138.531 562.315,32.691 374.54,32.691 374.54,138.531
  "/>
<polyline clip-path="url(#clip5100)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  380.54,47.811 416.54,47.811
  "/>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 52.311)" x="422.54" y="52.311">Sample Error: 100</text>
</g>
<polyline clip-path="url(#clip5100)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,62.931 416.54,62.931
  "/>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 67.431)" x="422.54" y="67.431">StochasticDiffEq.SRIW1</text>
</g>
<polyline clip-path="url(#clip5100)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,78.051 416.54,78.051
  "/>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 82.551)" x="422.54" y="82.551">StochasticDiffEq.EM</text>
</g>
<polyline clip-path="url(#clip5100)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,93.171 416.54,93.171
  "/>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 97.671)" x="422.54" y="97.671">StochasticDiffEq.RKMil</text>
</g>
<polyline clip-path="url(#clip5100)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,108.291 416.54,108.291
  "/>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 112.791)" x="422.54" y="112.791">StochasticDiffEq.SRIW1</text>
</g>
<polyline clip-path="url(#clip5100)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  380.54,123.411 416.54,123.411
  "/>
<g clip-path="url(#clip5100)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 127.911)" x="422.54" y="127.911">Sample Error: 10000</text>
</g>
</svg>

```julia
prob = prob_sde_linear

reltols = 1.0./10.0.^(1:5)
abstols = reltols#[0.0 for i in eachindex(reltols)]

setups = [Dict(:alg=>EM(),:dts=>1.0./5.0.^((1:length(reltols)) + 2))
          Dict(:alg=>RKMil(),:dts=>1.0./5.0.^((1:length(reltols)) + 2))
          Dict(:alg=>SRI())
          Dict(:alg=>SRIW1())
          Dict(:alg=>SRIW2())
          Dict(:alg=>SOSRI())
          Dict(:alg=>SOSRI2())
          ]
wp = WorkPrecisionSet(prob,abstols,reltols,setups;numruns_error=100,
                      save_everystep = false,
                      parallel_type = :threads,
                      error_estimate=:weak_final)
plot(wp)
sample_size = Int[10;1e2;1e3;1e4;1e5]
se = get_sample_errors(prob,numruns=sample_size)
times = [wp[i].times for i in 1:length(wp)]
times = [minimum(minimum(t) for t in times),maximum(maximum(t) for t in times)]
plot!([se[end];se[end]],times,color=:red,linestyle=:dash,label="Sample Error: 10000",lw=3)
```

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="600" height="400" viewBox="0 0 600 400">
<defs>
  <clipPath id="clip00">
    <rect x="0" y="0" width="600" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip6400)" points="
0,400 600,400 600,0 0,0
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip01">
    <rect x="120" y="0" width="421" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip6400)" points="
73.6294,360.065 580.315,360.065 580.315,11.811 73.6294,11.811
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip02">
    <rect x="73" y="11" width="508" height="349"/>
  </clipPath>
</defs>
<polyline clip-path="url(#clip6402)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  126.748,360.065 126.748,11.811
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  246.977,360.065 246.977,11.811
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  367.206,360.065 367.206,11.811
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  487.435,360.065 487.435,11.811
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,343.394 580.315,343.394
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,272.794 580.315,272.794
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,202.195 580.315,202.195
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,131.595 580.315,131.595
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,60.995 580.315,60.995
  "/>
<polyline clip-path="url(#clip6400)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,360.065 580.315,360.065
  "/>
<polyline clip-path="url(#clip6400)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,360.065 73.6294,11.811
  "/>
<polyline clip-path="url(#clip6400)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  126.748,360.065 126.748,354.842
  "/>
<polyline clip-path="url(#clip6400)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  246.977,360.065 246.977,354.842
  "/>
<polyline clip-path="url(#clip6400)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  367.206,360.065 367.206,354.842
  "/>
<polyline clip-path="url(#clip6400)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  487.435,360.065 487.435,354.842
  "/>
<polyline clip-path="url(#clip6400)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,343.394 81.2297,343.394
  "/>
<polyline clip-path="url(#clip6400)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,272.794 81.2297,272.794
  "/>
<polyline clip-path="url(#clip6400)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,202.195 81.2297,202.195
  "/>
<polyline clip-path="url(#clip6400)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,131.595 81.2297,131.595
  "/>
<polyline clip-path="url(#clip6400)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,60.995 81.2297,60.995
  "/>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 113.331, 378.817)" x="113.331" y="378.817">10</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 126.511, 371.965)" x="126.511" y="371.965">-</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 132.134, 371.965)" x="132.134" y="371.965">8 </text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 233.56, 378.817)" x="233.56" y="378.817">10</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 246.739, 371.965)" x="246.739" y="371.965">-</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 252.363, 371.965)" x="252.363" y="371.965">6 </text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 353.789, 378.817)" x="353.789" y="378.817">10</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 366.968, 371.965)" x="366.968" y="371.965">-</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 372.592, 371.965)" x="372.592" y="371.965">4 </text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 474.018, 378.817)" x="474.018" y="378.817">10</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 487.197, 371.965)" x="487.197" y="371.965">-</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 492.821, 371.965)" x="492.821" y="371.965">2 </text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 349.326)" x="32.7642" y="349.326">10</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 342.474)" x="45.9435" y="342.474">-</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 342.474)" x="51.5672" y="342.474">3.5 </text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 278.726)" x="32.7642" y="278.726">10</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 271.874)" x="45.9435" y="271.874">-</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 271.874)" x="51.5672" y="271.874">3.0 </text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 208.126)" x="32.7642" y="208.126">10</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 201.274)" x="45.9435" y="201.274">-</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 201.274)" x="51.5672" y="201.274">2.5 </text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 137.527)" x="32.7642" y="137.527">10</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 130.674)" x="45.9435" y="130.674">-</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 130.674)" x="51.5672" y="130.674">2.0 </text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 66.9269)" x="32.7642" y="66.9269">10</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 60.0743)" x="45.9435" y="60.0743">-</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 60.0743)" x="51.5672" y="60.0743">1.5 </text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(0, 326.972, 397.6)" x="326.972" y="397.6">Error</text>
</g>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(-90, 14.4, 185.938)" x="14.4" y="185.938">Time (s)</text>
</g>
<polyline clip-path="url(#clip6402)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  580.315,360.065 580.315,11.811
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  492.231,357.219 457.968,320.233 439.443,251.888 412.094,164.712 381.07,67.062
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  483.093,360.065 425.487,327.212 408.528,257.383 343.374,163.817 270.491,66.1381
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  445.69,354.423 370.917,343.66 266.742,280.284 229.706,150.375 73.6294,11.811
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  457.798,357.274 389.464,351.191 337.02,311.411 240.193,205.122 173.841,63.0685
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  414.248,350.506 415.52,344.799 324.03,321.135 242.031,233.995 197.05,97.5932
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  431.734,354.386 402.447,346.393 328.53,323.429 243.979,236.082 158.778,94.6725
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#c68125; stroke-width:3; stroke-opacity:1; fill:none" points="
  421.535,352.613 362.401,349.86 364.327,321.585 274.278,237.274 123.175,101.566
  "/>
<polyline clip-path="url(#clip6402)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  484.791,360.065 484.791,11.811
  "/>
<polygon clip-path="url(#clip6400)" points="
368.602,183.891 562.315,183.891 562.315,32.691 368.602,32.691
  " fill="#ffffff" fill-opacity="1"/>
<polyline clip-path="url(#clip6400)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  368.602,183.891 562.315,183.891 562.315,32.691 368.602,32.691 368.602,183.891
  "/>
<polyline clip-path="url(#clip6400)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  374.602,47.811 410.602,47.811
  "/>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 52.311)" x="416.602" y="52.311">Sample Error: 100</text>
</g>
<polyline clip-path="url(#clip6400)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,62.931 410.602,62.931
  "/>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 67.431)" x="416.602" y="67.431">StochasticDiffEq.EM</text>
</g>
<polyline clip-path="url(#clip6400)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,78.051 410.602,78.051
  "/>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 82.551)" x="416.602" y="82.551">StochasticDiffEq.RKMil</text>
</g>
<polyline clip-path="url(#clip6400)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,93.171 410.602,93.171
  "/>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 97.671)" x="416.602" y="97.671">StochasticDiffEq.SRI</text>
</g>
<polyline clip-path="url(#clip6400)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,108.291 410.602,108.291
  "/>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 112.791)" x="416.602" y="112.791">StochasticDiffEq.SRIW1</text>
</g>
<polyline clip-path="url(#clip6400)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,123.411 410.602,123.411
  "/>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 127.911)" x="416.602" y="127.911">StochasticDiffEq.SRIW2</text>
</g>
<polyline clip-path="url(#clip6400)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,138.531 410.602,138.531
  "/>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 143.031)" x="416.602" y="143.031">StochasticDiffEq.SOSRI</text>
</g>
<polyline clip-path="url(#clip6400)" style="stroke:#c68125; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,153.651 410.602,153.651
  "/>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 158.151)" x="416.602" y="158.151">StochasticDiffEq.SOSRI2</text>
</g>
<polyline clip-path="url(#clip6400)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  374.602,168.771 410.602,168.771
  "/>
<g clip-path="url(#clip6400)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 173.271)" x="416.602" y="173.271">Sample Error: 10000</text>
</g>
</svg>

## Scalar Wave SDE

\begin{equation}
dX_{t}=-\left(\frac{1}{10}\right)^{2}\sin\left(X_{t}\right)\cos^{3}\left(X_{t}\right)dt+\frac{1}{10}\cos^{2}\left(X_{t}\right)dW_{t},\thinspace\thinspace\thinspace X_{0}=\frac{1}{2}
\end{equation}
Actual Solution:
\begin{equation}
X_{t}=\arctan\left(\frac{1}{10}W_{t}+\tan\left(X_{0}\right)\right).
\end{equation}

```julia
prob = prob_sde_wave

reltols = 1.0./10.0.^(1:5)
abstols = reltols#[0.0 for i in eachindex(reltols)]

setups = [
          Dict(:alg=>EM(),:dts=>1.0./5.0.^((1:length(reltols)) + 1))
          Dict(:alg=>RKMil(),:dts=>1.0./5.0.^((1:length(reltols)) + 1))
          Dict(:alg=>SRIW1(),:dts=>1.0./5.0.^((1:length(reltols)) + 1),:adaptive=>false)
          Dict(:alg=>SRIW1())
          ]

wp = WorkPrecisionSet(prob,abstols,reltols,setups;numruns_error=100,
                      save_everystep = false,
                      parallel_type = :threads,
                      error_estimate=:weak_final)
plot(wp)
```

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="600" height="400" viewBox="0 0 600 400">
<defs>
  <clipPath id="clip00">
    <rect x="0" y="0" width="600" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip5300)" points="
0,400 600,400 600,0 0,0
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip01">
    <rect x="120" y="0" width="421" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip5300)" points="
80.219,360.065 580.315,360.065 580.315,11.811 80.219,11.811
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip02">
    <rect x="80" y="11" width="501" height="349"/>
  </clipPath>
</defs>
<polyline clip-path="url(#clip5302)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  145.291,354.842 145.291,17.0348
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  220.707,354.842 220.707,17.0348
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  296.123,354.842 296.123,17.0348
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  371.539,354.842 371.539,17.0348
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  446.955,354.842 446.955,17.0348
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  522.371,354.842 522.371,17.0348
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,325.654 572.814,325.654
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,267.221 572.814,267.221
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,208.788 572.814,208.788
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,150.356 572.814,150.356
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,91.9232 572.814,91.9232
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,33.4906 572.814,33.4906
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,360.065 580.315,360.065
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,360.065 80.219,11.811
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  145.291,360.065 145.291,354.842
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  220.707,360.065 220.707,354.842
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  296.123,360.065 296.123,354.842
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  371.539,360.065 371.539,354.842
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  446.955,360.065 446.955,354.842
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  522.371,360.065 522.371,354.842
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,325.654 87.7205,325.654
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,267.221 87.7205,267.221
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,208.788 87.7205,208.788
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,150.356 87.7205,150.356
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,91.9232 87.7205,91.9232
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,33.4906 87.7205,33.4906
  "/>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 145.291, 373.865)" x="145.291" y="373.865">10^-8</text>
</g>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 220.707, 373.865)" x="220.707" y="373.865">10^-7</text>
</g>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 296.123, 373.865)" x="296.123" y="373.865">10^-6</text>
</g>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 371.539, 373.865)" x="371.539" y="373.865">10^-5</text>
</g>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 446.955, 373.865)" x="446.955" y="373.865">10^-4</text>
</g>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 522.371, 373.865)" x="522.371" y="373.865">10^-3</text>
</g>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 330.154)" x="74.219" y="330.154">10^-3.50</text>
</g>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 271.721)" x="74.219" y="271.721">10^-3.25</text>
</g>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 213.288)" x="74.219" y="213.288">10^-3.00</text>
</g>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 154.856)" x="74.219" y="154.856">10^-2.75</text>
</g>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 96.4232)" x="74.219" y="96.4232">10^-2.50</text>
</g>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 37.9906)" x="74.219" y="37.9906">10^-2.25</text>
</g>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(0, 330.267, 397.6)" x="330.267" y="397.6">Error</text>
</g>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(-90, 14.4, 185.938)" x="14.4" y="185.938">Time (s)</text>
</g>
<polyline clip-path="url(#clip5302)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  580.315,360.065 580.315,11.811
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.841,359.207 226.272,299.888
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  226.272,299.888 362.971,277.451
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  362.971,277.451 328.466,161.405
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  328.466,161.405 304.225,17.2911
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  264.305,350.221 235.628,332.486
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  235.628,332.486 206.449,240.484
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  206.449,240.484 171.152,156.012
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  171.152,156.012 80.219,11.811
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  178.474,360.065 165.3,356.539
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  165.3,356.539 146,350.29
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  146,350.29 175.529,343.379
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  175.529,343.379 151.404,330.167
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  152.265,359.556 177.179,356.715
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  177.179,356.715 101.827,353.131
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  101.827,353.131 135.37,348.753
  "/>
<polyline clip-path="url(#clip5302)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  135.37,348.753 96.9885,335.545
  "/>
<polygon clip-path="url(#clip5300)" points="
374.54,123.411 562.315,123.411 562.315,32.691 374.54,32.691
  " fill="#ffffff" fill-opacity="1"/>
<polyline clip-path="url(#clip5300)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  374.54,123.411 562.315,123.411 562.315,32.691 374.54,32.691 374.54,123.411
  "/>
<polyline clip-path="url(#clip5300)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  380.54,47.811 416.54,47.811
  "/>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 52.311)" x="422.54" y="52.311">Sample Error: 100</text>
</g>
<polyline clip-path="url(#clip5300)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,62.931 416.54,62.931
  "/>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 67.431)" x="422.54" y="67.431">StochasticDiffEq.EM</text>
</g>
<polyline clip-path="url(#clip5300)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,78.051 416.54,78.051
  "/>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 82.551)" x="422.54" y="82.551">StochasticDiffEq.RKMil</text>
</g>
<polyline clip-path="url(#clip5300)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,93.171 416.54,93.171
  "/>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 97.671)" x="422.54" y="97.671">StochasticDiffEq.SRIW1</text>
</g>
<polyline clip-path="url(#clip5300)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,108.291 416.54,108.291
  "/>
<g clip-path="url(#clip5300)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 112.791)" x="422.54" y="112.791">StochasticDiffEq.SRIW1</text>
</g>
</svg>

```julia
sample_size = Int[10;1e2;1e3;1e4;1e5]
se = get_sample_errors(prob,numruns=sample_size)
```

    5-element Array{Float64,1}:
     0.0182895
     0.00578366
     0.00182895
     0.000578366
     0.000182895

```julia
times = [wp[i].times for i in 1:length(wp)]
times = [minimum(minimum(t) for t in times),maximum(maximum(t) for t in times)]
plot!([se[end];se[end]],times,color=:red,linestyle=:dash,label="Sample Error: 10000",lw=3)
```

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="600" height="400" viewBox="0 0 600 400">
<defs>
  <clipPath id="clip00">
    <rect x="0" y="0" width="600" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip5500)" points="
0,400 600,400 600,0 0,0
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip01">
    <rect x="120" y="0" width="421" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip5500)" points="
80.219,360.065 580.315,360.065 580.315,11.811 80.219,11.811
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip02">
    <rect x="80" y="11" width="501" height="349"/>
  </clipPath>
</defs>
<polyline clip-path="url(#clip5502)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  145.291,354.842 145.291,17.0348
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  220.707,354.842 220.707,17.0348
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  296.123,354.842 296.123,17.0348
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  371.539,354.842 371.539,17.0348
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  446.955,354.842 446.955,17.0348
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  522.371,354.842 522.371,17.0348
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,325.654 572.814,325.654
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,267.221 572.814,267.221
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,208.788 572.814,208.788
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,150.356 572.814,150.356
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,91.9232 572.814,91.9232
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  87.7205,33.4906 572.814,33.4906
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,360.065 580.315,360.065
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,360.065 80.219,11.811
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  145.291,360.065 145.291,354.842
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  220.707,360.065 220.707,354.842
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  296.123,360.065 296.123,354.842
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  371.539,360.065 371.539,354.842
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  446.955,360.065 446.955,354.842
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  522.371,360.065 522.371,354.842
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,325.654 87.7205,325.654
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,267.221 87.7205,267.221
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,208.788 87.7205,208.788
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,150.356 87.7205,150.356
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,91.9232 87.7205,91.9232
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  80.219,33.4906 87.7205,33.4906
  "/>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 145.291, 373.865)" x="145.291" y="373.865">10^-8</text>
</g>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 220.707, 373.865)" x="220.707" y="373.865">10^-7</text>
</g>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 296.123, 373.865)" x="296.123" y="373.865">10^-6</text>
</g>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 371.539, 373.865)" x="371.539" y="373.865">10^-5</text>
</g>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 446.955, 373.865)" x="446.955" y="373.865">10^-4</text>
</g>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;" transform="rotate(0, 522.371, 373.865)" x="522.371" y="373.865">10^-3</text>
</g>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 330.154)" x="74.219" y="330.154">10^-3.50</text>
</g>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 271.721)" x="74.219" y="271.721">10^-3.25</text>
</g>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 213.288)" x="74.219" y="213.288">10^-3.00</text>
</g>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 154.856)" x="74.219" y="154.856">10^-2.75</text>
</g>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 96.4232)" x="74.219" y="96.4232">10^-2.50</text>
</g>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;" transform="rotate(0, 74.219, 37.9906)" x="74.219" y="37.9906">10^-2.25</text>
</g>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(0, 330.267, 397.6)" x="330.267" y="397.6">Error</text>
</g>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(-90, 14.4, 185.938)" x="14.4" y="185.938">Time (s)</text>
</g>
<polyline clip-path="url(#clip5502)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  580.315,360.065 580.315,11.811
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.841,359.207 226.272,299.888
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  226.272,299.888 362.971,277.451
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  362.971,277.451 328.466,161.405
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  328.466,161.405 304.225,17.2911
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  264.305,350.221 235.628,332.486
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  235.628,332.486 206.449,240.484
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  206.449,240.484 171.152,156.012
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  171.152,156.012 80.219,11.811
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  178.474,360.065 165.3,356.539
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  165.3,356.539 146,350.29
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  146,350.29 175.529,343.379
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  175.529,343.379 151.404,330.167
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  152.265,359.556 177.179,356.715
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  177.179,356.715 101.827,353.131
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  101.827,353.131 135.37,348.753
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  135.37,348.753 96.9885,335.545
  "/>
<polyline clip-path="url(#clip5502)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  466.729,360.065 466.729,11.811
  "/>
<polygon clip-path="url(#clip5500)" points="
374.54,138.531 562.315,138.531 562.315,32.691 374.54,32.691
  " fill="#ffffff" fill-opacity="1"/>
<polyline clip-path="url(#clip5500)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  374.54,138.531 562.315,138.531 562.315,32.691 374.54,32.691 374.54,138.531
  "/>
<polyline clip-path="url(#clip5500)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  380.54,47.811 416.54,47.811
  "/>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 52.311)" x="422.54" y="52.311">Sample Error: 100</text>
</g>
<polyline clip-path="url(#clip5500)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,62.931 416.54,62.931
  "/>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 67.431)" x="422.54" y="67.431">StochasticDiffEq.EM</text>
</g>
<polyline clip-path="url(#clip5500)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,78.051 416.54,78.051
  "/>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 82.551)" x="422.54" y="82.551">StochasticDiffEq.RKMil</text>
</g>
<polyline clip-path="url(#clip5500)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,93.171 416.54,93.171
  "/>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 97.671)" x="422.54" y="97.671">StochasticDiffEq.SRIW1</text>
</g>
<polyline clip-path="url(#clip5500)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  380.54,108.291 416.54,108.291
  "/>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 112.791)" x="422.54" y="112.791">StochasticDiffEq.SRIW1</text>
</g>
<polyline clip-path="url(#clip5500)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  380.54,123.411 416.54,123.411
  "/>
<g clip-path="url(#clip5500)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 422.54, 127.911)" x="422.54" y="127.911">Sample Error: 10000</text>
</g>
</svg>

```julia
prob = prob_sde_wave

reltols = 1.0./10.0.^(1:5)
abstols = reltols#[0.0 for i in eachindex(reltols)]

setups = [Dict(:alg=>EM(),:dts=>1.0./5.0.^((1:length(reltols)) + 2))
          Dict(:alg=>RKMil(),:dts=>1.0./5.0.^((1:length(reltols)) + 2))
          Dict(:alg=>SRI())
          Dict(:alg=>SRIW1())
          Dict(:alg=>SRIW2())
          Dict(:alg=>SOSRI())
          Dict(:alg=>SOSRI2())
          ]
wp = WorkPrecisionSet(prob,abstols,reltols,setups;numruns_error=100,
                      save_everystep = false,
                      parallel_type = :threads,
                      error_estimate=:weak_final)
plot(wp)
sample_size = Int[10;1e2;1e3;1e4;1e5]
se = get_sample_errors(prob,numruns=sample_size)
times = [wp[i].times for i in 1:length(wp)]
times = [minimum(minimum(t) for t in times),maximum(maximum(t) for t in times)]
plot!([se[end];se[end]],times,color=:red,linestyle=:dash,label="Sample Error: 10000",lw=3)
```

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="600" height="400" viewBox="0 0 600 400">
<defs>
  <clipPath id="clip00">
    <rect x="0" y="0" width="600" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip6600)" points="
0,400 600,400 600,0 0,0
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip01">
    <rect x="120" y="0" width="421" height="400"/>
  </clipPath>
</defs>
<polygon clip-path="url(#clip6600)" points="
73.6294,360.065 580.315,360.065 580.315,11.811 73.6294,11.811
  " fill="#ffffff" fill-opacity="1"/>
<defs>
  <clipPath id="clip02">
    <rect x="73" y="11" width="508" height="349"/>
  </clipPath>
</defs>
<polyline clip-path="url(#clip6602)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  129.861,360.065 129.861,11.811
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  196.353,360.065 196.353,11.811
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  262.845,360.065 262.845,11.811
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  329.336,360.065 329.336,11.811
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  395.828,360.065 395.828,11.811
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  462.32,360.065 462.32,11.811
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  528.811,360.065 528.811,11.811
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,338.504 580.315,338.504
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,258.418 580.315,258.418
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,178.332 580.315,178.332
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,98.2455 580.315,98.2455
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none" points="
  73.6294,18.1593 580.315,18.1593
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,360.065 580.315,360.065
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,360.065 73.6294,11.811
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  129.861,360.065 129.861,354.842
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  196.353,360.065 196.353,354.842
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  262.845,360.065 262.845,354.842
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  329.336,360.065 329.336,354.842
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  395.828,360.065 395.828,354.842
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  462.32,360.065 462.32,354.842
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  528.811,360.065 528.811,354.842
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,338.504 81.2297,338.504
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,258.418 81.2297,258.418
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,178.332 81.2297,178.332
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,98.2455 81.2297,98.2455
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  73.6294,18.1593 81.2297,18.1593
  "/>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 116.444, 378.817)" x="116.444" y="378.817">10</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 129.623, 371.965)" x="129.623" y="371.965">-</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 135.247, 371.965)" x="135.247" y="371.965">9 </text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 182.936, 378.817)" x="182.936" y="378.817">10</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 196.115, 371.965)" x="196.115" y="371.965">-</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 201.739, 371.965)" x="201.739" y="371.965">8 </text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 249.428, 378.817)" x="249.428" y="378.817">10</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 262.607, 371.965)" x="262.607" y="371.965">-</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 268.231, 371.965)" x="268.231" y="371.965">7 </text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 315.919, 378.817)" x="315.919" y="378.817">10</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 329.099, 371.965)" x="329.099" y="371.965">-</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 334.722, 371.965)" x="334.722" y="371.965">6 </text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 382.411, 378.817)" x="382.411" y="378.817">10</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 395.59, 371.965)" x="395.59" y="371.965">-</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 401.214, 371.965)" x="401.214" y="371.965">5 </text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 448.903, 378.817)" x="448.903" y="378.817">10</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 462.082, 371.965)" x="462.082" y="371.965">-</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 467.706, 371.965)" x="467.706" y="371.965">4 </text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 515.394, 378.817)" x="515.394" y="378.817">10</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 528.574, 371.965)" x="528.574" y="371.965">-</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 534.197, 371.965)" x="534.197" y="371.965">3 </text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 344.436)" x="32.7642" y="344.436">10</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 337.584)" x="45.9435" y="337.584">-</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 337.584)" x="51.5672" y="337.584">3.5 </text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 264.35)" x="32.7642" y="264.35">10</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 257.497)" x="45.9435" y="257.497">-</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 257.497)" x="51.5672" y="257.497">3.0 </text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 184.264)" x="32.7642" y="184.264">10</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 177.411)" x="45.9435" y="177.411">-</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 177.411)" x="51.5672" y="177.411">2.5 </text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 104.177)" x="32.7642" y="104.177">10</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 97.3248)" x="45.9435" y="97.3248">-</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 97.3248)" x="51.5672" y="97.3248">2.0 </text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 32.7642, 24.0912)" x="32.7642" y="24.0912">10</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 45.9435, 17.2386)" x="45.9435" y="17.2386">-</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;" transform="rotate(0, 51.5672, 17.2386)" x="51.5672" y="17.2386">1.5 </text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(0, 326.972, 397.6)" x="326.972" y="397.6">Error</text>
</g>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:16; text-anchor:middle;" transform="rotate(-90, 14.4, 185.938)" x="14.4" y="185.938">Time (s)</text>
</g>
<polyline clip-path="url(#clip6602)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  580.315,360.065 580.315,11.811
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  396.454,350.71 388.459,315.175 371.916,233.944 311.284,127.132 335.75,15.9634
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  228.909,350.788 138.04,302.748 204.069,230.037 155.708,123.002 73.6294,11.811
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  236.822,349.597 248.909,350.123 206.254,345.648 220.26,339.24 145.745,315.069
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  215.282,359.166 190.035,357.16 250.798,353.793 222.592,350.956 190.744,340.977
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  178.367,353.69 223.866,349.45 189.428,345.939 155.552,342.604 151.803,335.928
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  242.159,357.953 281.062,354.589 212.552,350.76 238.022,291.552 190.892,333.559
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#c68125; stroke-width:3; stroke-opacity:1; fill:none" points="
  198.612,360.065 219.594,356.952 230.142,351.977 229.756,348.771 178.384,342.276
  "/>
<polyline clip-path="url(#clip6602)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  479.7,360.065 479.7,11.811
  "/>
<polygon clip-path="url(#clip6600)" points="
368.602,183.891 562.315,183.891 562.315,32.691 368.602,32.691
  " fill="#ffffff" fill-opacity="1"/>
<polyline clip-path="url(#clip6600)" style="stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none" points="
  368.602,183.891 562.315,183.891 562.315,32.691 368.602,32.691 368.602,183.891
  "/>
<polyline clip-path="url(#clip6600)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  374.602,47.811 410.602,47.811
  "/>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 52.311)" x="416.602" y="52.311">Sample Error: 100</text>
</g>
<polyline clip-path="url(#clip6600)" style="stroke:#e26f46; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,62.931 410.602,62.931
  "/>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 67.431)" x="416.602" y="67.431">StochasticDiffEq.EM</text>
</g>
<polyline clip-path="url(#clip6600)" style="stroke:#3da44d; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,78.051 410.602,78.051
  "/>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 82.551)" x="416.602" y="82.551">StochasticDiffEq.RKMil</text>
</g>
<polyline clip-path="url(#clip6600)" style="stroke:#c271d2; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,93.171 410.602,93.171
  "/>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 97.671)" x="416.602" y="97.671">StochasticDiffEq.SRI</text>
</g>
<polyline clip-path="url(#clip6600)" style="stroke:#ac8d18; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,108.291 410.602,108.291
  "/>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 112.791)" x="416.602" y="112.791">StochasticDiffEq.SRIW1</text>
</g>
<polyline clip-path="url(#clip6600)" style="stroke:#00a9ad; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,123.411 410.602,123.411
  "/>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 127.911)" x="416.602" y="127.911">StochasticDiffEq.SRIW2</text>
</g>
<polyline clip-path="url(#clip6600)" style="stroke:#ed5d92; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,138.531 410.602,138.531
  "/>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 143.031)" x="416.602" y="143.031">StochasticDiffEq.SOSRI</text>
</g>
<polyline clip-path="url(#clip6600)" style="stroke:#c68125; stroke-width:3; stroke-opacity:1; fill:none" points="
  374.602,153.651 410.602,153.651
  "/>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 158.151)" x="416.602" y="158.151">StochasticDiffEq.SOSRI2</text>
</g>
<polyline clip-path="url(#clip6600)" style="stroke:#ff0000; stroke-width:3; stroke-opacity:1; fill:none" stroke-dasharray="12, 8" points="
  374.602,168.771 410.602,168.771
  "/>
<g clip-path="url(#clip6600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;" transform="rotate(0, 416.602, 173.271)" x="416.602" y="173.271">Sample Error: 10000</text>
</g>
</svg>

## Summary

In the additive noise problem, the `EM` and `RKMil` algorithms are not effective at reaching the sample error. In the other two problems, the `EM` and `RKMil` algorithms are as efficient as the higher order methods at achieving the maximal weak error.