Average Error: 36.8 → 28.4
Time: 3.0m
Precision: 64
Internal Precision: 128
\[R \cdot \sqrt{\left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) \cdot \left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) + \left(\phi_1 - \phi_2\right) \cdot \left(\phi_1 - \phi_2\right)}\]
\[\begin{array}{l} \mathbf{if}\;\left(\phi_1 - \phi_2\right) \cdot \left(\phi_1 - \phi_2\right) + \left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) \cdot \left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) \le 6.091718130286987 \cdot 10^{+306}:\\ \;\;\;\;R \cdot \sqrt{\left(\phi_1 - \phi_2\right) \cdot \left(\phi_1 - \phi_2\right) + \left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) \cdot \left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;R \cdot \left(\phi_2 - \phi_1\right)\\ \end{array}\]

Error

Bits error versus R

Bits error versus lambda1

Bits error versus lambda2

Bits error versus phi1

Bits error versus phi2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))) < 6.091718130286987e+306

    1. Initial program 1.7

      \[R \cdot \sqrt{\left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) \cdot \left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) + \left(\phi_1 - \phi_2\right) \cdot \left(\phi_1 - \phi_2\right)}\]

    if 6.091718130286987e+306 < (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2)))

    1. Initial program 60.7

      \[R \cdot \sqrt{\left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) \cdot \left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) + \left(\phi_1 - \phi_2\right) \cdot \left(\phi_1 - \phi_2\right)}\]
    2. Taylor expanded around 0 46.5

      \[\leadsto R \cdot \color{blue}{\left(\phi_2 - \phi_1\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification28.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\phi_1 - \phi_2\right) \cdot \left(\phi_1 - \phi_2\right) + \left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) \cdot \left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) \le 6.091718130286987 \cdot 10^{+306}:\\ \;\;\;\;R \cdot \sqrt{\left(\phi_1 - \phi_2\right) \cdot \left(\phi_1 - \phi_2\right) + \left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) \cdot \left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;R \cdot \left(\phi_2 - \phi_1\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019022 
(FPCore (R lambda1 lambda2 phi1 phi2)
  :name "Equirectangular approximation to distance on a great circle"
  (* R (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))))

Details

Time bar (total: 2.9m)Debug log

sample233.0ms

Algorithm
intervals
Results
104.0ms281×body80valid
41.0ms28×body1280valid
28.0ms25×body640valid
27.0ms33×body320valid
5.0ms10×body160valid

simplify123.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
123.0ms
(* R (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2)))))

prune8.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 38.9b

localize64.0ms

Local error

Found 4 expressions with local error:

38.0b
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
4.5b
(cos (/ (+ phi1 phi2) 2))
4.5b
(cos (/ (+ phi1 phi2) 2))
0.2b
(* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))

rewrite61.0ms

Algorithm
rewrite-expression-head
Rules
142×associate-*l/
102×flip--
102×flip3--
68×frac-times
66×sqrt-div
64×frac-add
34×associate-*r/
31×pow1
16×add-exp-log
16×add-cbrt-cube
13×pow-prod-down
cbrt-unprod
prod-exp
add-sqr-sqrt
add-cube-cbrt
*-un-lft-identity
add-log-exp
pow-prod-up
sqrt-prod
pow-plus
flip-+
*-commutative
associate-*l*
associate-*r*
pow1/2
flip3-+
rem-sqrt-square
pow2
Counts
4 → 129
Calls
4 calls:
Slowest
30.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
22.0ms
(* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))
2.0ms
(cos (/ (+ phi1 phi2) 2))
2.0ms
(cos (/ (+ phi1 phi2) 2))

series484.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
365.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
90.0ms
(* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))
15.0ms
(cos (/ (+ phi1 phi2) 2))
14.0ms
(cos (/ (+ phi1 phi2) 2))

simplify27.8s

Counts
118 → 141
Calls
118 calls:
Slowest
1.2s
(* (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))))
686.0ms
(sqrt (+ (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2)))) (* (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))) (+ phi1 phi2))) (* (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2))) (* (- (pow phi1 3) (pow phi2 3)) (- (* phi1 phi1) (* phi2 phi2))))))
611.0ms
(* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2))))
527.0ms
(sqrt (+ (* (* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2)))) (* (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))) (+ phi1 phi2))) (* (* (+ lambda1 lambda2) (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2)))) (* (- (pow phi1 3) (pow phi2 3)) (- (* phi1 phi1) (* phi2 phi2))))))
511.0ms
(* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))

