logq (problem 3.4.3)

Time bar (total: 3.1s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

analyze3.0ms (0.1%)

Memory
5.1MiB live, 5.1MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%50%50%0%0%0%0
0%0%50%50%0%0%0%1
0%0%50%50%0%0%0%2
50%25%25%50%0%0%0%3
75%37.5%12.5%50%0%0%0%4
87.5%43.7%6.2%50%0%0%0%5
93.8%46.8%3.1%50%0%0%0%6
96.9%48.4%1.6%50%0%0%0%7
98.4%49.2%0.8%50%0%0%0%8
99.2%49.6%0.4%50%0%0%0%9
99.6%49.8%0.2%50%0%0%0%10
99.8%49.9%0.1%50%0%0%0%11
99.9%49.9%0%50%0%0%0%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample2.8s (89.9%)

Memory
68.8MiB live, 2 106.7MiB allocated; 1.0s collecting garbage
Samples
1.3s3 436×2valid
1.2s4 685×1valid
6.0ms135×0valid
Precisions
Click to see histograms. Total time spent on operations: 2.3s
ival-log: 1.5s (63.8% of total)
adjust: 579.0ms (25.2% of total)
ival-div!: 111.0ms (4.8% of total)
ival-sub!: 80.0ms (3.5% of total)
ival-add!: 62.0ms (2.7% of total)
ival-assert: 0.0ms (0% of total)
ival-fabs: 0.0ms (0% of total)
ival-<: 0.0ms (0% of total)
Bogosity

preprocess46.0ms (1.5%)

Memory
-31.3MiB live, 13.5MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01224
15024
219224
391924
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.6%
(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
Symmetry

(negabs eps)

Compiler

Compiled 14 to 12 computations (14.3% saved)

series4.0ms (0.1%)

Memory
5.4MiB live, 5.4MiB allocated; 0ms collecting garbage
Counts
6 → 26
Calls
Call 1
Inputs
(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
(-.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
(+.f64 #s(literal 1 binary64) eps)
Outputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* -2 eps)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* eps (- (* -2/3 (pow eps 2)) 2))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 1))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (+ 1 (* -2 eps))))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (+ 1 (* eps (- (* 2 eps) 2)))))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (+ 1 (* eps (- (* eps (+ 2 (* -2 eps))) 2)))))
#s(approx (- 1 eps) #s(hole binary64 (+ 1 (* -1 eps))))
#s(approx eps #s(hole binary64 eps))
#s(approx (+ 1 eps) #s(hole binary64 (+ 1 eps)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (log -1)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (- (log -1) (* 2 (/ 1 eps)))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 -1))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (- (* 2 (/ 1 eps)) 1)))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (- (* 2 (/ 1 eps)) (+ 1 (/ 2 (pow eps 2))))))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (- (+ (* 2 (/ 1 eps)) (* 2 (/ 1 (pow eps 3)))) (+ 1 (/ 2 (pow eps 2))))))
#s(approx (- 1 eps) #s(hole binary64 (* -1 eps)))
#s(approx (- 1 eps) #s(hole binary64 (* eps (- (/ 1 eps) 1))))
#s(approx (+ 1 eps) #s(hole binary64 (* eps (+ 1 (/ 1 eps)))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (- (* -1 (/ (- (* 2 (/ 1 eps)) 2) eps)) 1)))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (- (* -1 (/ (- (* -1 (/ (- (* 2 (/ 1 eps)) 2) eps)) 2) eps)) 1)))
#s(approx (- 1 eps) #s(hole binary64 (* -1 (* eps (- 1 (/ 1 eps))))))
Calls

3 calls:

TimeVariablePointExpression
1.0ms
eps
@-inf
((log (/ (- 1 eps) (+ 1 eps))) (/ (- 1 eps) (+ 1 eps)) (- 1 eps) 1 eps (+ 1 eps))
1.0ms
eps
@0
((log (/ (- 1 eps) (+ 1 eps))) (/ (- 1 eps) (+ 1 eps)) (- 1 eps) 1 eps (+ 1 eps))
1.0ms
eps
@inf
((log (/ (- 1 eps) (+ 1 eps))) (/ (- 1 eps) (+ 1 eps)) (- 1 eps) 1 eps (+ 1 eps))

rewrite63.0ms (2%)

