Details

Time bar (total: 18.4s)

sample101.0ms

Algorithm
intervals
Results
58.0ms80×body10240exit
19.0ms258×body80valid
8.0msbody1280valid
4.0msbody640valid
1.0msbody320valid
1.0msbody160valid

simplify45.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
45.0ms
(- (log (+ 1 (exp x))) (* x y))

prune15.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 1.5b

localize22.0ms

Local error

Found 2 expressions with local error:

1.5b
(log1p (exp x))
0.0b
(- (log1p (exp x)) (* y x))

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
add-log-exp
add-sqr-sqrt *-un-lft-identity add-cube-cbrt
expm1-log1p-u fma-neg prod-diff
pow1 log1p-udef add-cbrt-cube diff-log add-exp-log insert-posit16 log1p-expm1-u
sub-neg flip3-- log1p-expm1 flip--
Counts
2 → 34
Calls
2 calls:
Slowest
10.0ms
(- (log1p (exp x)) (* y x))
1.0ms
(log1p (exp x))

series125.0ms

Counts
2 → 6
Calls
2 calls:
Slowest
65.0ms
(- (log1p (exp x)) (* y x))
60.0ms
(log1p (exp x))

simplify569.0ms

Counts
17 → 40
Calls
17 calls:
Slowest
94.0ms
(+ (log 2) (+ (* 1/2 x) (* 1/8 (pow x 2))))
87.0ms
(/ (exp (log1p (exp x))) (exp (* y x)))
81.0ms
(+ (log 2) (+ (* 1/2 x) (* 1/8 (pow x 2))))
57.0ms
(fma (* (cbrt (log1p (exp x))) (cbrt (log1p (exp x)))) (cbrt (log1p (exp x))) (- (* x y)))
48.0ms
(/ (+ 1 (exp x)) (exp (* y x)))

prune388.0ms

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0.4b

localize17.0ms

Local error

Found 4 expressions with local error:

1.5b
(log1p (exp x))
1.1b
(expm1 (log1p (- (log1p (exp x)) (* y x))))
0.0b
(log1p (- (log1p (exp x)) (* y x)))
0.0b
(- (log1p (exp x)) (* y x))

rewrite7.0ms

Algorithm
rewrite-expression-head
Rules
add-log-exp
add-sqr-sqrt expm1-log1p-u *-un-lft-identity add-cube-cbrt
pow1 add-cbrt-cube add-exp-log insert-posit16 log1p-expm1-u
log1p-udef fma-neg prod-diff
diff-log log1p-expm1
expm1-log1p sub-neg flip3-- flip-- expm1-udef
Counts
4 → 58
Calls
4 calls:
Slowest
5.0ms
(- (log1p (exp x)) (* y x))
1.0ms
(log1p (- (log1p (exp x)) (* y x)))
0.0ms
(log1p (exp x))
0.0ms
(expm1 (log1p (- (log1p (exp x)) (* y x))))

series794.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
358.0ms
(expm1 (log1p (- (log1p (exp x)) (* y x))))
265.0ms
(log1p (- (log1p (exp x)) (* y x)))
87.0ms
(log1p (exp x))
84.0ms
(- (log1p (exp x)) (* y x))

simplify2.8s

