Average Error: 27.5 → 2.7
Time: 19.3s
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)}\]
\[\frac{\frac{\cos \left(2 \cdot x\right)}{\left(x \cdot cos\right) \cdot sin}}{\left(x \cdot cos\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.5

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

    \[\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.7

    \[\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. Final simplification2.7

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

Reproduce

herbie shell --seed 2018365 
(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: 11.2s)Debug log

start173.0ms

Algorithm
intervals

setup195.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 4.1b

localize18.0ms

Local error

Found 4 expressions with local error:

7.5b
(* (* x cos) sin)
7.5b
(* (* x cos) sin)
0.3b
(* (* (* x cos) sin) (* (* x cos) sin))
0.1b
(/ (cos (* 2 x)) (* (* (* x cos) sin) (* (* x cos) sin)))

rewrite26.0ms

Algorithm
rewrite-expression-head
Counts
4 → 56
Calls

4 calls. Slowest were:

11.0ms
(/ (cos (* 2 x)) (* (* (* x cos) sin) (* (* x cos) sin)))
10.0ms
(* (* (* x cos) sin) (* (* x cos) sin))
2.0ms
(* (* x cos) sin)

series120.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

51.0ms
(/ (cos (* 2 x)) (* (* (* x cos) sin) (* (* x cos) sin)))
33.0ms
(* (* (* x cos) sin) (* (* x cos) sin))
20.0ms
(* (* x cos) sin)
16.0ms
(* (* x cos) sin)

simplify2.7s

Counts
33 → 68
Calls

33 calls. Slowest were:

452.0ms
(* (* (* (* (* x cos) sin) (* (* x cos) sin)) (* (* x cos) sin)) (* (* (* (* x cos) sin) (* (* x cos) sin)) (* (* x cos) sin)))
280.0ms
(/ (* (cos x) (cos x)) (* (* (* x cos) sin) (* (* x cos) sin)))
255.0ms
(/ (cos (* 2 x)) (* (pow cos 2) (* (pow x 2) (pow sin 2))))

prune831.0ms

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 3.6b

localize6.0ms

Local error

Found 4 expressions with local error:

7.5b
(* (* x cos) sin)
7.5b
(* (* x cos) sin)
0.6b
(/ (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:

10.0ms
(/ (/ (cos (* 2 x)) (* (* x cos) sin)) (* (* x cos) sin))
6.0ms
(/ (cos (* 2 x)) (* (* x cos) sin))
2.0ms
(* (* x cos) sin)

series108.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

48.0ms
(/ (/ (cos (* 2 x)) (* (* x cos) sin)) (* (* x cos) sin))
28.0ms
(/ (cos (* 2 x)) (* (* x cos) sin))
16.0ms
(* (* x cos) sin)
16.0ms
(* (* x cos) sin)

simplify3.5s

Counts
49 → 81
Calls

49 calls. Slowest were:

426.0ms
(- (- (log (cos (* 2 x))) (log (* (* x cos) sin))) (log (* (* x cos) sin)))
425.0ms
(/ (/ (* (cos x) (cos x)) (* (* x cos) sin)) (* (* x cos) sin))
378.0ms
(- (log (/ (cos (* 2 x)) (* (* x cos) sin))) (log (* (* x cos) sin)))

prune697.0ms

Pruning

13 alts after pruning (12 fresh and 1 done)

Merged error: 3.5b

localize12.0ms

Local error

Found 4 expressions with local error:

7.5b
(* (* x cos) sin)
7.5b
(* (* x cos) sin)
0.4b
(cbrt (cos (* 2 x)))
0.4b
(cbrt (cos (* 2 x)))

rewrite6.0ms

Algorithm
rewrite-expression-head
Counts
4 → 40
Calls

4 calls. Slowest were:

2.0ms
(* (* x cos) sin)
2.0ms
(* (* x cos) sin)
1.0ms
(cbrt (cos (* 2 x)))

series310.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

151.0ms
(cbrt (cos (* 2 x)))
125.0ms
(cbrt (cos (* 2 x)))
16.0ms
(* (* x cos) sin)
16.0ms
(* (* x cos) sin)

simplify228.0ms

Counts
18 → 52
Calls

18 calls. Slowest were:

83.0ms
(- 1 (+ (* 2/3 (pow x 2)) (* 2/9 (pow x 4))))
65.0ms
(- 1 (+ (* 2/3 (pow x 2)) (* 2/9 (pow x 4))))
12.0ms
(* x (* sin cos))

prune777.0ms

Pruning

14 alts after pruning (13 fresh and 1 done)

Merged error: 3.5b

localize26.0ms

Local error

Found 4 expressions with local error:

7.5b
(* (* x cos) sin)
7.5b
(* (* x cos) sin)
0.4b
(cbrt (cos (* 2 x)))
0.4b
(cbrt (cos (* 2 x)))

rewrite6.0ms

Algorithm
rewrite-expression-head
Counts
4 → 40
Calls

4 calls. Slowest were:

2.0ms
(* (* x cos) sin)
2.0ms
(* (* x cos) sin)
1.0ms
(cbrt (cos (* 2 x)))

series298.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

135.0ms
(cbrt (cos (* 2 x)))
130.0ms
(cbrt (cos (* 2 x)))
16.0ms
(* (* x cos) sin)
16.0ms
(* (* x cos) sin)

simplify149.0ms

Counts
18 → 52
Calls

18 calls. Slowest were:

50.0ms
(- 1 (+ (* 2/3 (pow x 2)) (* 2/9 (pow x 4))))
50.0ms
(- 1 (+ (* 2/3 (pow x 2)) (* 2/9 (pow x 4))))
6.0ms
(* x (* sin cos))

prune690.0ms

Pruning

13 alts after pruning (12 fresh and 1 done)

Merged error: 3.5b

regimes336.0ms

Accuracy

0% (0.9b remaining)

Error of 2.7b against oracle of 1.8b and baseline of 2.7b

bsearch2.0ms