Average Error: 27.8 → 2.5
Time: 23.0s
Precision: 64
Internal Precision: 128
\[\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\]
\[\left(\frac{\frac{1}{x}}{cos} \cdot \frac{\cos \left(2 \cdot x\right)}{sin}\right) \cdot \frac{1}{\left(cos \cdot x\right) \cdot sin}\]

Error

Bits error versus x

Bits error versus cos

Bits error versus sin

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 27.8

    \[\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\]
  2. Initial simplification2.6

    \[\leadsto \frac{\cos \left(2 \cdot x\right)}{\left(\left(x \cdot cos\right) \cdot sin\right) \cdot \left(\left(x \cdot cos\right) \cdot sin\right)}\]
  3. Using strategy rm
  4. Applied associate-/r*2.3

    \[\leadsto \color{blue}{\frac{\frac{\cos \left(2 \cdot x\right)}{\left(x \cdot cos\right) \cdot sin}}{\left(x \cdot cos\right) \cdot sin}}\]
  5. Using strategy rm
  6. Applied *-un-lft-identity2.3

    \[\leadsto \frac{\frac{\color{blue}{1 \cdot \cos \left(2 \cdot x\right)}}{\left(x \cdot cos\right) \cdot sin}}{\left(x \cdot cos\right) \cdot sin}\]
  7. Applied times-frac2.5

    \[\leadsto \frac{\color{blue}{\frac{1}{x \cdot cos} \cdot \frac{\cos \left(2 \cdot x\right)}{sin}}}{\left(x \cdot cos\right) \cdot sin}\]
  8. Using strategy rm
  9. Applied div-inv2.5

    \[\leadsto \color{blue}{\left(\frac{1}{x \cdot cos} \cdot \frac{\cos \left(2 \cdot x\right)}{sin}\right) \cdot \frac{1}{\left(x \cdot cos\right) \cdot sin}}\]
  10. Using strategy rm
  11. Applied associate-/r*2.5

    \[\leadsto \left(\color{blue}{\frac{\frac{1}{x}}{cos}} \cdot \frac{\cos \left(2 \cdot x\right)}{sin}\right) \cdot \frac{1}{\left(x \cdot cos\right) \cdot sin}\]
  12. Final simplification2.5

    \[\leadsto \left(\frac{\frac{1}{x}}{cos} \cdot \frac{\cos \left(2 \cdot x\right)}{sin}\right) \cdot \frac{1}{\left(cos \cdot x\right) \cdot sin}\]

Reproduce

herbie shell --seed 2018362 
(FPCore (x cos sin)
  :name "cos(2*x)/(cos^2(x)*sin^2(x))"
  (/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))

Details

Time bar (total: 15.0s)Debug log

start193.0ms

Algorithm
intervals

setup317.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 2.4b

localize21.0ms

Local error

Found 4 expressions with local error:

4.4b
(* (* x cos) sin)
4.4b
(* (* x cos) sin)
0.4b
(/ (cos (* 2 x)) (* (* (* x cos) sin) (* (* x cos) sin)))
0.3b
(* (* (* x cos) sin) (* (* x cos) sin))

rewrite47.0ms

Algorithm
rewrite-expression-head
Counts
4 → 56
Calls

4 calls. Slowest were:

20.0ms
(/ (cos (* 2 x)) (* (* (* x cos) sin) (* (* x cos) sin)))
18.0ms
(* (* (* x cos) sin) (* (* x cos) sin))
4.0ms
(* (* x cos) sin)

series145.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

53.0ms
(/ (cos (* 2 x)) (* (* (* x cos) sin) (* (* x cos) sin)))
46.0ms
(* (* (* x cos) sin) (* (* x cos) sin))
27.0ms
(* (* x cos) sin)
18.0ms
(* (* x cos) sin)

simplify3.3s

Counts
33 → 68
Calls

33 calls. Slowest were:

621.0ms
(* (* (* (* (* x cos) sin) (* (* x cos) sin)) (* (* x cos) sin)) (* (* (* (* x cos) sin) (* (* x cos) sin)) (* (* x cos) sin)))
383.0ms
(/ (* (cos x) (cos x)) (* (* (* x cos) sin) (* (* x cos) sin)))
372.0ms
(- (log (cos (* 2 x))) (log (* (* (* x cos) sin) (* (* x cos) sin))))

prune630.0ms

Pruning

15 alts after pruning (15 fresh and 0 done)

Merged error: 1.4b

localize5.0ms