Counts
25 → 70
Calls
25 calls:
Slowest
584.0ms
(- (log -1) (+ (* 1/2 (/ (pow (log (+ (exp x) 1)) 2) (* (pow x 2) (pow y 2)))) (+ (* 1/2 (/ 1 (* (pow x 2) (pow y 2)))) (+ (/ (log (+ (exp x) 1)) (* x y)) (+ (log (/ -1 x)) (+ (log (/ -1 y)) (+ (/ 1 (* x y)) (/ (log (+ (exp x) 1)) (* (pow x 2) (pow y 2))))))))))
482.0ms
(- (log -1) (+ (log (/ 1 x)) (+ (/ 1 (* x y)) (+ (log (/ 1 y)) (+ (* 1/2 (/ 1 (* (pow x 2) (pow y 2)))) (+ (/ (log (+ (exp x) 1)) (* x y)) (+ (* 1/2 (/ (pow (log (+ (exp x) 1)) 2) (* (pow x 2) (pow y 2)))) (/ (log (+ (exp x) 1)) (* (pow x 2) (pow y 2))))))))))
348.0ms
(- (+ (* 1/8 (/ (pow x 2) (+ (log 2) 1))) (+ (log (+ (log 2) 1)) (* 1/2 (/ x (+ (log 2) 1))))) (* 1/8 (/ (pow x 2) (pow (+ (log 2) 1) 2))))
316.0ms
(+ (log 2) (+ (* 1/8 (pow x 2)) (+ (* 1/2 (/ (* (log 2) x) (+ (log 2) 1))) (* 1/2 (/ x (+ (log 2) 1))))))
188.0ms
(- (exp (- (log -1) (+ (log (/ -1 x)) (log (/ -1 y))))) (+ (/ (exp (- (log -1) (+ (log (/ -1 x)) (log (/ -1 y))))) (* x y)) (+ 1 (/ (* (exp (- (log -1) (+ (log (/ -1 x)) (log (/ -1 y))))) (log (+ (exp x) 1))) (* x y)))))

prune742.0ms

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.4b

localize20.0ms

Local error

Found 2 expressions with local error:

0.0b
(fma (fma 1/8 x 1/2) x (log 2))
0.0b
(- (fma (fma 1/8 x 1/2) x (log 2)) (* y x))

rewrite6.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt *-un-lft-identity add-cube-cbrt add-log-exp
fma-neg prod-diff
expm1-log1p-u pow1 add-cbrt-cube add-exp-log fma-udef insert-posit16 log1p-expm1-u
sub-neg flip3-- diff-log associate--l+ flip--
Counts
2 → 33
Calls
2 calls:
Slowest
6.0ms
(- (fma (fma 1/8 x 1/2) x (log 2)) (* y x))
0.0ms
(fma (fma 1/8 x 1/2) x (log 2))

series103.0ms

Counts
2 → 6
Calls
2 calls:
Slowest
54.0ms
(- (fma (fma 1/8 x 1/2) x (log 2)) (* y x))
49.0ms
(fma (fma 1/8 x 1/2) x (log 2))

simplify1.7s

Counts
16 → 39
Calls
16 calls:
Slowest
268.0ms
(- (+ (* 1/2 x) (* 1/8 (pow x 2))) (* x y))
253.0ms
(/ (exp (fma (fma 1/8 x 1/2) x (log 2))) (exp (* y x)))
242.0ms
(- (+ (* 1/2 x) (* 1/8 (pow x 2))) (* x y))
197.0ms
(fma (* (cbrt (fma (fma 1/8 x 1/2) x (log 2))) (cbrt (fma (fma 1/8 x 1/2) x (log 2)))) (cbrt (fma (fma 1/8 x 1/2) x (log 2))) (- (* x y)))
137.0ms
(fma 1 (fma (fma 1/8 x 1/2) x (log 2)) (- (* x y)))

prune427.0ms

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 0.4b

localize47.0ms

Local error

Found 4 expressions with local error:

