


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus a
Initial program 12.9
rmApplied tan-quot12.9
Applied tan-sum0.2
Applied frac-sub0.2
Simplified0.2
rmApplied add-cbrt-cube0.2
rmApplied *-un-lft-identity0.2
Applied times-frac0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019022 +o rules:numerics
(FPCore (x y z a)
:name "(+ x (- (tan (+ y z)) (tan a)))"
:pre (and (or (== x 0) (<= 0.5884142 x 505.5909)) (or (<= -1.796658e+308 y -9.425585e-310) (<= 1.284938e-309 y 1.751224e+308)) (or (<= -1.776707e+308 z -8.599796e-310) (<= 3.293145e-311 z 1.725154e+308)) (or (<= -1.796658e+308 a -9.425585e-310) (<= 1.284938e-309 a 1.751224e+308)))
(+ x (- (tan (+ y z)) (tan a))))
Time bar (total: 54.0s)Debug log
| 233.0ms | 124× | body | 1280 | valid |
| 82.0ms | 66× | body | 640 | valid |
| 65.0ms | 256× | pre | 80 | true |
| 21.0ms | 23× | body | 320 | valid |
| 9.0ms | 35× | body | 80 | valid |
| 5.0ms | 8× | body | 160 | valid |
| 75.0ms | (+ x (- (tan (+ y z)) (tan a))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 12.1b
Found 3 expressions with local error:
| 2.7b | (tan (+ y z)) |
| 0.2b | (- (tan (+ y z)) (tan a)) |
| 0.1b | (+ x (- (tan (+ y z)) (tan a))) |
| 18× | prod-diff |
| 18× | *-un-lft-identity |
| 18× | add-sqr-sqrt |
| 16× | add-cube-cbrt |
| 11× | associate-+r+ |
| 5× | add-log-exp |
| 4× | tan-quot |
| 3× | log1p-expm1-u |
| 3× | add-exp-log |
| 3× | fma-neg |
| 3× | add-cbrt-cube |
| 3× | pow1 |
| 3× | expm1-log1p-u |
| 2× | frac-sub |
| 2× | sub-neg |
| 2× | tan-sum |
| 1× | difference-of-squares |
| 1× | distribute-lft-out-- |
| 1× | flip-- |
| 1× | flip-+ |
| 1× | diff-log |
| 1× | flip3-- |
| 1× | flip3-+ |
| 1× | associate-+r- |
| 1× | +-commutative |
| 6.0ms | (- (tan (+ y z)) (tan a)) |
| 6.0ms | (+ x (- (tan (+ y z)) (tan a))) |
| 2.0ms | (tan (+ y z)) |
| 120.0ms | (- (tan (+ y z)) (tan a)) |
| 118.0ms | (+ x (- (tan (+ y z)) (tan a))) |
| 65.0ms | (tan (+ y z)) |
| 233.0ms | (- (* (+ (tan y) (tan z)) (cos a)) (* (- 1 (* (tan y) (tan z))) (sin a))) |
| 148.0ms | (* (- 1 (* (tan y) (tan z))) (cos a)) |
| 34.0ms | (- (+ (/ (sin (+ z y)) (cos (+ z y))) x) (/ (sin a) (cos a))) |
| 32.0ms | (- (+ (/ (sin (+ z y)) (cos (+ z y))) x) (/ (sin a) (cos a))) |
| 31.0ms | (fma (- (cbrt (tan a))) (* (cbrt (tan a)) (cbrt (tan a))) (* (cbrt (tan a)) (* (cbrt (tan a)) (cbrt (tan a))))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 0.2b | (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (* (- 1 (* (tan y) (tan z))) (cos a))) |
| 0.2b | (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) |
| 0.2b | (* (tan y) (tan z)) |
| 0.1b | (+ x (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (* (- 1 (* (tan y) (tan z))) (cos a)))) |
| 11× | add-exp-log |
| 11× | add-cbrt-cube |
| 8× | add-cube-cbrt |
| 8× | *-un-lft-identity |
| 8× | add-sqr-sqrt |
| 6× | pow1 |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | tan-quot |
| 4× | expm1-log1p-u |
| 3× | associate-/l* |
| 3× | associate-*l/ |
| 3× | associate-*l* |
| 3× | associate-*r* |
| 3× | times-frac |
| 2× | cbrt-unprod |
| 2× | associate-/r/ |
| 2× | prod-exp |
| 2× | div-exp |
| 2× | cbrt-undiv |
| 1× | flip-- |
| 1× | div-inv |
| 1× | fma-udef |
| 1× | flip-+ |
| 1× | *-commutative |
| 1× | associate-*r/ |
| 1× | pow-prod-down |
| 1× | flip3-- |
| 1× | flip3-+ |
| 1× | frac-2neg |
| 1× | associate-/r* |
| 1× | clear-num |
| 1× | +-commutative |
| 1× | frac-times |
| 11.0ms | (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (* (- 1 (* (tan y) (tan z))) (cos a))) |
| 7.0ms | (* (tan y) (tan z)) |
| 4.0ms | (+ x (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (* (- 1 (* (tan y) (tan z))) (cos a)))) |
| 0.0ms | (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) |
| 589.0ms | (+ x (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (* (- 1 (* (tan y) (tan z))) (cos a)))) |
| 510.0ms | (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (* (- 1 (* (tan y) (tan z))) (cos a))) |
| 317.0ms | (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) |
| 84.0ms | (* (tan y) (tan z)) |
| 373.0ms | (/ (- (+ (/ (* (cos a) (sin z)) (cos z)) (+ (/ (* (sin a) (* (sin z) (sin y))) (* (cos y) (cos z))) (/ (* (cos a) (sin y)) (cos y)))) (sin a)) (* (cos a) (- 1 (/ (* (sin z) (sin y)) (* (cos y) (cos z)))))) |
| 316.0ms | (/ (- (+ (/ (* (cos a) (sin z)) (cos z)) (+ (/ (* (sin a) (* (sin z) (sin y))) (* (cos y) (cos z))) (/ (* (cos a) (sin y)) (cos y)))) (sin a)) (* (cos a) (- 1 (/ (* (sin z) (sin y)) (* (cos y) (cos z)))))) |
| 287.0ms | (+ (* 1/3 (* (pow z 3) y)) (+ (* 1/3 (* z (pow y 3))) (* z y))) |
| 238.0ms | (- (log (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a)))) (log (* (- 1 (* (tan y) (tan z))) (cos a)))) |
| 229.0ms | (- (+ (/ (* (cos a) (sin z)) (cos z)) (+ (/ (* (sin a) (* (sin z) (sin y))) (* (cos y) (cos z))) (/ (* (cos a) (sin y)) (cos y)))) (sin a)) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 26.5b | (cbrt (* (* (* (tan y) (tan z)) (* (tan y) (tan z))) (* (tan y) (tan z)))) |
| 0.3b | (* (* (tan y) (tan z)) (* (tan y) (tan z))) |
| 0.2b | (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (* (- 1 (cbrt (* (* (* (tan y) (tan z)) (* (tan y) (tan z))) (* (tan y) (tan z))))) (cos a))) |
| 0.2b | (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) |
| 224× | tan-quot |
| 146× | frac-times |
| 88× | associate-*l/ |
| 74× | associate-*r/ |
| 63× | cbrt-div |
| 31× | pow1 |
| 21× | add-exp-log |
| 21× | add-cbrt-cube |
| 13× | pow-prod-down |
| 9× | cbrt-unprod |
| 9× | prod-exp |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 6× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | pow-prod-up |
| 4× | expm1-log1p-u |
| 3× | associate-/l* |
| 3× | times-frac |
| 2× | associate-/r/ |
| 2× | div-exp |
| 2× | pow-plus |
| 2× | cbrt-undiv |
| 1× | flip-- |
| 1× | div-inv |
| 1× | fma-udef |
| 1× | rem-cbrt-cube |
| 1× | *-commutative |
| 1× | pow3 |
| 1× | associate-*l* |
| 1× | associate-*r* |
| 1× | pow1/3 |
| 1× | flip3-- |
| 1× | frac-2neg |
| 1× | associate-/r* |
| 1× | clear-num |
| 1× | pow2 |
| 1× | cbrt-prod |
| 32.0ms | (cbrt (* (* (* (tan y) (tan z)) (* (tan y) (tan z))) (* (tan y) (tan z)))) |
| 31.0ms | (* (* (tan y) (tan z)) (* (tan y) (tan z))) |
| 11.0ms | (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (* (- 1 (cbrt (* (* (* (tan y) (tan z)) (* (tan y) (tan z))) (* (tan y) (tan z))))) (cos a))) |
| 0.0ms | (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) |
| 485.0ms | (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (* (- 1 (cbrt (* (* (* (tan y) (tan z)) (* (tan y) (tan z))) (* (tan y) (tan z))))) (cos a))) |
| 290.0ms | (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) |
| 96.0ms | (* (* (tan y) (tan z)) (* (tan y) (tan z))) |
| 87.0ms | (cbrt (* (* (* (tan y) (tan z)) (* (tan y) (tan z))) (* (tan y) (tan z)))) |
| 911.0ms | (* (* (* (* (tan y) (tan y)) (tan y)) (* (* (tan z) (tan z)) (tan z))) (* (* (* (tan y) (tan z)) (* (tan y) (tan z))) (* (tan y) (tan z)))) |
| 489.0ms | (* (* (* (* (tan y) (tan z)) (* (tan y) (tan z))) (* (tan y) (tan z))) (* (* (* (tan y) (tan y)) (tan y)) (* (* (tan z) (tan z)) (tan z)))) |
| 451.0ms | (cbrt (* (* (* (tan y) (tan z)) (* (tan y) (sin z))) (* (sin y) (sin z)))) |
| 446.0ms | (cbrt (* (* (* (sin y) (tan z)) (* (sin y) (sin z))) (* (tan y) (sin z)))) |
| 414.0ms | (cbrt (* (* (* (sin y) (sin z)) (* (sin y) (tan z))) (* (tan y) (tan z)))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.2b | (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) |
| 0.2b | (* (tan z) (tan y)) |
| 0.2b | (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (cos a)) |
| 0.1b | (+ x (* (/ 1 (- 1 (* (tan z) (tan y)))) (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (cos a)))) |
| 14× | add-cube-cbrt |
| 14× | *-un-lft-identity |
| 14× | add-sqr-sqrt |
| 9× | times-frac |
| 8× | add-exp-log |
| 8× | add-cbrt-cube |
| 6× | pow1 |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | tan-quot |
| 4× | expm1-log1p-u |
| 3× | associate-/l* |
| 3× | associate-*l* |
| 3× | associate-*r* |
| 3× | associate-/r* |
| 1× | div-inv |
| 1× | fma-udef |
| 1× | flip-+ |
| 1× | cbrt-unprod |
| 1× | *-commutative |
| 1× | associate-*r/ |
| 1× | prod-exp |
| 1× | associate-*l/ |
| 1× | pow-prod-down |
| 1× | div-exp |
| 1× | flip3-+ |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | +-commutative |
| 1× | cbrt-undiv |
| 1× | frac-times |
| 6.0ms | (* (tan z) (tan y)) |
| 4.0ms | (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (cos a)) |
| 2.0ms | (+ x (* (/ 1 (- 1 (* (tan z) (tan y)))) (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (cos a)))) |
| 0.0ms | (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) |
| 519.0ms | (+ x (* (/ 1 (- 1 (* (tan z) (tan y)))) (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (cos a)))) |
| 318.0ms | (/ (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (cos a)) |
| 277.0ms | (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) |
| 81.0ms | (* (tan z) (tan y)) |
| 245.0ms | (/ (* (* (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a))) (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a)))) (fma (+ (tan y) (tan z)) (cos a) (* (fma (tan y) (tan z) -1) (sin a)))) (* (* (cos a) (cos a)) (cos a))) |
| 216.0ms | (+ (* 1/3 (* (pow z 3) y)) (+ (* 1/3 (* z (pow y 3))) (* z y))) |
| 211.0ms | (- (+ (/ (* (cos a) (sin z)) (cos z)) (+ (/ (* (sin a) (* (sin z) (sin y))) (* (cos y) (cos z))) (/ (* (cos a) (sin y)) (cos y)))) (sin a)) |
| 204.0ms | (- (+ (/ (sin z) (* (cos z) (- 1 (/ (* (sin z) (sin y)) (* (cos y) (cos z)))))) (+ (/ (* (sin a) (* (sin z) (sin y))) (* (cos y) (* (cos a) (* (cos z) (- 1 (/ (* (sin z) (sin y)) (* (cos y) (cos z)))))))) (+ (/ (sin y) (* (cos y) (- 1 (/ (* (sin z) (sin y)) (* (cos y) (cos z)))))) x))) (/ (sin a) (* (cos a) (- 1 (/ (* (sin z) (sin y)) (* (cos y) (cos z))))))) |
| 182.0ms | (- (+ (/ (sin z) (* (cos z) (- 1 (/ (* (sin z) (sin y)) (* (cos y) (cos z)))))) (+ (/ (* (sin a) (* (sin z) (sin y))) (* (cos y) (* (cos a) (* (cos z) (- 1 (/ (* (sin z) (sin y)) (* (cos y) (cos z)))))))) (+ (/ (sin y) (* (cos y) (- 1 (/ (* (sin z) (sin y)) (* (cos y) (cos z)))))) x))) (/ (sin a) (* (cos a) (- 1 (/ (* (sin z) (sin y)) (* (cos y) (cos z))))))) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 0.0b
0% (0.1b remaining)
Error of 0.2b against oracle of 0.1b and baseline of 0.2b
| 6.3s | 3863× | body | 1280 | valid |
| 2.6s | 1964× | body | 640 | valid |
| 577.0ms | 8000× | pre | 80 | true |
| 482.0ms | 697× | body | 320 | valid |
| 238.0ms | 1192× | body | 80 | valid |
| 166.0ms | 284× | body | 160 | valid |