prune3.2s

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 26.7b

localize42.0ms

Local error

Found 4 expressions with local error:

39.2b
(cbrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))))
39.2b
(cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
4.5b
(cos (/ (+ phi1 phi2) 2))
4.5b
(cos (/ (+ phi1 phi2) 2))

rewrite58.0ms

Algorithm
rewrite-expression-head
Rules
256×associate-*l/
192×flip--
192×flip3--
132×cbrt-div
128×frac-add
128×frac-times
64×associate-*r/
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
cbrt-prod
add-log-exp
add-exp-log
add-cbrt-cube
pow1
flip-+
pow1/3
flip3-+
Counts
4 → 168
Calls
4 calls:
Slowest
26.0ms
(cbrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))))
21.0ms
(cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
2.0ms
(cos (/ (+ phi1 phi2) 2))
2.0ms
(cos (/ (+ phi1 phi2) 2))

series1.4s

Counts
4 → 12
Calls
4 calls:
Slowest
829.0ms
(cbrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))))
496.0ms
(cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
19.0ms
(cos (/ (+ phi1 phi2) 2))
14.0ms
(cos (/ (+ phi1 phi2) 2))

simplify37.2s

Counts
150 → 180
Calls
150 calls:
Slowest
710.0ms
(cbrt (+ (* (* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2)))) (+ phi1 phi2)) (* (* (+ lambda1 lambda2) (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2)))) (* (- (* phi1 phi1) (* phi2 phi2)) (- phi1 phi2)))))
621.0ms
(cbrt (+ (* (* (- phi1 phi2) (- (* phi1 phi1) (* phi2 phi2))) (* (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2))) (+ lambda1 lambda2))) (* (+ phi1 phi2) (* (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2))) (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2)))))))
490.0ms
(cbrt (+ (* (* (- (pow phi1 3) (pow phi2 3)) (- (* phi1 phi1) (* phi2 phi2))) (* (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2))) (+ lambda1 lambda2))) (* (* (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))) (+ phi1 phi2)) (* (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2))) (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2)))))))
457.0ms
(cbrt (+ (* (* (- (pow phi1 3) (pow phi2 3)) (- (* phi1 phi1) (* phi2 phi2))) (* (+ lambda1 lambda2) (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2))))) (* (* (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))) (+ phi1 phi2)) (* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2)))))))
454.0ms
(cbrt (+ (* (* (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2))) (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2)))) (* (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))) (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))))) (* (* (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2))) (+ lambda1 lambda2)) (* (- (pow phi1 3) (pow phi2 3)) (- (pow phi1 3) (pow phi2 3))))))

prune5.9s

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 26.7b

localize27.0ms

Local error

Found 4 expressions with local error:

39.2b
(cbrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))))
39.2b
(cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
5.4b
(exp (log (cbrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))))))
4.5b
(cos (/ (+ phi1 phi2) 2))

rewrite86.0ms

Algorithm
rewrite-expression-head
Rules
384×associate-*l/
288×flip--
288×flip3--
198×cbrt-div
192×frac-add
192×frac-times
96×associate-*r/
66×exp-diff
66×log-div
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
cbrt-prod
exp-sum
log-prod
exp-prod
pow1
add-log-exp
add-exp-log
add-cbrt-cube
flip-+
pow1/3
flip3-+
log-pow
rem-exp-log
Counts
4 → 246
Calls
4 calls:
Slowest
39.0ms
(exp (log (cbrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))))))
18.0ms
(cbrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))))
14.0ms
(cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
3.0ms
(cos (/ (+ phi1 phi2) 2))

series2.5s

Counts
4 → 12
Calls
4 calls:
Slowest
1.2s
(cbrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))))
805.0ms
(exp (log (cbrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))))))
504.0ms
(cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
15.0ms
(cos (/ (+ phi1 phi2) 2))

simplify54.7s

Counts
228 → 258
Calls
228 calls:
Slowest
732.0ms
(exp (log (cbrt (+ (* (* (- (pow phi1 3) (pow phi2 3)) (- (* phi1 phi1) (* phi2 phi2))) (* (+ lambda1 lambda2) (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2))))) (* (* (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))) (+ phi1 phi2)) (* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2)))))))))
688.0ms
(cbrt (+ (* (* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2)))) (* (+ phi1 phi2) (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))))) (* (* (+ lambda1 lambda2) (+ lambda1 lambda2)) (* (- (* phi1 phi1) (* phi2 phi2)) (- (pow phi1 3) (pow phi2 3))))))
558.0ms
(cbrt (+ (* (* (- phi1 phi2) (- (* phi1 phi1) (* phi2 phi2))) (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2)))) (* (+ phi1 phi2) (* (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))))))
475.0ms
(cbrt (+ (* (* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2)))) (* (+ phi1 phi2) (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))))) (* (* (+ lambda1 lambda2) (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2)))) (* (- (* phi1 phi1) (* phi2 phi2)) (- (pow phi1 3) (pow phi2 3))))))
464.0ms
(cbrt (+ (* (* (- (* phi1 phi1) (* phi2 phi2)) (- (pow phi1 3) (pow phi2 3))) (* (+ lambda1 lambda2) (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2))))) (* (* (+ phi1 phi2) (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2)))) (* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2)))))))

