Details

Time bar (total: 2.6m)

sample4.8s

Algorithm
intervals
Results
4.4s1075×body10240exit
78.0ms256×body80valid

simplify408.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
408.0ms
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))))

prune11.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 27.4b

localize75.0ms

Local error

Found 4 expressions with local error:

26.4b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
26.4b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
25.3b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
0.3b
(* (atan2 x.im x.re) y.im)

rewrite53.0ms

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt
pow1 *-un-lft-identity add-cube-cbrt
add-cbrt-cube add-exp-log sqrt-prod
sqrt-div insert-posit16 add-log-exp
associate-*r* associate-*l*
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+
cos-sum pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
Counts
4 → 60
Calls
4 calls:
Slowest
19.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
15.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
12.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
5.0ms
(* (atan2 x.im x.re) y.im)

series344.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
201.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
63.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
57.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
23.0ms
(* (atan2 x.im x.re) y.im)

simplify3.4s

Counts
79 → 72
Calls
79 calls:
Slowest
331.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.im y.im) y.im))
309.0ms
(sqrt (- (* (* x.re x.re) (* x.re x.re)) (* (* x.im x.im) (* x.im x.im))))
309.0ms
(sqrt (+ (* (* x.re x.re) (* x.re x.re)) (- (* (* x.im x.im) (* x.im x.im)) (* (* x.re x.re) (* x.im x.im)))))
296.0ms
(sqrt (+ (* (* x.re x.re) (* x.re x.re)) (- (* (* x.im x.im) (* x.im x.im)) (* (* x.re x.re) (* x.im x.im)))))
285.0ms
(sqrt (+ (pow (* x.re x.re) 3) (pow (* x.im x.im) 3)))

prune1.2s

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 14.8b

localize40.0ms

Local error

Found 4 expressions with local error:

26.4b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
0.3b
(* (atan2 x.im x.re) y.im)
0.2b
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
0.0b
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))

rewrite56.0ms

Algorithm
rewrite-expression-head
Rules
14×add-sqr-sqrt
11×pow1
*-un-lft-identity associate-*l* add-cube-cbrt
add-cbrt-cube add-exp-log
associate-*r* add-log-exp
insert-posit16
log-pow sqrt-prod
sqrt-pow1 pow1/2 sqrt-div pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
rem-sqrt-square sub-neg flip3-+ flip3-- diff-log flip-+ flip--
Counts
4 → 70
Calls
4 calls:
Slowest
19.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
15.0ms
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))
11.0ms
(* (atan2 x.im x.re) y.im)
10.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

series357.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
175.0ms
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))
108.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
49.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
25.0ms
(* (atan2 x.im x.re) y.im)

simplify5.2s

Counts
87 → 82
Calls
87 calls:
Slowest
415.0ms
(- (* (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)) (* (* (atan2 x.im x.re) y.im) (* (atan2 x.im x.re) y.im)))
364.0ms
(* (* (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (log (sqrt (+ (* x.re x.re) (* x.im x.im))))) (log (sqrt (+ (* x.re x.re) (* x.im x.im))))) (* (* y.re y.re) y.re))
352.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.im y.im) y.im))
310.0ms
(+ (* (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)) (+ (* (* (atan2 x.im x.re) y.im) (* (atan2 x.im x.re) y.im)) (* (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))))
303.0ms
(sqrt (+ (* (* x.re x.re) (* x.re x.re)) (- (* (* x.im x.im) (* x.im x.im)) (* (* x.re x.re) (* x.im x.im)))))

prune1.2s

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize31.0ms

Local error

Found 3 expressions with local error:

0.3b
(* (atan2 x.im x.re) y.im)
0.2b
(* (log (- x.re)) y.re)
0.0b
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))

rewrite25.0ms

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt
pow1
*-un-lft-identity add-cbrt-cube associate-*l* add-exp-log add-cube-cbrt
associate-*r*
add-log-exp
insert-posit16
pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
sub-neg flip3-- diff-log log-pow flip--
Counts
3 → 52
Calls
3 calls:
Slowest
11.0ms
(* (log (- x.re)) y.re)
7.0ms
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))
5.0ms
(* (atan2 x.im x.re) y.im)

series289.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
148.0ms
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))
111.0ms
(* (log (- x.re)) y.re)
29.0ms
(* (atan2 x.im x.re) y.im)

simplify4.6s

Counts
63 → 61
Calls
63 calls:
Slowest
796.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.im y.im) y.im))
410.0ms
(- (* (* (log (- x.re)) y.re) (* (log (- x.re)) y.re)) (* (* (atan2 x.im x.re) y.im) (* (atan2 x.im x.re) y.im)))
392.0ms
(- (pow (* (log (- x.re)) y.re) 3) (pow (* (atan2 x.im x.re) y.im) 3))
327.0ms
(* (* (* (log (- x.re)) (log (- x.re))) (log (- x.re))) (* (* y.re y.re) y.re))
283.0ms
(* (* (* (atan2 x.im x.re) y.im) (* (atan2 x.im x.re) y.im)) (* (atan2 x.im x.re) y.im))

prune789.0ms

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 0b

regimes267.0ms

Accuracy

98.5% (0.1b remaining)

Error of 0.2b against oracle of 0.1b and baseline of 7.2b

bsearch2.2s

end0.0ms

sample2.1m

Algorithm
intervals
Results
2.0m30180×body10240exit
3.8s8000×body80valid