Memory
17.8MiB live, 63.5MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0122467
0125430
0792392
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
32 → 52
Calls
Call 1
Inputs
(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
(-.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
(+.f64 #s(literal 1 binary64) eps)
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* -2 eps)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* eps (- (* -2/3 (pow eps 2)) 2))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 1))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (+ 1 (* -2 eps))))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (+ 1 (* eps (- (* 2 eps) 2)))))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (+ 1 (* eps (- (* eps (+ 2 (* -2 eps))) 2)))))
#s(approx (- 1 eps) #s(hole binary64 (+ 1 (* -1 eps))))
#s(approx eps #s(hole binary64 eps))
#s(approx (+ 1 eps) #s(hole binary64 (+ 1 eps)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (log -1)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (- (log -1) (* 2 (/ 1 eps)))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 -1))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (- (* 2 (/ 1 eps)) 1)))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (- (* 2 (/ 1 eps)) (+ 1 (/ 2 (pow eps 2))))))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (- (+ (* 2 (/ 1 eps)) (* 2 (/ 1 (pow eps 3)))) (+ 1 (/ 2 (pow eps 2))))))
#s(approx (- 1 eps) #s(hole binary64 (* -1 eps)))
#s(approx (- 1 eps) #s(hole binary64 (* eps (- (/ 1 eps) 1))))
#s(approx (+ 1 eps) #s(hole binary64 (* eps (+ 1 (/ 1 eps)))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (- (* -1 (/ (- (* 2 (/ 1 eps)) 2) eps)) 1)))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(hole binary64 (- (* -1 (/ (- (* -1 (/ (- (* 2 (/ 1 eps)) 2) eps)) 2) eps)) 1)))
#s(approx (- 1 eps) #s(hole binary64 (* -1 (* eps (- 1 (/ 1 eps))))))
Outputs
(-.f64 (log.f64 (-.f64 #s(literal 1 binary64) eps)) (log.f64 (+.f64 eps #s(literal 1 binary64))))
(log.f64 (fabs.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 eps #s(literal 1 binary64)))))
(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 eps #s(literal 1 binary64))))
(*.f64 (-.f64 #s(literal 1 binary64) eps) (/.f64 #s(literal 1 binary64) (+.f64 eps #s(literal 1 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) eps)) (neg.f64 (+.f64 eps #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 eps #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 eps #s(literal 1 binary64))) (/.f64 eps (+.f64 eps #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 eps) (neg.f64 eps))) (+.f64 eps #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 eps eps)) (+.f64 eps #s(literal 1 binary64)))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (neg.f64 eps) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (neg.f64 eps) (neg.f64 eps)) (*.f64 #s(literal 1 binary64) (neg.f64 eps)))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) eps)) (+.f64 #s(literal 1 binary64) (fma.f64 eps eps (*.f64 #s(literal 1 binary64) eps))))
(neg.f64 (-.f64 eps #s(literal 1 binary64)))
(fma.f64 #s(literal -1 binary64) eps #s(literal 1 binary64))
(fma.f64 eps #s(literal -1 binary64) #s(literal 1 binary64))
(-.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 eps)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1 binary64) eps))
(-.f64 #s(literal 1 binary64) eps)
(+.f64 (neg.f64 eps) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (neg.f64 eps))
#s(literal 1 binary64)
eps
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 eps eps)) (-.f64 #s(literal 1 binary64) eps))
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) eps)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 eps eps) (*.f64 #s(literal 1 binary64) eps))))
(-.f64 #s(literal 1 binary64) (neg.f64 eps))
(+.f64 eps #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) eps)
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 #s(literal -2 binary64) eps))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) eps))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -2/7 binary64) (*.f64 eps eps) #s(literal -2/5 binary64)) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) eps))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(literal 1 binary64))
#s(approx (/ (- 1 eps) (+ 1 eps)) (fma.f64 #s(literal -2 binary64) eps #s(literal 1 binary64)))
#s(approx (/ (- 1 eps) (+ 1 eps)) (fma.f64 (fma.f64 #s(literal 2 binary64) eps #s(literal -2 binary64)) eps #s(literal 1 binary64)))
#s(approx (/ (- 1 eps) (+ 1 eps)) (fma.f64 (fma.f64 (fma.f64 #s(literal -2 binary64) eps #s(literal 2 binary64)) eps #s(literal -2 binary64)) eps #s(literal 1 binary64)))
#s(approx (- 1 eps) (-.f64 #s(literal 1 binary64) eps))
#s(approx eps eps)
#s(approx (+ 1 eps) (+.f64 eps #s(literal 1 binary64)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(literal 0 binary64))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (-.f64 #s(literal 0 binary64) (/.f64 #s(literal 2 binary64) eps)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (+.f64 (neg.f64 (/.f64 (+.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal 2 binary64)) eps)) #s(literal 0 binary64)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (-.f64 (+.f64 (neg.f64 (/.f64 (+.f64 (/.f64 #s(literal 2/5 binary64) (*.f64 eps eps)) #s(literal 2/3 binary64)) (*.f64 (*.f64 eps eps) eps))) #s(literal 0 binary64)) (/.f64 #s(literal 2 binary64) eps)))
#s(approx (/ (- 1 eps) (+ 1 eps)) #s(literal -1 binary64))
#s(approx (/ (- 1 eps) (+ 1 eps)) (-.f64 (/.f64 #s(literal 2 binary64) eps) #s(literal 1 binary64)))
#s(approx (/ (- 1 eps) (+ 1 eps)) (-.f64 (-.f64 (/.f64 #s(literal 2 binary64) eps) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) (*.f64 eps eps))))
#s(approx (/ (- 1 eps) (+ 1 eps)) (+.f64 (-.f64 (/.f64 #s(literal 2 binary64) eps) #s(literal 1 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) (*.f64 (*.f64 eps eps) eps)) (/.f64 #s(literal 2 binary64) (*.f64 eps eps)))))
#s(approx (- 1 eps) (neg.f64 eps))
#s(approx (- 1 eps) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) eps))
#s(approx (+ 1 eps) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) eps))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (+.f64 (neg.f64 (/.f64 (+.f64 (+.f64 (/.f64 #s(literal 2/5 binary64) (*.f64 (*.f64 eps eps) (*.f64 eps eps))) (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps))) #s(literal 2 binary64)) eps)) #s(literal 0 binary64)))
#s(approx (/ (- 1 eps) (+ 1 eps)) (-.f64 (neg.f64 (/.f64 (-.f64 (/.f64 #s(literal 2 binary64) eps) #s(literal 2 binary64)) eps)) #s(literal 1 binary64)))
#s(approx (/ (- 1 eps) (+ 1 eps)) (-.f64 (neg.f64 (/.f64 (-.f64 (neg.f64 (/.f64 (-.f64 (/.f64 #s(literal 2 binary64) eps) #s(literal 2 binary64)) eps)) #s(literal 2 binary64)) eps)) #s(literal 1 binary64)))
#s(approx (- 1 eps) (*.f64 (neg.f64 eps) (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))))

eval5.0ms (0.2%)

Memory
9.0MiB live, 9.0MiB allocated; 0ms collecting garbage
Compiler

Compiled 355 to 208 computations (41.4% saved)

prune2.0ms (0.1%)

Memory
3.7MiB live, 3.7MiB allocated; 0ms collecting garbage
Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New45348
Fresh000
Picked101
Done000
Total46349
Accuracy
100.0%
Counts
49 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
99.8%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 #s(literal -2 binary64) eps))
5.5%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(literal 0 binary64))
Compiler

Compiled 29 to 29 computations (0% saved)

series4.0ms (0.1%)

Memory
6.8MiB live, 6.8MiB allocated; 0ms collecting garbage
Counts
11 → 17
Calls
Call 1
Inputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(literal 0 binary64))
#s(literal 0 binary64)
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 #s(literal -2 binary64) eps))
(*.f64 #s(literal -2 binary64) eps)
#s(literal -2 binary64)
eps
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
(*.f64 eps eps)
#s(literal -2/3 binary64)
Outputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* -2 eps)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* eps (- (* -2/3 (pow eps 2)) 2))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))))
#s(approx eps #s(hole binary64 eps))
#s(approx (+ (* (* eps eps) -2/3) -2) #s(hole binary64 -2))
#s(approx (+ (* (* eps eps) -2/3) -2) #s(hole binary64 (- (* -2/3 (pow eps 2)) 2)))
#s(approx (* eps eps) #s(hole binary64 (pow eps 2)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (log -1)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (- (log -1) (* 2 (/ 1 eps)))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))))
#s(approx (* (+ (* (* eps eps) -2/3) -2) eps) #s(hole binary64 (* -2/3 (pow eps 3))))
#s(approx (* (+ (* (* eps eps) -2/3) -2) eps) #s(hole binary64 (* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))))
#s(approx (+ (* (* eps eps) -2/3) -2) #s(hole binary64 (* -2/3 (pow eps 2))))
#s(approx (+ (* (* eps eps) -2/3) -2) #s(hole binary64 (* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))))
Calls

3 calls:

TimeVariablePointExpression
2.0ms
eps
@inf
((log (/ (- 1 eps) (+ 1 eps))) 0 (log (/ (- 1 eps) (+ 1 eps))) (* -2 eps) -2 eps (log (/ (- 1 eps) (+ 1 eps))) (* (+ (* (* eps eps) -2/3) -2) eps) (+ (* (* eps eps) -2/3) -2) (* eps eps) -2/3)
1.0ms
eps
@-inf
((log (/ (- 1 eps) (+ 1 eps))) 0 (log (/ (- 1 eps) (+ 1 eps))) (* -2 eps) -2 eps (log (/ (- 1 eps) (+ 1 eps))) (* (+ (* (* eps eps) -2/3) -2) eps) (+ (* (* eps eps) -2/3) -2) (* eps eps) -2/3)
1.0ms
eps
@0
((log (/ (- 1 eps) (+ 1 eps))) 0 (log (/ (- 1 eps) (+ 1 eps))) (* -2 eps) -2 eps (log (/ (- 1 eps) (+ 1 eps))) (* (+ (* (* eps eps) -2/3) -2) eps) (+ (* (* eps eps) -2/3) -2) (* eps eps) -2/3)

rewrite93.0ms (3%)

Memory
-29.6MiB live, 34.9MiB allocated; 38ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
093368
097342
0526308
Stop Event
iter-limit
iter-limit
iter-limit
unsound
iter-limit
Counts
28 → 48
Calls
Call 1
Inputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(literal 0 binary64))
#s(literal 0 binary64)
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 #s(literal -2 binary64) eps))
(*.f64 #s(literal -2 binary64) eps)
#s(literal -2 binary64)
eps
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
(*.f64 eps eps)
#s(literal -2/3 binary64)
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* -2 eps)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* eps (- (* -2/3 (pow eps 2)) 2))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))))
#s(approx eps #s(hole binary64 eps))
#s(approx (+ (* (* eps eps) -2/3) -2) #s(hole binary64 -2))
#s(approx (+ (* (* eps eps) -2/3) -2) #s(hole binary64 (- (* -2/3 (pow eps 2)) 2)))
#s(approx (* eps eps) #s(hole binary64 (pow eps 2)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (log -1)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (- (log -1) (* 2 (/ 1 eps)))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))))
#s(approx (* (+ (* (* eps eps) -2/3) -2) eps) #s(hole binary64 (* -2/3 (pow eps 3))))
#s(approx (* (+ (* (* eps eps) -2/3) -2) eps) #s(hole binary64 (* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))))
#s(approx (+ (* (* eps eps) -2/3) -2) #s(hole binary64 (* -2/3 (pow eps 2))))
#s(approx (+ (* (* eps eps) -2/3) -2) #s(hole binary64 (* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(hole binary64 (+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))))
Outputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(literal 0 binary64))
#s(literal 0 binary64)
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 #s(literal -2 binary64) eps))
(*.f64 #s(literal -2 binary64) eps)
(*.f64 eps #s(literal -2 binary64))
#s(literal -2 binary64)
eps
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64))) #s(literal 4 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)) #s(literal -2 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64))) #s(literal 4 binary64)) (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal 2 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)) #s(literal 3 binary64)) #s(literal -8 binary64)) (fma.f64 (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)) (-.f64 #s(literal 4 binary64) (*.f64 (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)) #s(literal -2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)) #s(literal 3 binary64)) #s(literal 8 binary64)) (fma.f64 (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)) (+.f64 #s(literal 4 binary64) (*.f64 (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)) #s(literal 2 binary64)))))
(neg.f64 (-.f64 #s(literal 2 binary64) (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64))))
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
(fma.f64 #s(literal -2/3 binary64) (*.f64 eps eps) #s(literal -2 binary64))
(fma.f64 eps (*.f64 eps #s(literal -2/3 binary64)) #s(literal -2 binary64))
(-.f64 (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)) #s(literal 2 binary64))
(+.f64 (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)) #s(literal -2 binary64))
(+.f64 #s(literal -2 binary64) (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)))
(*.f64 (pow.f64 eps #s(literal 1 binary64)) (pow.f64 eps #s(literal 1 binary64)))
(*.f64 (fabs.f64 eps) (fabs.f64 eps))
(*.f64 (neg.f64 eps) (neg.f64 eps))
(*.f64 eps eps)
(pow.f64 (fabs.f64 eps) #s(literal 2 binary64))
(pow.f64 (neg.f64 eps) #s(literal 2 binary64))
(pow.f64 eps #s(literal 2 binary64))
(fabs.f64 (*.f64 eps eps))
(exp.f64 (*.f64 (log.f64 eps) #s(literal 2 binary64)))
#s(literal -2/3 binary64)
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 #s(literal -2 binary64) eps))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) eps))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -2/7 binary64) (*.f64 eps eps) #s(literal -2/5 binary64)) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) eps))
#s(approx eps eps)
#s(approx (+ (* (* eps eps) -2/3) -2) #s(literal -2 binary64))
#s(approx (+ (* (* eps eps) -2/3) -2) (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)))
#s(approx (* eps eps) (*.f64 eps eps))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(literal 0 binary64))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (-.f64 #s(literal 0 binary64) (/.f64 #s(literal 2 binary64) eps)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (+.f64 (neg.f64 (/.f64 (+.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal 2 binary64)) eps)) #s(literal 0 binary64)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (-.f64 (+.f64 (neg.f64 (/.f64 (+.f64 (/.f64 #s(literal 2/5 binary64) (*.f64 eps eps)) #s(literal 2/3 binary64)) (*.f64 (*.f64 eps eps) eps))) #s(literal 0 binary64)) (/.f64 #s(literal 2 binary64) eps)))
#s(approx (* (+ (* (* eps eps) -2/3) -2) eps) (*.f64 (*.f64 (*.f64 eps eps) eps) #s(literal -2/3 binary64)))
#s(approx (* (+ (* (* eps eps) -2/3) -2) eps) (neg.f64 (*.f64 (+.f64 (/.f64 #s(literal 2 binary64) (*.f64 eps eps)) #s(literal 2/3 binary64)) (*.f64 (*.f64 eps eps) eps))))
#s(approx (+ (* (* eps eps) -2/3) -2) (*.f64 (*.f64 eps eps) #s(literal -2/3 binary64)))
#s(approx (+ (* (* eps eps) -2/3) -2) (neg.f64 (*.f64 (+.f64 (/.f64 #s(literal 2 binary64) (*.f64 eps eps)) #s(literal 2/3 binary64)) (*.f64 eps eps))))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (+.f64 (neg.f64 (/.f64 (+.f64 (+.f64 (/.f64 #s(literal 2/5 binary64) (*.f64 (*.f64 eps eps) (*.f64 eps eps))) (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps))) #s(literal 2 binary64)) eps)) #s(literal 0 binary64)))

eval4.0ms (0.1%)

Memory
3.3MiB live, 3.3MiB allocated; 0ms collecting garbage
Compiler

Compiled 301 to 182 computations (39.5% saved)

prune2.0ms (0.1%)

Memory
2.1MiB live, 2.1MiB allocated; 0ms collecting garbage
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New35035
Fresh000
Picked033
Done000
Total35338
Accuracy
100.0%
Counts
38 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
99.8%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 #s(literal -2 binary64) eps))
5.5%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(literal 0 binary64))
Compiler

Compiled 59 to 50 computations (15.3% saved)

regimes5.0ms (0.1%)

Memory
4.8MiB live, 4.8MiB allocated; 0ms collecting garbage
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(literal 0 binary64))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 #s(literal -2 binary64) eps))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
Outputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
Calls

3 calls:

2.0ms
eps
1.0ms
(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
1.0ms
(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
Results
AccuracySegmentsBranch
100.0%1(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
100.0%1(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
100.0%1eps
Compiler

Compiled 14 to 12 computations (14.3% saved)

regimes3.0ms (0.1%)

Memory
3.6MiB live, 3.6MiB allocated; 0ms collecting garbage
Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(literal 0 binary64))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 #s(literal -2 binary64) eps))
Outputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 #s(literal -2 binary64) eps))
Calls

3 calls:

1.0ms
eps
1.0ms
(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
1.0ms
(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
Results
AccuracySegmentsBranch
99.8%1(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
99.8%1(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
99.8%1eps
Compiler

Compiled 14 to 12 computations (14.3% saved)

regimes3.0ms (0.1%)

Memory
3.4MiB live, 3.4MiB allocated; 0ms collecting garbage
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(literal 0 binary64))
Outputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) #s(literal 0 binary64))
Calls

3 calls:

1.0ms
eps
1.0ms
(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
1.0ms
(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
Results
AccuracySegmentsBranch
5.5%1(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
5.5%1(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
5.5%1eps
Compiler

Compiled 14 to 12 computations (14.3% saved)

derivations44.0ms (1.4%)

Memory
-47.6MiB live, 1.5MiB allocated; 4ms collecting garbage
Stop Event
done
Compiler

Compiled 24 to 16 computations (33.3% saved)

preprocess35.0ms (1.1%)

Memory
9.1MiB live, 52.2MiB allocated; 9ms collecting garbage
Remove

(negabs eps)

Compiler

Compiled 94 to 85 computations (9.6% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...