Average Error: 0.1 → 0.1
Time: 14.8s
Precision: 64
Internal Precision: 128
\[\frac{e \cdot \sin v}{1 + e \cdot \cos v}\]
\[\frac{e \cdot \sin v}{\cos v \cdot e + 1}\]

Error

Bits error versus e

Bits error versus v

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\frac{e \cdot \sin v}{1 + e \cdot \cos v}\]
  2. Final simplification0.1

    \[\leadsto \frac{e \cdot \sin v}{\cos v \cdot e + 1}\]

Reproduce

herbie shell --seed 2019022 
(FPCore (e v)
  :name "Trigonometry A"
  :pre (<= 0 e 1)
  (/ (* e (sin v)) (+ 1 (* e (cos v)))))

Details

Time bar (total: 13.9s)Debug log

sample283.0ms

Algorithm
intervals
Results
67.0ms47×body1280valid
36.0ms40×body640valid
30.0ms139×body80valid
14.0ms20×body320valid
12.0ms256×pre80true
4.0ms10×body160valid

simplify69.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
68.0ms
(/ (* e (sin v)) (+ 1 (* e (cos v))))

prune12.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.2b

localize33.0ms

Local error

Found 3 expressions with local error:

0.2b
(* e (sin v))
0.1b
(* e (cos v))
0.0b
(/ (* e (sin v)) (+ 1 (* e (cos v))))

rewrite9.0ms

Algorithm
rewrite-expression-head
Rules
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
associate-*r*
add-exp-log
add-cbrt-cube
add-log-exp
times-frac
associate-/r*
pow1
*-commutative
associate-/r/
associate-/l*
div-inv
flip-+
div-exp
flip3-+
frac-2neg
clear-num
cbrt-undiv
Counts
3 → 43
Calls
3 calls:
Slowest
4.0ms
(/ (* e (sin v)) (+ 1 (* e (cos v))))
3.0ms
(* e (sin v))
1.0ms
(* e (cos v))

series201.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
86.0ms
(* e (sin v))
78.0ms
(/ (* e (sin v)) (+ 1 (* e (cos v))))
36.0ms
(* e (cos v))

simplify1.0s

Counts
28 → 52
Calls
28 calls:
Slowest
364.0ms
(- (+ (* (pow e 3) v) (* e v)) (* (pow e 2) v))
259.0ms
(+ (* 1 1) (- (* (* e (cos v)) (* e (cos v))) (* 1 (* e (cos v)))))
129.0ms
(/ (* (* (* e (sin v)) (* e (sin v))) (* e (sin v))) (* (* (+ 1 (* e (cos v))) (+ 1 (* e (cos v)))) (+ 1 (* e (cos v)))))
100.0ms
(- (+ (/ (sin v) (* (pow e 2) (pow (cos v) 3))) (/ (sin v) (cos v))) (/ (sin v) (* e (pow (cos v) 2))))
87.0ms
(- (+ (/ (sin v) (* (pow e 2) (pow (cos v) 3))) (/ (sin v) (cos v))) (/ (sin v) (* e (pow (cos v) 2))))

prune591.0ms

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.1b

localize10.0ms

Local error

Found 3 expressions with local error:

0.3b
(/ e (/ (+ 1 (* e (cos v))) (sin v)))
0.2b
(/ (+ 1 (* e (cos v))) (sin v))
0.1b
(* e (cos v))

rewrite20.0ms

Algorithm
rewrite-expression-head
Rules
19×add-cube-cbrt
19×*-un-lft-identity
19×add-sqr-sqrt
18×times-frac
16×associate-/r*
add-exp-log
add-cbrt-cube
add-log-exp
associate-/l*
div-inv
associate-*r*
pow1
associate-/l/
frac-2neg
clear-num
flip-+
*-commutative
associate-/r/
div-exp
flip3-+
cbrt-undiv
Counts
3 → 64
Calls
3 calls:
Slowest
15.0ms
(/ (+ 1 (* e (cos v))) (sin v))
2.0ms
(* e (cos v))
1.0ms
(/ e (/ (+ 1 (* e (cos v))) (sin v)))

series178.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
76.0ms
(/ e (/ (+ 1 (* e (cos v))) (sin v)))
60.0ms
(/ (+ 1 (* e (cos v))) (sin v))
42.0ms
(* e (cos v))

simplify1.3s

Counts
53 → 73
Calls
53 calls:
Slowest
435.0ms
(- (+ (* (pow e 3) v) (* e v)) (* (pow e 2) v))
264.0ms
(/ (* (* (+ 1 (* e (cos v))) (+ 1 (* e (cos v)))) (+ 1 (* e (cos v)))) (* (* (sin v) (sin v)) (sin v)))
105.0ms
(- (+ (/ (sin v) (* (pow e 2) (pow (cos v) 3))) (/ (sin v) (cos v))) (/ (sin v) (* e (pow (cos v) 2))))
84.0ms
(- (+ (/ (sin v) (* (pow e 2) (pow (cos v) 3))) (/ (sin v) (cos v))) (/ (sin v) (* e (pow (cos v) 2))))
52.0ms
(+ (pow 1 3) (pow (* e (cos v)) 3))