Local error

Found 4 expressions with local error:

4.4b
(* (* x cos) sin)
4.4b
(* (* x cos) sin)
0.3b
(/ (cos (* 2 x)) (* (* x cos) sin))
0.2b
(/ (/ (cos (* 2 x)) (* (* x cos) sin)) (* (* x cos) sin))

rewrite21.0ms

Algorithm
rewrite-expression-head
Counts
4 → 69
Calls

4 calls. Slowest were:

9.0ms
(/ (/ (cos (* 2 x)) (* (* x cos) sin)) (* (* x cos) sin))
7.0ms
(/ (cos (* 2 x)) (* (* x cos) sin))
2.0ms
(* (* x cos) sin)

series106.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

49.0ms
(/ (/ (cos (* 2 x)) (* (* x cos) sin)) (* (* x cos) sin))
26.0ms
(/ (cos (* 2 x)) (* (* x cos) sin))
16.0ms
(* (* x cos) sin)
16.0ms
(* (* x cos) sin)

simplify3.4s

Counts
49 → 81
Calls

49 calls. Slowest were:

671.0ms
(- (- (log (cos (* 2 x))) (log (* (* x cos) sin))) (log (* (* x cos) sin)))
390.0ms
(/ (/ (* (cos x) (cos x)) (* (* x cos) sin)) (* (* x cos) sin))
375.0ms
(- (log (/ (cos (* 2 x)) (* (* x cos) sin))) (log (* (* x cos) sin)))

prune627.0ms

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 1.4b

localize10.0ms

Local error

Found 4 expressions with local error:

4.4b
(* (* x cos) sin)
4.2b
(* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin))
0.4b
(/ 1 (* x cos))
0.2b
(/ (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) (* (* x cos) sin))

rewrite18.0ms

Algorithm
rewrite-expression-head
Counts
4 → 67
Calls

4 calls. Slowest were:

8.0ms
(/ (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) (* (* x cos) sin))
6.0ms
(* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin))
2.0ms
(* (* x cos) sin)

series97.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

48.0ms
(/ (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) (* (* x cos) sin))
25.0ms
(* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin))
16.0ms
(* (* x cos) sin)
7.0ms
(/ 1 (* x cos))

simplify3.3s

Counts
37 → 79
Calls

37 calls. Slowest were:

644.0ms
(/ (* (* (* (/ 1 (* x cos)) (/ 1 (* x cos))) (/ 1 (* x cos))) (* (* (/ (cos (* 2 x)) sin) (/ (cos (* 2 x)) sin)) (/ (cos (* 2 x)) sin))) (* (* (* (* x cos) sin) (* (* x cos) sin)) (* (* x cos) sin)))
474.0ms
(/ (* (* (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin)) (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin))) (* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin))) (* (* (* (* x cos) sin) (* (* x cos) sin)) (* (* x cos) sin)))
333.0ms
(+ (log (/ 1 (* x cos))) (log (/ (cos (* 2 x)) sin)))

prune687.0ms

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 1.2b

localize6.0ms

Local error

Found 4 expressions with local error:

4.4b
(* (* x cos) sin)
4.2b
(* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin))
0.4b
(/ 1 (* x cos))
0.3b
(/ 1 (* (* x cos) sin))

rewrite10.0ms

Algorithm
rewrite-expression-head
Counts
4 → 60
Calls

4 calls. Slowest were:

5.0ms
(* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin))
2.0ms
(/ 1 (* (* x cos) sin))
2.0ms
(* (* x cos) sin)

series63.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

26.0ms
(* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin))
18.0ms
(* (* x cos) sin)
12.0ms
(/ 1 (* (* x cos) sin))
7.0ms
(/ 1 (* x cos))

simplify893.0ms

Counts
27 → 72
Calls

27 calls. Slowest were:

334.0ms
(+ (log (/ 1 (* x cos))) (log (/ (cos (* 2 x)) sin)))
180.0ms
(* (/ 1 (* x cos)) (/ (cos (* 2 x)) sin))
101.0ms
(* (* (* (/ 1 (* x cos)) (/ 1 (* x cos))) (/ 1 (* x cos))) (* (* (/ (cos (* 2 x)) sin) (/ (cos (* 2 x)) sin)) (/ (cos (* 2 x)) sin)))

prune792.0ms

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 1.2b

regimes251.0ms

Accuracy

0% (1.2b remaining)

Error of 2.5b against oracle of 1.2b and baseline of 2.5b

bsearch2.0ms