1.5b
(log1p (exp x))
1.5b
(log1p (exp x))
1.1b
(expm1 (* (sqrt (log1p (- (log1p (exp x)) (* y x)))) (sqrt (log1p (- (log1p (exp x)) (* y x))))))
0.1b
(* (sqrt (log1p (- (log1p (exp x)) (* y x)))) (sqrt (log1p (- (log1p (exp x)) (* y x)))))

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
24×add-sqr-sqrt
19×pow1
18×sqrt-prod
12×*-un-lft-identity add-cube-cbrt
sqrt-pow1 pow1/2 swap-sqr
expm1-log1p-u add-cbrt-cube associate-*r* associate-*l* add-exp-log
pow-prod-up log1p-expm1-u
insert-posit16 add-log-exp unswap-sqr
pow-prod-down pow-sqr
log1p-udef log1p-expm1
pow2 expm1-log1p rem-square-sqrt pow-plus sqrt-unprod prod-exp *-commutative cbrt-unprod expm1-udef
Counts
4 → 88
Calls
4 calls:
Slowest
10.0ms
(* (sqrt (log1p (- (log1p (exp x)) (* y x)))) (sqrt (log1p (- (log1p (exp x)) (* y x)))))
0.0ms
(log1p (exp x))
0.0ms
(expm1 (* (sqrt (log1p (- (log1p (exp x)) (* y x)))) (sqrt (log1p (- (log1p (exp x)) (* y x))))))
0.0ms
(log1p (exp x))

series785.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
397.0ms
(expm1 (* (sqrt (log1p (- (log1p (exp x)) (* y x)))) (sqrt (log1p (- (log1p (exp x)) (* y x))))))
274.0ms
(* (sqrt (log1p (- (log1p (exp x)) (* y x)))) (sqrt (log1p (- (log1p (exp x)) (* y x)))))
64.0ms
(log1p (exp x))
50.0ms
(log1p (exp x))

simplify4.0s

Counts
75 → 100
Calls
75 calls:
Slowest
504.0ms
(- (log -1) (+ (* 1/2 (/ (pow (log (+ (exp x) 1)) 2) (* (pow x 2) (pow y 2)))) (+ (* 1/2 (/ 1 (* (pow x 2) (pow y 2)))) (+ (/ (log (+ (exp x) 1)) (* x y)) (+ (log (/ -1 x)) (+ (log (/ -1 y)) (+ (/ 1 (* x y)) (/ (log (+ (exp x) 1)) (* (pow x 2) (pow y 2))))))))))
474.0ms
(- (log -1) (+ (log (/ 1 x)) (+ (/ 1 (* x y)) (+ (log (/ 1 y)) (+ (* 1/2 (/ 1 (* (pow x 2) (pow y 2)))) (+ (/ (log (+ (exp x) 1)) (* x y)) (+ (* 1/2 (/ (pow (log (+ (exp x) 1)) 2) (* (pow x 2) (pow y 2)))) (/ (log (+ (exp x) 1)) (* (pow x 2) (pow y 2))))))))))
340.0ms
(+ (log 2) (+ (* 1/8 (pow x 2)) (+ (* 1/2 (/ (* (log 2) x) (+ (log 2) 1))) (* 1/2 (/ x (+ (log 2) 1))))))
296.0ms
(- (+ (* 1/8 (/ (pow x 2) (+ (log 2) 1))) (+ (log (+ (log 2) 1)) (* 1/2 (/ x (+ (log 2) 1))))) (* 1/8 (/ (pow x 2) (pow (+ (log 2) 1) 2))))
184.0ms
(* (* (* (sqrt (log1p (- (log1p (exp x)) (* y x)))) (sqrt (log1p (- (log1p (exp x)) (* y x))))) (sqrt (log1p (- (log1p (exp x)) (* y x))))) (* (* (sqrt (log1p (- (log1p (exp x)) (* y x)))) (sqrt (log1p (- (log1p (exp x)) (* y x))))) (sqrt (log1p (- (log1p (exp x)) (* y x))))))

prune1.2s

Pruning

4 alts after pruning (2 fresh and 2 done)

Merged error: 0.4b

regimes141.0ms

Accuracy

97.7% (0.0b remaining)

Error of 0.2b against oracle of 0.2b and baseline of 0.4b

bsearch47.0ms

end0.0ms

sample4.3s

Algorithm
intervals
Results
2.8s2508×body10240exit
989.0ms8385×body80valid
141.0ms259×body640valid
122.0ms133×body1280valid
60.0ms179×body320valid
21.0ms95×body160valid