
Results
Herbie found 16 alternatives:
| Alternative | Accuracy | Speedup |
|---|
Initial program 98.5%
associate-*r/98.5%
*-commutative98.5%
Applied egg-rr98.5%
div-inv98.7%
Applied egg-rr98.7%
Final simplification98.7%
Initial program 98.5%
associate-*r/98.5%
*-commutative98.5%
Applied egg-rr98.5%
times-frac98.5%
associate-/l*98.5%
associate-*l/98.5%
Applied egg-rr98.5%
Final simplification98.5%
Initial program 98.5%
associate-*r/98.5%
*-commutative98.5%
Applied egg-rr98.5%
Final simplification98.5%
Initial program 98.5%
*-commutative98.5%
associate-*r/98.6%
associate-/l*98.6%
associate-/r/98.5%
*-commutative98.5%
*-commutative98.5%
associate-*r*98.5%
associate-/l/98.5%
exp-neg98.5%
associate-/l/98.5%
associate-/r*98.5%
metadata-eval98.5%
associate-*l/98.5%
*-commutative98.5%
exp-prod98.5%
Simplified98.5%
Taylor expanded in sinTheta_O around 0 98.3%
rec-exp98.3%
distribute-neg-frac98.3%
metadata-eval98.3%
Simplified98.3%
*-un-lft-identity98.3%
Applied egg-rr98.3%
*-lft-identity98.3%
associate-/r*98.5%
Simplified98.5%
Final simplification98.5%
Initial program 98.5%
*-commutative98.5%
associate-*r/98.6%
*-commutative98.6%
associate-*l/98.5%
*-commutative98.5%
*-commutative98.5%
associate-*r*98.5%
associate-/l/98.5%
exp-neg98.5%
associate-/l/98.5%
associate-/r*98.5%
metadata-eval98.5%
associate-*l/98.5%
*-commutative98.5%
exp-prod98.5%
Simplified98.5%
Taylor expanded in sinTheta_O around 0 98.3%
rec-exp98.3%
distribute-neg-frac98.3%
metadata-eval98.3%
Simplified98.3%
*-un-lft-identity98.3%
Applied egg-rr98.3%
*-lft-identity98.3%
associate-/r*98.5%
Simplified98.5%
Final simplification98.5%
Initial program 98.5%
associate-*r/98.5%
*-commutative98.5%
Applied egg-rr98.5%
Taylor expanded in sinTheta_i around 0 98.3%
*-commutative98.3%
times-frac98.3%
unpow298.3%
rec-exp98.4%
distribute-neg-frac98.4%
metadata-eval98.4%
Simplified98.4%
Final simplification98.4%
if v < 0.50999999Initial program 98.2%
*-commutative98.2%
associate-*r/98.3%
associate-/l*98.3%
associate-/r/98.3%
*-commutative98.3%
*-commutative98.3%
associate-*r*98.3%
associate-/l/98.3%
exp-neg98.3%
associate-/l/98.3%
associate-/r*98.3%
metadata-eval98.3%
associate-*l/98.3%
*-commutative98.3%
exp-prod98.3%
Simplified98.3%
Taylor expanded in sinTheta_O around 0 97.9%
rec-exp97.9%
distribute-neg-frac97.9%
metadata-eval97.9%
Simplified97.9%
Taylor expanded in v around inf 69.4%
if 0.50999999 < v Initial program 99.1%
*-commutative99.1%
associate-*r/99.1%
associate-/l*99.1%
associate-/r/99.0%
*-commutative99.0%
*-commutative99.0%
associate-*r*99.0%
associate-/l/99.0%
exp-neg99.0%
associate-/l/99.0%
associate-/r*99.0%
metadata-eval99.0%
associate-*l/99.0%
*-commutative99.0%
exp-prod99.0%
Simplified99.0%
Taylor expanded in sinTheta_O around 0 98.8%
rec-exp98.9%
distribute-neg-frac98.9%
metadata-eval98.9%
Simplified98.9%
Taylor expanded in v around inf 75.1%
associate--l+75.1%
associate-*r/75.1%
metadata-eval75.1%
associate-*r/75.1%
metadata-eval75.1%
unpow275.1%
Simplified75.1%
Final simplification71.7%
if v < 0.50999999Initial program 98.2%
*-commutative98.2%
associate-*r/98.3%
*-commutative98.3%
associate-*l/98.2%
*-commutative98.2%
*-commutative98.2%
associate-*r*98.2%
associate-/l/98.2%
exp-neg98.2%
associate-/l/98.2%
associate-/r*98.2%
metadata-eval98.2%
associate-*l/98.2%
*-commutative98.2%
exp-prod98.2%
Simplified98.2%
Taylor expanded in sinTheta_O around 0 97.8%
rec-exp97.9%
distribute-neg-frac97.9%
metadata-eval97.9%
Simplified97.8%
Taylor expanded in v around inf 69.4%
if 0.50999999 < v Initial program 99.1%
*-commutative99.1%
associate-*r/99.1%
associate-/l*99.1%
associate-/r/99.0%
*-commutative99.0%
*-commutative99.0%
associate-*r*99.0%
associate-/l/99.0%
exp-neg99.0%
associate-/l/99.0%
associate-/r*99.0%
metadata-eval99.0%
associate-*l/99.0%
*-commutative99.0%
exp-prod99.0%
Simplified99.0%
Taylor expanded in sinTheta_O around 0 98.8%
rec-exp98.9%
distribute-neg-frac98.9%
metadata-eval98.9%
Simplified98.9%
Taylor expanded in v around inf 75.1%
associate--l+75.1%
associate-*r/75.1%
metadata-eval75.1%
associate-*r/75.1%
metadata-eval75.1%
unpow275.1%
Simplified75.1%
Final simplification71.7%
Initial program 98.5%
associate-*l/98.6%
times-frac98.5%
exp-neg98.5%
associate-*l/98.5%
*-lft-identity98.5%
associate-/l/98.5%
associate-*l*98.5%
associate-*l*98.5%
*-commutative98.5%
*-commutative98.5%
associate-*l/98.5%
Simplified98.5%
Taylor expanded in v around inf 63.9%
Taylor expanded in cosTheta_i around 0 63.9%
times-frac63.9%
associate-/l*63.9%
associate-/r/63.9%
associate-*r/63.9%
metadata-eval63.9%
*-commutative63.9%
Simplified63.9%
Final simplification63.9%
Initial program 98.5%
associate-*l/98.6%
times-frac98.5%
exp-neg98.5%
associate-*l/98.5%
*-lft-identity98.5%
associate-/l/98.5%
associate-*l*98.5%
associate-*l*98.5%
*-commutative98.5%
*-commutative98.5%
associate-*l/98.5%
Simplified98.5%
Taylor expanded in v around inf 63.9%
Taylor expanded in sinTheta_O around 0 63.9%
associate-*r/63.9%
metadata-eval63.9%
*-commutative63.9%
associate-*l/63.9%
+-commutative63.9%
fma-def63.9%
Simplified63.9%
Final simplification63.9%
Initial program 98.5%
Taylor expanded in v around inf 63.9%
associate-*r/63.9%
metadata-eval63.9%
unpow263.9%
Simplified63.9%
Taylor expanded in sinTheta_i around 0 63.9%
times-frac63.9%
associate-*r/63.9%
associate-*r/63.9%
metadata-eval63.9%
unpow263.9%
mul-1-neg63.9%
times-frac63.9%
unpow263.9%
associate-*r*63.9%
associate-*r/63.9%
metadata-eval63.9%
unpow263.9%
Simplified63.9%
Final simplification63.9%
Initial program 98.5%
Taylor expanded in v around inf 63.9%
associate-*r/63.9%
metadata-eval63.9%
unpow263.9%
Simplified63.9%
Taylor expanded in sinTheta_i around 0 63.9%
times-frac63.9%
associate-*r/63.9%
associate-*r/63.9%
metadata-eval63.9%
unpow263.9%
Simplified63.9%
Final simplification63.9%
Initial program 98.5%
associate-*l/98.6%
times-frac98.5%
exp-neg98.5%
associate-*l/98.5%
*-lft-identity98.5%
associate-/l/98.5%
associate-*l*98.5%
associate-*l*98.5%
*-commutative98.5%
*-commutative98.5%
associate-*l/98.5%
Simplified98.5%
Taylor expanded in v around inf 63.9%
Taylor expanded in sinTheta_O around 0 63.9%
associate-*r/63.9%
metadata-eval63.9%
*-commutative63.9%
Simplified63.9%
Final simplification63.9%
Initial program 98.5%
associate-*l/98.6%
times-frac98.5%
exp-neg98.5%
associate-*l/98.5%
*-lft-identity98.5%
associate-/l/98.5%
associate-*l*98.5%
associate-*l*98.5%
*-commutative98.5%
*-commutative98.5%
associate-*l/98.5%
Simplified98.5%
Taylor expanded in v around inf 58.2%
associate-*r/98.5%
*-commutative98.5%
Applied egg-rr58.2%
Final simplification58.2%
Initial program 98.5%
associate-*r/98.5%
*-commutative98.5%
Applied egg-rr98.5%
Taylor expanded in v around inf 58.2%
associate-/l*58.2%
Simplified58.2%
associate-/r/58.2%
Applied egg-rr58.2%
Final simplification58.2%
Initial program 98.5%
associate-*l/98.6%
times-frac98.5%
exp-neg98.5%
associate-*l/98.5%
*-lft-identity98.5%
associate-/l/98.5%
associate-*l*98.5%
associate-*l*98.5%
*-commutative98.5%
*-commutative98.5%
associate-*l/98.5%
Simplified98.5%
Taylor expanded in v around inf 58.2%
clear-num58.8%
un-div-inv58.8%
Applied egg-rr58.8%
Final simplification58.8%
herbie shell --seed 2023167
(FPCore (cosTheta_i cosTheta_O sinTheta_i sinTheta_O v)
:name "HairBSDF, Mp, upper"
:precision binary32
:pre (and (and (and (and (and (and (<= -1.0 cosTheta_i) (<= cosTheta_i 1.0)) (and (<= -1.0 cosTheta_O) (<= cosTheta_O 1.0))) (and (<= -1.0 sinTheta_i) (<= sinTheta_i 1.0))) (and (<= -1.0 sinTheta_O) (<= sinTheta_O 1.0))) (< 0.1 v)) (<= v 1.5707964))
(/ (* (exp (- (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1.0 v)) 2.0) v)))