prune727.0ms

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 0.0b

localize13.0ms

Local error

Found 4 expressions with local error:

0.6b
(cbrt (sin v))
0.6b
(cbrt (sin v))
0.6b
(cbrt (sin v))
0.5b
(* (cbrt (sin v)) (cbrt (sin v)))

rewrite13.0ms

Algorithm
rewrite-expression-head
Rules
15×cbrt-prod
11×add-cube-cbrt
11×*-un-lft-identity
11×add-sqr-sqrt
pow1
pow1/3
add-exp-log
associate-*l*
associate-*r*
add-log-exp
add-cbrt-cube
pow-prod-up
pow-prod-down
cbrt-unprod
*-commutative
prod-exp
pow-plus
pow2
Counts
4 → 61
Calls
4 calls:
Slowest
10.0ms
(* (cbrt (sin v)) (cbrt (sin v)))
1.0ms
(cbrt (sin v))
0.0ms
(cbrt (sin v))
0.0ms
(cbrt (sin v))

series587.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
161.0ms
(cbrt (sin v))
147.0ms
(cbrt (sin v))
139.0ms
(cbrt (sin v))
139.0ms
(* (cbrt (sin v)) (cbrt (sin v)))

simplify291.0ms

Counts
41 → 73
Calls
41 calls:
Slowest
83.0ms
(- (pow v 1/3) (+ (* 1/18 (pow (pow v 7) 1/3)) (* 1/3240 (pow (pow v 13) 1/3))))
59.0ms
(- (pow v 1/3) (+ (* 1/18 (pow (pow v 7) 1/3)) (* 1/3240 (pow (pow v 13) 1/3))))
47.0ms
(- (pow v 1/3) (+ (* 1/18 (pow (pow v 7) 1/3)) (* 1/3240 (pow (pow v 13) 1/3))))
46.0ms
(- (+ (pow v 2/3) (* 1/405 (pow (pow v 14) 1/3))) (* 1/9 (pow (pow v 8) 1/3)))
4.0ms
(pow (pow (sin v) 2) 1/3)

prune930.0ms

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 0.0b

localize26.0ms

Local error

Found 4 expressions with local error:

0.6b
(cbrt (cbrt (sin v)))
0.6b
(cbrt (cbrt (sin v)))
0.6b
(cbrt (cbrt (sin v)))
0.6b
(cbrt (sin v))

rewrite6.0ms

Algorithm
rewrite-expression-head
Rules
30×cbrt-prod
11×add-cube-cbrt
11×*-un-lft-identity
11×add-sqr-sqrt
add-log-exp
add-exp-log
pow1/3
add-cbrt-cube
pow1
Counts
4 → 53
Calls
4 calls:
Slowest
1.0ms
(cbrt (cbrt (sin v)))
1.0ms
(cbrt (cbrt (sin v)))
1.0ms
(cbrt (cbrt (sin v)))
1.0ms
(cbrt (sin v))

series600.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
161.0ms
(cbrt (cbrt (sin v)))
151.0ms
(cbrt (sin v))
148.0ms
(cbrt (cbrt (sin v)))
140.0ms
(cbrt (cbrt (sin v)))

simplify276.0ms

Counts
33 → 65
Calls
33 calls:
Slowest
65.0ms
(- (pow v 1/9) (+ (* 13/29160 (pow (pow v 37) 1/9)) (* 1/54 (pow (pow v 19) 1/9))))
60.0ms
(- (pow v 1/3) (+ (* 1/18 (pow (pow v 7) 1/3)) (* 1/3240 (pow (pow v 13) 1/3))))
47.0ms
(- (pow v 1/9) (+ (* 13/29160 (pow (pow v 37) 1/9)) (* 1/54 (pow (pow v 19) 1/9))))
47.0ms
(- (pow v 1/9) (+ (* 13/29160 (pow (pow v 37) 1/9)) (* 1/54 (pow (pow v 19) 1/9))))
3.0ms
(pow (sin v) 1/3)

prune798.0ms

Pruning

7 alts after pruning (4 fresh and 3 done)

Merged error: 0.0b

regimes181.0ms

Accuracy

0% (0.1b remaining)

Error of 0.1b against oracle of 0.0b and baseline of 0.1b

bsearch2.0ms

end0.0ms

sample5.7s

Algorithm
intervals
Results
2.4s1473×body1280valid
1.2s4346×body80valid
1.2s1224×body640valid
384.0ms633×body320valid
238.0ms8000×pre80true
186.0ms324×body160valid