prune8.7s

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 26.7b

localize42.0ms

Local error

Found 4 expressions with local error:

40.8b
(pow (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))) 1/3)
39.2b
(cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
5.4b
(exp (log (pow (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))) 1/3)))
4.5b
(cos (/ (+ phi1 phi2) 2))

rewrite75.0ms

Algorithm
rewrite-expression-head
Rules
128×associate-*l/
96×flip--
96×flip3--
66×cbrt-div
64×frac-add
64×frac-times
32×associate-*r/
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
exp-sum
unpow-prod-down
log-prod
add-exp-log
pow1
add-log-exp
add-cbrt-cube
exp-prod
cbrt-prod
rem-exp-log
flip-+
log-pow
pow-exp
pow1/3
unpow1/3
flip3-+
pow-pow
pow-to-exp
Counts
4 → 116
Calls
4 calls:
Slowest
31.0ms
(exp (log (pow (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))) 1/3)))
18.0ms
(pow (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))) 1/3)
16.0ms
(cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
3.0ms
(cos (/ (+ phi1 phi2) 2))

series2.2s

Counts
4 → 12
Calls
4 calls:
Slowest
846.0ms
(exp (log (pow (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))) 1/3)))
774.0ms
(pow (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))) 1/3)
518.0ms
(cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
14.0ms
(cos (/ (+ phi1 phi2) 2))

simplify22.0s

Counts
97 → 128
Calls
97 calls:
Slowest
728.0ms
(cbrt (+ (* (* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2)))) (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2)))) (* (* (+ lambda1 lambda2) (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2)))) (* (- phi1 phi2) (- (pow phi1 3) (pow phi2 3))))))
486.0ms
(cbrt (+ (* (* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2)))) (* (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))) (+ phi1 phi2))) (* (* (+ lambda1 lambda2) (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2)))) (* (- (pow phi1 3) (pow phi2 3)) (- (* phi1 phi1) (* phi2 phi2))))))
449.0ms
(cbrt (+ (* (* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2)))) (* (+ phi1 phi2) (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))))) (* (* (+ lambda1 lambda2) (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2)))) (* (- (* phi1 phi1) (* phi2 phi2)) (- (pow phi1 3) (pow phi2 3))))))
448.0ms
(cbrt (+ (* (* (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2))) (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2)))) (* (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))) (+ phi1 phi2))) (* (* (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2))) (+ lambda1 lambda2)) (* (- (pow phi1 3) (pow phi2 3)) (- (* phi1 phi1) (* phi2 phi2))))))
441.0ms
(cbrt (+ (* (* (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2))) (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2)))) (* (+ phi1 phi2) (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))))) (* (* (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2))) (+ lambda1 lambda2)) (* (- (* phi1 phi1) (* phi2 phi2)) (- (pow phi1 3) (pow phi2 3))))))

prune3.6s

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 26.7b

regimes789.0ms

Accuracy

65.1% (4.5b remaining)

Error of 28.4b against oracle of 23.8b and baseline of 36.8b

bsearch5.0ms

end0.0ms

sample5.1s

Algorithm
intervals
Results
1.9s8391×body80valid
1.4s1258×body640valid
1.0s814×body1280valid
403.0ms718×body320valid
105.0ms321×body160valid