Libraries Results

Average Percentage Accurate: 77.3% → 96.0%
Time: 8.3min
Bad Runs: 0/58
Speedup: 2.3×

Output vs Input Accuracy

Each point represents a Herbie run below. Its horizontal position shows initial accuracy, and vertical position shows final accuracy. Points above the line are improved by Herbie.

Accuracy vs Speed

A joint speed-accuracy pareto curve. Accuracy is on the vertical axis, speed is on the horizontal axis. Up and to the right is better. The initial program is shown by the red square.
TestStartResult ?Target ?Time
powComplex, real part41.1%79.6%31.7s»
powComplex, imaginary part40.8%78.4%34.2s»
normal distribution99.4%99.6%7.5s»
math.square on complex, real part93.4%97.1%4.3s»
math.square on complex, imaginary part100.0%100.0%0.8s»
math.sqrt on complex, imaginary part, im greater than 0 branch41.1%90.1%5.5s»
math.sin on complex, real part100.0%100.0%8.2s»
math.log10 on complex, real part51.4%99.0%8.8s»
math.log10 on complex, imaginary part98.7%99.8%4.5s»
math.log/2 on complex, real part51.0%99.4%9.7s»
math.log/2 on complex, imaginary part49.6%99.5%6.6s»
math.log/1 on complex, real part51.8%100.0%1.4s»
math.log/1 on complex, imaginary part100.0%100.0%0.8s»
math.exp on complex, real part100.0%100.0%3.2s»
math.exp on complex, imaginary part100.0%100.0%6.6s»
math.cos on complex, real part100.0%100.0%8.3s»
math.arg on complex100.0%100.0%1.0s»
math.abs on complex (squared)100.0%100.0%1.8s»
math.abs on complex53.6%100.0%0.9s»
_multiplyComplex, real part99.3%99.6%1.8s»
_multiplyComplex, imaginary part99.1%99.5%1.9s»
_divideComplex, real part63.2%85.2%8.3s»
_divideComplex, imaginary part62.4%91.0%9.5s»
Rust f64::atanh100.0%100.0%1.9s»
Rust f32::atanh99.8%99.7%7.7s»
Octave 3.8, oct_fill_randg99.7%99.8%12.1s»
Octave 3.8, jcobi/4, as called27.5%99.2%4.2s»
Octave 3.8, jcobi/416.6%84.1%17.3s»
Octave 3.8, jcobi/394.1%99.6%14.1s»
Octave 3.8, jcobi/263.7%97.8%19.2s»
Octave 3.8, jcobi/174.8%99.9%10.5s»
Jmat.Real.lambertw, estimator99.6%100.0%2.7s»
Jmat.Real.gamma, branch z less than 0.596.6%99.1%1.4min»
Jmat.Real.gamma, branch z greater than 0.50.4s»
Jmat.Real.erfi, branch x less than or equal to 0.599.8%99.9%8.7s»
Jmat.Real.erfi, branch x greater than or equal to 5100.0%100.0%6.4s»
Jmat.Real.erf79.0%98.9%17.6s»
Jmat.Real.dawson54.1%100.0%8.3s»
math.sqrt on complex, real part40.9%82.5%48.5%8.2s»
math.sin on complex, imaginary part54.7%99.8%99.8%10.0s»
math.cube on real99.9%100.0%100.0%1.7s»
math.cube on complex, real part82.0%95.9%87.0%6.3s»
math.cube on complex, imaginary part82.5%98.9%91.3%8.8s»
math.cos on complex, imaginary part66.4%99.8%99.8%8.1s»
Rust f64::asinh29.5%98.1%99.9%3.5s»
Rust f64::acosh51.2%99.4%99.9%3.6s»
Rust f32::asinh37.7%99.5%99.5%7.5s»
Rust f32::acosh53.7%98.1%99.3%2.7s»
Jmat.Real.lambertw, newton loop step78.4%98.7%79.4%10.2s»
Ian Simplification6.8%8.2%100.0%24.3s»
FastMath test599.9%100.0%100.0%1.7s»
FastMath test398.0%100.0%99.9%4.0s»
FastMath test299.6%100.0%100.0%3.9s»
FastMath test199.6%100.0%100.0%0.7s»
FastMath repmul99.9%100.0%100.0%1.7s»
FastMath dist487.9%100.0%100.0%5.7s»
FastMath dist398.0%100.0%100.0%2.9s»
FastMath dist98.1%100.0%100.0%1.7s»