


Bits error versus J



Bits error versus K



Bits error versus U
Results
if K < -3.5201966281538502e+81 or -8.865955989706373e+34 < K Initial program 17.6
Simplified7.7
rmApplied associate-/l/7.7
if -3.5201966281538502e+81 < K < -8.865955989706373e+34Initial program 17.2
Simplified7.9
rmApplied associate-/l/7.8
rmApplied div-inv7.8
Applied times-frac8.0
Simplified8.0
Taylor expanded around inf 44.7
Simplified44.7
Final simplification9.2
herbie shell --seed 2019016 +o rules:numerics
(FPCore (J K U)
:name "Maksimov and Kolovsky, Equation (3)"
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
Time bar (total: 24.1s)Debug log
| 256× | (pre true 80) |
| 140× | (body real 80) |
| 49× | (body real 1280) |
| 39× | (body real 640) |
| 21× | (body real 320) |
| 7× | (body real 160) |
| 309.0ms | (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 8.3b
Found 4 expressions with local error:
| 8.3b | (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (* (cos (/ K 2)) (* -2 J))) |
| 0.1b | (* (cos (/ K 2)) (* -2 J)) |
| 0.1b | (/ (/ (/ U 2) J) (cos (/ K 2))) |
| 0.0b | (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) |
| 15× | add-cube-cbrt |
| 15× | *-un-lft-identity |
| 15× | add-sqr-sqrt |
| 13× | add-exp-log |
| 13× | add-cbrt-cube |
| 12× | times-frac |
| 11× | pow1 |
| 6× | associate-*l* |
| 5× | div-inv |
| 4× | add-log-exp |
| 4× | associate-/l* |
| 4× | log1p-expm1-u |
| 4× | cbrt-unprod |
| 4× | prod-exp |
| 4× | pow-prod-down |
| 4× | expm1-log1p-u |
| 3× | associate-/r* |
| 2× | *-commutative |
| 2× | associate-*r* |
| 1× | associate-/l/ |
| 1× | div-exp |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | hypot-udef |
| 1× | cbrt-undiv |
| 21.0ms | (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (* (cos (/ K 2)) (* -2 J))) |
| 16.0ms | (/ (/ (/ U 2) J) (cos (/ K 2))) |
| 9.0ms | (* (cos (/ K 2)) (* -2 J)) |
| 0.0ms | (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) |
| 237.0ms | (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (* (cos (/ K 2)) (* -2 J))) |
| 221.0ms | (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) |
| 116.0ms | (/ (/ (/ U 2) J) (cos (/ K 2))) |
| 60.0ms | (* (cos (/ K 2)) (* -2 J)) |
| 610.0ms | (/ (* (* (/ (/ U 2) J) (/ (/ U 2) J)) (/ (/ U 2) J)) (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2)))) |
| 180.0ms | (- (log (/ (/ U 2) J)) (log (cos (/ K 2)))) |
| 160.0ms | (+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J))) |
| 151.0ms | (* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J))) |
| 120.0ms | (* (* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 4.5b
Found 4 expressions with local error:
| 8.3b | (* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (cos (/ K 2)) (* -2 J))) |
| 0.1b | (* (cos (/ K 2)) (* -2 J)) |
| 0.1b | (* (cos (/ K 2)) J) |
| 0.1b | (/ (/ U 2) (* (cos (/ K 2)) J)) |
| 13× | add-exp-log |
| 13× | add-cbrt-cube |
| 11× | pow1 |
| 9× | add-cube-cbrt |
| 9× | associate-*l* |
| 9× | *-un-lft-identity |
| 9× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | associate-/l* |
| 4× | log1p-expm1-u |
| 4× | cbrt-unprod |
| 4× | prod-exp |
| 4× | pow-prod-down |
| 4× | times-frac |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 3× | *-commutative |
| 2× | associate-*r* |
| 1× | associate-/l/ |
| 1× | div-exp |
| 1× | frac-2neg |
| 1× | associate-/r* |
| 1× | clear-num |
| 1× | cbrt-undiv |
| 13.0ms | (* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (cos (/ K 2)) (* -2 J))) |
| 9.0ms | (* (cos (/ K 2)) (* -2 J)) |
| 9.0ms | (/ (/ U 2) (* (cos (/ K 2)) J)) |
| 6.0ms | (* (cos (/ K 2)) J) |
| 263.0ms | (* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (cos (/ K 2)) (* -2 J))) |
| 59.0ms | (/ (/ U 2) (* (cos (/ K 2)) J)) |
| 51.0ms | (* (cos (/ K 2)) J) |
| 49.0ms | (* (cos (/ K 2)) (* -2 J)) |
| 209.0ms | (- (log (/ U 2)) (log (* (cos (/ K 2)) J))) |
| 172.0ms | (* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J))) |
| 162.0ms | (- J (* 1/8 (* (pow K 2) J))) |
| 149.0ms | (+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J))) |
| 131.0ms | (- (+ (* 2 J) (* 1/4 (/ (pow U 2) J)))) |
9 alts after pruning (8 fresh and 1 done)
Merged error: 4.5b
Found 4 expressions with local error:
| 8.3b | (* (hypot 1 (* (/ U (cos (/ K 2))) (/ 1/2 J))) (* (cos (/ K 2)) (* -2 J))) |
| 0.2b | (* (/ U (cos (/ K 2))) (/ 1/2 J)) |
| 0.1b | (* (cos (/ K 2)) (* -2 J)) |
| 0.1b | (/ U (cos (/ K 2))) |
| 13× | add-exp-log |
| 13× | add-cbrt-cube |
| 13× | pow1 |
| 10× | associate-*l* |
| 9× | add-cube-cbrt |
| 9× | *-un-lft-identity |
| 9× | add-sqr-sqrt |
| 6× | associate-*r* |
| 5× | cbrt-unprod |
| 5× | prod-exp |
| 5× | pow-prod-down |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 3× | *-commutative |
| 3× | associate-/r* |
| 1× | associate-*r/ |
| 1× | associate-*l/ |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | frac-times |
| 11.0ms | (* (hypot 1 (* (/ U (cos (/ K 2))) (/ 1/2 J))) (* (cos (/ K 2)) (* -2 J))) |
| 5.0ms | (* (cos (/ K 2)) (* -2 J)) |
| 4.0ms | (* (/ U (cos (/ K 2))) (/ 1/2 J)) |
| 1.0ms | (/ U (cos (/ K 2))) |
| 280.0ms | (* (hypot 1 (* (/ U (cos (/ K 2))) (/ 1/2 J))) (* (cos (/ K 2)) (* -2 J))) |
| 97.0ms | (* (/ U (cos (/ K 2))) (/ 1/2 J)) |
| 75.0ms | (/ U (cos (/ K 2))) |
| 43.0ms | (* (cos (/ K 2)) (* -2 J)) |
| 474.0ms | (* (* (* (/ U (cos (/ K 2))) (/ U (cos (/ K 2)))) (/ U (cos (/ K 2)))) (* (* (/ 1/2 J) (/ 1/2 J)) (/ 1/2 J))) |
| 250.0ms | (* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J))) |
| 218.0ms | (+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J))) |
| 160.0ms | (+ (log (/ U (cos (/ K 2)))) (log (/ 1/2 J))) |
| 139.0ms | (+ (log (hypot 1 (* (/ U (cos (/ K 2))) (/ 1/2 J)))) (log (* (cos (/ K 2)) (* -2 J)))) |
9 alts after pruning (7 fresh and 2 done)
Merged error: 4.5b
Found 4 expressions with local error:
| 8.3b | (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) |
| 8.3b | (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) |
| 0.2b | (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J))) |
| 0.2b | (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J)))) |
| 18× | add-exp-log |
| 18× | add-cbrt-cube |
| 18× | pow1 |
| 12× | sqrt-prod |
| 12× | associate-*l* |
| 12× | add-sqr-sqrt |
| 10× | add-cube-cbrt |
| 10× | *-un-lft-identity |
| 9× | cbrt-unprod |
| 9× | prod-exp |
| 9× | pow-prod-down |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | expm1-log1p-u |
| 2× | *-commutative |
| 2× | associate-*r* |
| 2× | pow1/2 |
| 2× | rem-sqrt-square |
| 30.0ms | (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J)))) |
| 15.0ms | (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J))) |
| 1.0ms | (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) |
| 1.0ms | (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) |
| 556.0ms | (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) |
| 267.0ms | (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J)))) |
| 253.0ms | (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J))) |
| 184.0ms | (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) |
| 201.0ms | (+ (log (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (log (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J))))) |
| 192.0ms | (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J)))) |
| 169.0ms | (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J)))) |
| 164.0ms | (+ (log (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (+ (log (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (+ (log (cos (/ K 2))) (log (* -2 J))))) |
| 140.0ms | (* (* (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (* (* (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J))))) |
9 alts after pruning (7 fresh and 2 done)
Merged error: 4.5b
-41.4% (5.3b remaining)
Error of 9.2b against oracle of 3.9b and baseline of 7.7b
| 8004× | (pre true 80) |
| 4295× | (body real 80) |
| 1531× | (body real 1280) |
| 1226× | (body real 640) |
| 650× | (body real 320) |
| 302× | (body real 160) |