logq (problem 3.4.3)

Time bar (total: 6.3s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze5.0ms (0.1%)

Memory
5.3MiB live, 5.3MiB allocated
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)

sample3.0s (47.3%)

Memory
8.8MiB live, 2 972.1MiB allocated
Samples
1.6s3 150×2valid
981.0ms4 816×1valid
19.0ms290×0valid
Precisions
Click to see histograms. Total time spent on operations: 2.2s
ival-log: 1.4s (61.7% of total)
adjust: 328.0ms (14.6% of total)
ival-div: 162.0ms (7.2% of total)
ival-sub: 160.0ms (7.1% of total)
ival-add: 109.0ms (4.9% of total)
ival-fabs: 62.0ms (2.8% of total)
ival-<: 28.0ms (1.2% of total)
exact: 6.0ms (0.3% of total)
ival-assert: 4.0ms (0.2% of total)
Bogosity

explain211.0ms (3.4%)

Memory
23.5MiB live, 261.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2560-0-(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
00-0-(+.f64 #s(literal 1 binary64) eps)
00-0-eps
00-0-#s(literal 1 binary64)
00-0-(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
00-0-(-.f64 #s(literal 1 binary64) eps)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f64(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))sensitivity2560
Confusion
Predicted +Predicted -
+2560
-00
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+25600
-000
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
1256
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
93.0ms180×2valid
59.0ms318×1valid
1.0ms14×0valid
Compiler

Compiled 58 to 22 computations (62.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 130.0ms
ival-log: 87.0ms (67.1% of total)
ival-add: 13.0ms (10% of total)
adjust: 12.0ms (9.3% of total)
ival-div: 11.0ms (8.5% of total)
ival-sub: 7.0ms (5.4% of total)
ival-true: 1.0ms (0.8% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess35.0ms (0.6%)

Memory
-5.3MiB live, 32.7MiB allocated
Algorithm
egg-herbie
Rules
208×lower-fma.f64
208×lower-fma.f32
128×lower-*.f64
128×lower-*.f32
84×times-frac
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
12217
24417
38917
415817
532617
659317
761617
068
0108
1188
2248
3358
4588
5928
61298
72028
83228
94928
105288
05288
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
Outputs
(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
(log.f64 (/.f64 (-.f64 eps #s(literal 1 binary64)) (-.f64 #s(literal -1 binary64) eps)))
Compiler

Compiled 8 to 6 computations (25% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
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)))
Compiler

Compiled 8 to 6 computations (25% saved)

simplify13.0ms (0.2%)

Memory
11.6MiB live, 11.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 #s(literal 1 binary64) eps)
cost-diff0
(-.f64 #s(literal 1 binary64) eps)
cost-diff0
(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
cost-diff0
(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
Rules
208×lower-fma.f64
208×lower-fma.f32
128×lower-*.f64
128×lower-*.f32
78×div-sub
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0623
01023
11823
22423
33523
45823
59223
612923
720223
832223
949223
1052823
052823
Stop Event
iter limit
saturated
iter limit
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
(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
(log.f64 (/.f64 (-.f64 eps #s(literal 1 binary64)) (-.f64 #s(literal -1 binary64) eps)))
(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
(/.f64 (-.f64 eps #s(literal 1 binary64)) (-.f64 #s(literal -1 binary64) eps))
(-.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
(+.f64 #s(literal 1 binary64) eps)
(-.f64 eps #s(literal -1 binary64))

localize73.0ms (1.2%)

Memory
-10.7MiB live, 66.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 #s(literal 1 binary64) eps)
accuracy0
(+.f64 #s(literal 1 binary64) eps)
accuracy0.0234375
(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
accuracy59.113556942830165
(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
Samples
37.0ms90×2valid
27.0ms159×1valid
1.0ms0valid
Compiler

Compiled 25 to 8 computations (68% saved)

Precisions
Click to see histograms. Total time spent on operations: 51.0ms
ival-log: 32.0ms (62.3% of total)
adjust: 8.0ms (15.6% of total)
ival-div: 4.0ms (7.8% of total)
ival-sub: 4.0ms (7.8% of total)
ival-add: 3.0ms (5.8% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series4.0ms (0.1%)

Memory
4.9MiB live, 4.9MiB allocated
Counts
4 → 48
Calls
Call 1
Inputs
#s(alt (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) (patch (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) #<representation binary64>) () ())
#s(alt (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) (patch (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) #<representation binary64>) () ())
#s(alt (-.f64 #s(literal 1 binary64) eps) (patch (-.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())
#s(alt (+.f64 #s(literal 1 binary64) eps) (patch (+.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())
Outputs
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) (patch (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* -2/3 (pow eps 2)) 2)) (taylor 0 eps) (#s(alt (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) (patch (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2)) (taylor 0 eps) (#s(alt (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) (patch (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2)) (taylor 0 eps) (#s(alt (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) (patch (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 eps) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) (patch (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -2 eps)) (taylor 0 eps) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) (patch (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* eps (- (* 2 eps) 2))) (taylor 0 eps) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) (patch (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* eps (- (* eps (+ 2 (* -2 eps))) 2))) (taylor 0 eps) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) (patch (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 eps) (#s(alt (-.f64 #s(literal 1 binary64) eps) (patch (-.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 eps)) (taylor 0 eps) (#s(alt (-.f64 #s(literal 1 binary64) eps) (patch (-.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 eps)) (taylor 0 eps) (#s(alt (-.f64 #s(literal 1 binary64) eps) (patch (-.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 eps)) (taylor 0 eps) (#s(alt (-.f64 #s(literal 1 binary64) eps) (patch (-.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 eps) (#s(alt (+.f64 #s(literal 1 binary64) eps) (patch (+.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (+ 1 eps) (taylor 0 eps) (#s(alt (+.f64 #s(literal 1 binary64) eps) (patch (+.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (+ 1 eps) (taylor 0 eps) (#s(alt (+.f64 #s(literal 1 binary64) eps) (patch (+.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (+ 1 eps) (taylor 0 eps) (#s(alt (+.f64 #s(literal 1 binary64) eps) (patch (+.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (log -1) (taylor inf eps) (#s(alt (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) (patch (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (- (log -1) (* 2 (/ 1 eps))) (taylor inf eps) (#s(alt (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) (patch (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps))) (taylor inf eps) (#s(alt (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) (patch (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps))) (taylor inf eps) (#s(alt (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) (patch (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt -1 (taylor inf eps) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) (patch (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (- (* 2 (/ 1 eps)) 1) (taylor inf eps) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) (patch (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (- (* 2 (/ 1 eps)) (+ 1 (/ 2 (pow eps 2)))) (taylor inf eps) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) (patch (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (- (+ (* 2 (/ 1 eps)) (* 2 (/ 1 (pow eps 3)))) (+ 1 (/ 2 (pow eps 2)))) (taylor inf eps) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) (patch (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (* -1 eps) (taylor inf eps) (#s(alt (-.f64 #s(literal 1 binary64) eps) (patch (-.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (- (/ 1 eps) 1)) (taylor inf eps) (#s(alt (-.f64 #s(literal 1 binary64) eps) (patch (-.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (- (/ 1 eps) 1)) (taylor inf eps) (#s(alt (-.f64 #s(literal 1 binary64) eps) (patch (-.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (- (/ 1 eps) 1)) (taylor inf eps) (#s(alt (-.f64 #s(literal 1 binary64) eps) (patch (-.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt eps (taylor inf eps) (#s(alt (+.f64 #s(literal 1 binary64) eps) (patch (+.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (+ 1 (/ 1 eps))) (taylor inf eps) (#s(alt (+.f64 #s(literal 1 binary64) eps) (patch (+.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (+ 1 (/ 1 eps))) (taylor inf eps) (#s(alt (+.f64 #s(literal 1 binary64) eps) (patch (+.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (+ 1 (/ 1 eps))) (taylor inf eps) (#s(alt (+.f64 #s(literal 1 binary64) eps) (patch (+.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (log -1) (taylor -inf eps) (#s(alt (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) (patch (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (- (log -1) (* 2 (/ 1 eps))) (taylor -inf eps) (#s(alt (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) (patch (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps))) (taylor -inf eps) (#s(alt (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) (patch (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps))) (taylor -inf eps) (#s(alt (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) (patch (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt -1 (taylor -inf eps) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) (patch (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (- (* 2 (/ 1 eps)) 1) (taylor -inf eps) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) (patch (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (/ (- (* 2 (/ 1 eps)) 2) eps)) 1) (taylor -inf eps) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) (patch (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (/ (- (* -1 (/ (- (* 2 (/ 1 eps)) 2) eps)) 2) eps)) 1) (taylor -inf eps) (#s(alt (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) (patch (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (* -1 eps) (taylor -inf eps) (#s(alt (-.f64 #s(literal 1 binary64) eps) (patch (-.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* eps (- 1 (/ 1 eps)))) (taylor -inf eps) (#s(alt (-.f64 #s(literal 1 binary64) eps) (patch (-.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* eps (- 1 (/ 1 eps)))) (taylor -inf eps) (#s(alt (-.f64 #s(literal 1 binary64) eps) (patch (-.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* eps (- 1 (/ 1 eps)))) (taylor -inf eps) (#s(alt (-.f64 #s(literal 1 binary64) eps) (patch (-.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt eps (taylor -inf eps) (#s(alt (+.f64 #s(literal 1 binary64) eps) (patch (+.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (+ 1 (/ 1 eps))) (taylor -inf eps) (#s(alt (+.f64 #s(literal 1 binary64) eps) (patch (+.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (+ 1 (/ 1 eps))) (taylor -inf eps) (#s(alt (+.f64 #s(literal 1 binary64) eps) (patch (+.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (+ 1 (/ 1 eps))) (taylor -inf eps) (#s(alt (+.f64 #s(literal 1 binary64) eps) (patch (+.f64 #s(literal 1 binary64) eps) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
eps
@0
((log (/ (- 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.0ms
eps
@inf
((log (/ (- 1 eps) (+ 1 eps))) (/ (- 1 eps) (+ 1 eps)) (- 1 eps) (+ 1 eps))

simplify115.0ms (1.8%)

Memory
3.0MiB live, 82.8MiB allocated
Algorithm
egg-herbie
Rules
8 508×lower-fma.f64
8 508×lower-fma.f32
3 488×lower-*.f64
3 488×lower-*.f32
1 504×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
089295
1220282
2488274
31298270
42829270
56030270
08583258
Stop Event
iter limit
node limit
Counts
48 → 46
Calls
Call 1
Inputs
(* -2 eps)
(* eps (- (* -2/3 (pow eps 2)) 2))
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))
1
(+ 1 (* -2 eps))
(+ 1 (* eps (- (* 2 eps) 2)))
(+ 1 (* eps (- (* eps (+ 2 (* -2 eps))) 2)))
1
(+ 1 (* -1 eps))
(+ 1 (* -1 eps))
(+ 1 (* -1 eps))
1
(+ 1 eps)
(+ 1 eps)
(+ 1 eps)
(log -1)
(- (log -1) (* 2 (/ 1 eps)))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))
-1
(- (* 2 (/ 1 eps)) 1)
(- (* 2 (/ 1 eps)) (+ 1 (/ 2 (pow eps 2))))
(- (+ (* 2 (/ 1 eps)) (* 2 (/ 1 (pow eps 3)))) (+ 1 (/ 2 (pow eps 2))))
(* -1 eps)
(* eps (- (/ 1 eps) 1))
(* eps (- (/ 1 eps) 1))
(* eps (- (/ 1 eps) 1))
eps
(* eps (+ 1 (/ 1 eps)))
(* eps (+ 1 (/ 1 eps)))
(* eps (+ 1 (/ 1 eps)))
(log -1)
(- (log -1) (* 2 (/ 1 eps)))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))
-1
(- (* 2 (/ 1 eps)) 1)
(- (* -1 (/ (- (* 2 (/ 1 eps)) 2) eps)) 1)
(- (* -1 (/ (- (* -1 (/ (- (* 2 (/ 1 eps)) 2) eps)) 2) eps)) 1)
(* -1 eps)
(* -1 (* eps (- 1 (/ 1 eps))))
(* -1 (* eps (- 1 (/ 1 eps))))
(* -1 (* eps (- 1 (/ 1 eps))))
eps
(* eps (+ 1 (/ 1 eps)))
(* eps (+ 1 (/ 1 eps)))
(* eps (+ 1 (/ 1 eps)))
Outputs
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* eps (- (* -2/3 (pow eps 2)) 2))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(*.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)
(* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))
(*.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)
1
#s(literal 1 binary64)
(+ 1 (* -2 eps))
(fma.f64 eps #s(literal -2 binary64) #s(literal 1 binary64))
(+ 1 (* eps (- (* 2 eps) 2)))
(fma.f64 (fma.f64 #s(literal 2 binary64) eps #s(literal -2 binary64)) eps #s(literal 1 binary64))
(+ 1 (* eps (- (* eps (+ 2 (* -2 eps))) 2)))
(fma.f64 (fma.f64 (fma.f64 eps #s(literal -2 binary64) #s(literal 2 binary64)) eps #s(literal -2 binary64)) eps #s(literal 1 binary64))
1
#s(literal 1 binary64)
(+ 1 (* -1 eps))
(-.f64 #s(literal 1 binary64) eps)
(+ 1 (* -1 eps))
(-.f64 #s(literal 1 binary64) eps)
(+ 1 (* -1 eps))
(-.f64 #s(literal 1 binary64) eps)
1
#s(literal 1 binary64)
(+ 1 eps)
(+.f64 #s(literal 1 binary64) eps)
(+ 1 eps)
(+.f64 #s(literal 1 binary64) eps)
(+ 1 eps)
(+.f64 #s(literal 1 binary64) eps)
(log -1)
(log.f64 #s(literal -1 binary64))
(- (log -1) (* 2 (/ 1 eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 #s(literal 2 binary64) eps))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (-.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal -2 binary64)) eps))
(- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))
(-.f64 (/.f64 #s(literal -2 binary64) eps) (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 2/5 binary64) (*.f64 eps eps)) #s(literal -2/3 binary64)) (pow.f64 eps #s(literal 3 binary64))) (log.f64 #s(literal -1 binary64))))
-1
#s(literal -1 binary64)
(- (* 2 (/ 1 eps)) 1)
(-.f64 (/.f64 #s(literal 2 binary64) eps) #s(literal 1 binary64))
(- (* 2 (/ 1 eps)) (+ 1 (/ 2 (pow eps 2))))
(-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 2 binary64) eps) #s(literal 2 binary64)) eps))
(- (+ (* 2 (/ 1 eps)) (* 2 (/ 1 (pow eps 3)))) (+ 1 (/ 2 (pow eps 2))))
(-.f64 #s(literal -1 binary64) (/.f64 (-.f64 #s(literal -2 binary64) (/.f64 (-.f64 (/.f64 #s(literal 2 binary64) eps) #s(literal 2 binary64)) eps)) eps))
(* -1 eps)
(neg.f64 eps)
(* eps (- (/ 1 eps) 1))
(-.f64 #s(literal 1 binary64) eps)
(* eps (- (/ 1 eps) 1))
(-.f64 #s(literal 1 binary64) eps)
(* eps (- (/ 1 eps) 1))
(-.f64 #s(literal 1 binary64) eps)
eps
(* eps (+ 1 (/ 1 eps)))
(+.f64 #s(literal 1 binary64) eps)
(* eps (+ 1 (/ 1 eps)))
(+.f64 #s(literal 1 binary64) eps)
(* eps (+ 1 (/ 1 eps)))
(+.f64 #s(literal 1 binary64) eps)
(log -1)
(log.f64 #s(literal -1 binary64))
(- (log -1) (* 2 (/ 1 eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 #s(literal 2 binary64) eps))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (-.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal -2 binary64)) eps))
(+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))
(-.f64 (/.f64 #s(literal -2 binary64) eps) (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 2/5 binary64) (*.f64 eps eps)) #s(literal -2/3 binary64)) (pow.f64 eps #s(literal 3 binary64))) (log.f64 #s(literal -1 binary64))))
-1
#s(literal -1 binary64)
(- (* 2 (/ 1 eps)) 1)
(-.f64 (/.f64 #s(literal 2 binary64) eps) #s(literal 1 binary64))
(- (* -1 (/ (- (* 2 (/ 1 eps)) 2) eps)) 1)
(-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 2 binary64) eps) #s(literal 2 binary64)) eps))
(- (* -1 (/ (- (* -1 (/ (- (* 2 (/ 1 eps)) 2) eps)) 2) eps)) 1)
(-.f64 #s(literal -1 binary64) (/.f64 (-.f64 #s(literal -2 binary64) (/.f64 (-.f64 (/.f64 #s(literal 2 binary64) eps) #s(literal 2 binary64)) eps)) eps))
(* -1 eps)
(neg.f64 eps)
(* -1 (* eps (- 1 (/ 1 eps))))
(-.f64 #s(literal 1 binary64) eps)
(* -1 (* eps (- 1 (/ 1 eps))))
(-.f64 #s(literal 1 binary64) eps)
(* -1 (* eps (- 1 (/ 1 eps))))
(-.f64 #s(literal 1 binary64) eps)
eps
(* eps (+ 1 (/ 1 eps)))
(+.f64 #s(literal 1 binary64) eps)
(* eps (+ 1 (/ 1 eps)))
(+.f64 #s(literal 1 binary64) eps)
(* eps (+ 1 (/ 1 eps)))
(+.f64 #s(literal 1 binary64) eps)

rewrite125.0ms (2%)

Memory
7.7MiB live, 83.6MiB allocated
Rules
2 220×lower-fma.f64
2 220×lower-fma.f32
2 058×lower-*.f64
2 058×lower-*.f32
1 842×lower-/.f64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0621
01021
14421
232821
345598
0100968
Stop Event
iter limit
node limit
iter limit
Counts
4 → 304
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)
(+.f64 #s(literal 1 binary64) eps)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval82.0ms (1.3%)

Memory
-16.1MiB live, 74.7MiB allocated
Compiler

Compiled 7 265 to 1 010 computations (86.1% saved)

prune6.0ms (0.1%)

Memory
16.2MiB live, 16.2MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New3464350
Fresh000
Picked101
Done000
Total3474351
Accuracy
100.0%
Counts
351 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#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))
99.9%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
99.6%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
5.4%
#s(literal 0 binary64)
Compiler

Compiled 28 to 22 computations (21.4% saved)

simplify103.0ms (1.6%)

Memory
-15.9MiB live, 23.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
cost-diff0
(fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64))
cost-diff0
(*.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)
cost-diff0
#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))
cost-diff0
(*.f64 eps eps)
cost-diff0
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
cost-diff0
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
cost-diff0
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
cost-diff0
(*.f64 eps #s(literal -2 binary64))
cost-diff0
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
Rules
2 464×lower-fma.f32
2 458×lower-fma.f64
1 398×unsub-neg
1 072×lower-*.f32
1 064×lower-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020114
030114
152114
285114
3149114
4246114
5289114
6327114
7471114
8673114
9909114
101140114
112082114
123106114
133273114
143274114
153282114
163282114
173286114
03286114
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(literal 0 binary64)
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
(*.f64 eps #s(literal -2 binary64))
eps
#s(literal -2 binary64)
#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)
eps
#s(literal -2/3 binary64)
#s(literal -2 binary64)
#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))
(*.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)
(fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64))
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
#s(literal -2/5 binary64)
(*.f64 eps eps)
eps
#s(literal -2/3 binary64)
#s(literal -2 binary64)
Outputs
#s(literal 0 binary64)
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 #s(literal -2 binary64) eps))
(*.f64 eps #s(literal -2 binary64))
(*.f64 #s(literal -2 binary64) eps)
eps
#s(literal -2 binary64)
#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 #s(literal -2/3 binary64) (*.f64 eps eps) #s(literal -2 binary64)) eps))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(*.f64 (fma.f64 #s(literal -2/3 binary64) (*.f64 eps eps) #s(literal -2 binary64)) eps)
(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))
(*.f64 eps eps)
eps
#s(literal -2/3 binary64)
#s(literal -2 binary64)
#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))
(*.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)
(fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64))
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
#s(literal -2/5 binary64)
(*.f64 eps eps)
eps
#s(literal -2/3 binary64)
#s(literal -2 binary64)

localize162.0ms (2.6%)

Memory
23.5MiB live, 138.1MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
accuracy0
(*.f64 eps eps)
accuracy0
#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))
accuracy0.00390625
(*.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)
accuracy0
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
accuracy0
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
accuracy0
(*.f64 eps eps)
accuracy0.05478570141515042
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
accuracy0
(*.f64 eps #s(literal -2 binary64))
accuracy0.24925595158778568
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
Samples
88.0ms159×1valid
57.0ms90×2valid
1.0ms0valid
Compiler

Compiled 96 to 22 computations (77.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 106.0ms
ival-log: 33.0ms (31.1% of total)
ival-mult: 28.0ms (26.3% of total)
const: 14.0ms (13.2% of total)
adjust: 12.0ms (11.3% of total)
ival-add: 9.0ms (8.5% of total)
ival-div: 5.0ms (4.7% of total)
ival-sub: 4.0ms (3.8% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series14.0ms (0.2%)

Memory
-25.9MiB live, 10.4MiB allocated
Counts
10 → 120
Calls
Call 1
Inputs
#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 eps #s(literal -2 binary64)) (patch (*.f64 eps #s(literal -2 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) (patch (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) #<representation binary64>) () ())
#s(alt (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) (patch (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())
#s(alt #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)) (patch #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)) #<representation binary64>) () ())
#s(alt (*.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) (patch (*.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) #<representation binary64>) () ())
#s(alt (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) (patch (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) #<representation binary64>) () ())
#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* -2/3 (pow eps 2)) 2)) (taylor 0 eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2)) (taylor 0 eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2)) (taylor 0 eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt (*.f64 eps #s(literal -2 binary64)) (patch (*.f64 eps #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt (*.f64 eps #s(literal -2 binary64)) (patch (*.f64 eps #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt (*.f64 eps #s(literal -2 binary64)) (patch (*.f64 eps #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt (*.f64 eps #s(literal -2 binary64)) (patch (*.f64 eps #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* -2/3 (pow eps 2)) 2)) (taylor 0 eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2)) (taylor 0 eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2)) (taylor 0 eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) (patch (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* -2/3 (pow eps 2)) 2)) (taylor 0 eps) (#s(alt (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) (patch (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* -2/3 (pow eps 2)) 2)) (taylor 0 eps) (#s(alt (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) (patch (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* -2/3 (pow eps 2)) 2)) (taylor 0 eps) (#s(alt (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) (patch (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt -2 (taylor 0 eps) (#s(alt (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) (patch (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -2/3 (pow eps 2)) 2) (taylor 0 eps) (#s(alt (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) (patch (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -2/3 (pow eps 2)) 2) (taylor 0 eps) (#s(alt (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) (patch (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -2/3 (pow eps 2)) 2) (taylor 0 eps) (#s(alt (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) (patch (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor 0 eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor 0 eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor 0 eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor 0 eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt #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)) (patch #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)) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* -2/3 (pow eps 2)) 2)) (taylor 0 eps) (#s(alt #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)) (patch #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)) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2)) (taylor 0 eps) (#s(alt #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)) (patch #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)) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2)) (taylor 0 eps) (#s(alt #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)) (patch #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)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt (*.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) (patch (*.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) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* -2/3 (pow eps 2)) 2)) (taylor 0 eps) (#s(alt (*.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) (patch (*.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) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2)) (taylor 0 eps) (#s(alt (*.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) (patch (*.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) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2)) (taylor 0 eps) (#s(alt (*.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) (patch (*.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) #<representation binary64>) () ())) ())
#s(alt -2 (taylor 0 eps) (#s(alt (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) (patch (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -2/3 (pow eps 2)) 2) (taylor 0 eps) (#s(alt (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) (patch (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2) (taylor 0 eps) (#s(alt (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) (patch (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2) (taylor 0 eps) (#s(alt (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) (patch (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt -2/3 (taylor 0 eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -2/5 (pow eps 2)) 2/3) (taylor 0 eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -2/5 (pow eps 2)) 2/3) (taylor 0 eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -2/5 (pow eps 2)) 2/3) (taylor 0 eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (log -1) (taylor inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (log -1) (* 2 (/ 1 eps))) (taylor inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps))) (taylor inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps))) (taylor inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor inf eps) (#s(alt (*.f64 eps #s(literal -2 binary64)) (patch (*.f64 eps #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor inf eps) (#s(alt (*.f64 eps #s(literal -2 binary64)) (patch (*.f64 eps #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor inf eps) (#s(alt (*.f64 eps #s(literal -2 binary64)) (patch (*.f64 eps #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor inf eps) (#s(alt (*.f64 eps #s(literal -2 binary64)) (patch (*.f64 eps #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (log -1) (taylor inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) #<representation binary64>) () ())) ())
#s(alt (- (log -1) (* 2 (/ 1 eps))) (taylor inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps))) (taylor inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) #<representation binary64>) () ())) ())
#s(alt (- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps))) (taylor inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) #<representation binary64>) () ())) ())
#s(alt (* -2/3 (pow eps 3)) (taylor inf eps) (#s(alt (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) (patch (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) (patch (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) (patch (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) (patch (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -2/3 (pow eps 2)) (taylor inf eps) (#s(alt (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) (patch (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) (patch (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) (patch (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) (patch (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (log -1) (taylor inf eps) (#s(alt #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)) (patch #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)) #<representation binary64>) () ())) ())
#s(alt (- (log -1) (* 2 (/ 1 eps))) (taylor inf eps) (#s(alt #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)) (patch #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)) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps))) (taylor inf eps) (#s(alt #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)) (patch #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)) #<representation binary64>) () ())) ())
#s(alt (- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps))) (taylor inf eps) (#s(alt #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)) (patch #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)) #<representation binary64>) () ())) ())
#s(alt (* -2/5 (pow eps 5)) (taylor inf eps) (#s(alt (*.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) (patch (*.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) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 5) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (*.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) (patch (*.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) #<representation binary64>) () ())) ())
#s(alt (* (pow eps 5) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5)) (taylor inf eps) (#s(alt (*.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) (patch (*.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) #<representation binary64>) () ())) ())
#s(alt (* (pow eps 5) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5)) (taylor inf eps) (#s(alt (*.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) (patch (*.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) #<representation binary64>) () ())) ())
#s(alt (* -2/5 (pow eps 4)) (taylor inf eps) (#s(alt (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) (patch (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 4) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) (patch (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow eps 4) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5)) (taylor inf eps) (#s(alt (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) (patch (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow eps 4) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5)) (taylor inf eps) (#s(alt (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) (patch (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2/5 (pow eps 2)) (taylor inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (log -1) (taylor -inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (log -1) (* 2 (/ 1 eps))) (taylor -inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps))) (taylor -inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps))) (taylor -inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor -inf eps) (#s(alt (*.f64 eps #s(literal -2 binary64)) (patch (*.f64 eps #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor -inf eps) (#s(alt (*.f64 eps #s(literal -2 binary64)) (patch (*.f64 eps #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor -inf eps) (#s(alt (*.f64 eps #s(literal -2 binary64)) (patch (*.f64 eps #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor -inf eps) (#s(alt (*.f64 eps #s(literal -2 binary64)) (patch (*.f64 eps #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (log -1) (taylor -inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) #<representation binary64>) () ())) ())
#s(alt (- (log -1) (* 2 (/ 1 eps))) (taylor -inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps))) (taylor -inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps))) (taylor -inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)) #<representation binary64>) () ())) ())
#s(alt (* -2/3 (pow eps 3)) (taylor -inf eps) (#s(alt (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) (patch (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) (patch (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) (patch (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) (patch (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -2/3 (pow eps 2)) (taylor -inf eps) (#s(alt (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) (patch (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) (patch (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) (patch (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) (patch (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor -inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor -inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor -inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor -inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (log -1) (taylor -inf eps) (#s(alt #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)) (patch #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)) #<representation binary64>) () ())) ())
#s(alt (- (log -1) (* 2 (/ 1 eps))) (taylor -inf eps) (#s(alt #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)) (patch #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)) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps))) (taylor -inf eps) (#s(alt #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)) (patch #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)) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps))) (taylor -inf eps) (#s(alt #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)) (patch #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)) #<representation binary64>) () ())) ())
#s(alt (* -2/5 (pow eps 5)) (taylor -inf eps) (#s(alt (*.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) (patch (*.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) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 5) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (*.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) (patch (*.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) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 5) (+ 2/5 (+ (* 2/3 (/ 1 (pow eps 2))) (/ 2 (pow eps 4)))))) (taylor -inf eps) (#s(alt (*.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) (patch (*.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) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 5) (+ 2/5 (+ (* 2/3 (/ 1 (pow eps 2))) (/ 2 (pow eps 4)))))) (taylor -inf eps) (#s(alt (*.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) (patch (*.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) #<representation binary64>) () ())) ())
#s(alt (* -2/5 (pow eps 4)) (taylor -inf eps) (#s(alt (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) (patch (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 4) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) (patch (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow eps 4) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5)) (taylor -inf eps) (#s(alt (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) (patch (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow eps 4) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5)) (taylor -inf eps) (#s(alt (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) (patch (fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2/5 (pow eps 2)) (taylor -inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

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

simplify173.0ms (2.7%)

Memory
7.9MiB live, 158.5MiB allocated
Algorithm
egg-herbie
Rules
17 464×lower-fma.f64
17 464×lower-fma.f32
4 054×lower-*.f64
4 054×lower-*.f32
2 210×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
081966
1222954
2738946
31998946
44320946
57797946
08377881
Stop Event
iter limit
node limit
Counts
120 → 120
Calls
Call 1
Inputs
(* -2 eps)
(* eps (- (* -2/3 (pow eps 2)) 2))
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))
(* -2 eps)
(* -2 eps)
(* -2 eps)
(* -2 eps)
(* -2 eps)
(* eps (- (* -2/3 (pow eps 2)) 2))
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))
(* -2 eps)
(* eps (- (* -2/3 (pow eps 2)) 2))
(* eps (- (* -2/3 (pow eps 2)) 2))
(* eps (- (* -2/3 (pow eps 2)) 2))
-2
(- (* -2/3 (pow eps 2)) 2)
(- (* -2/3 (pow eps 2)) 2)
(- (* -2/3 (pow eps 2)) 2)
(pow eps 2)
(pow eps 2)
(pow eps 2)
(pow eps 2)
(* -2 eps)
(* eps (- (* -2/3 (pow eps 2)) 2))
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))
(* -2 eps)
(* eps (- (* -2/3 (pow eps 2)) 2))
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
-2
(- (* -2/3 (pow eps 2)) 2)
(- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2)
(- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2)
-2/3
(- (* -2/5 (pow eps 2)) 2/3)
(- (* -2/5 (pow eps 2)) 2/3)
(- (* -2/5 (pow eps 2)) 2/3)
(log -1)
(- (log -1) (* 2 (/ 1 eps)))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))
(* -2 eps)
(* -2 eps)
(* -2 eps)
(* -2 eps)
(log -1)
(- (log -1) (* 2 (/ 1 eps)))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))
(* -2/3 (pow eps 3))
(* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(* -2/3 (pow eps 2))
(* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(pow eps 2)
(pow eps 2)
(pow eps 2)
(pow eps 2)
(log -1)
(- (log -1) (* 2 (/ 1 eps)))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))
(* -2/5 (pow eps 5))
(* -1 (* (pow eps 5) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* (pow eps 5) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(* (pow eps 5) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(* -2/5 (pow eps 4))
(* -1 (* (pow eps 4) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* (pow eps 4) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(* (pow eps 4) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(* -2/5 (pow eps 2))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(log -1)
(- (log -1) (* 2 (/ 1 eps)))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))
(* -2 eps)
(* -2 eps)
(* -2 eps)
(* -2 eps)
(log -1)
(- (log -1) (* 2 (/ 1 eps)))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))
(* -2/3 (pow eps 3))
(* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(* -2/3 (pow eps 2))
(* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(pow eps 2)
(pow eps 2)
(pow eps 2)
(pow eps 2)
(log -1)
(- (log -1) (* 2 (/ 1 eps)))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))
(* -2/5 (pow eps 5))
(* -1 (* (pow eps 5) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 5) (+ 2/5 (+ (* 2/3 (/ 1 (pow eps 2))) (/ 2 (pow eps 4))))))
(* -1 (* (pow eps 5) (+ 2/5 (+ (* 2/3 (/ 1 (pow eps 2))) (/ 2 (pow eps 4))))))
(* -2/5 (pow eps 4))
(* -1 (* (pow eps 4) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* (pow eps 4) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(* (pow eps 4) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(* -2/5 (pow eps 2))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
Outputs
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* eps (- (* -2/3 (pow eps 2)) 2))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(fma.f64 (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal -2/5 binary64) #s(literal -2 binary64)) eps (*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal -2/3 binary64)))
(* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))
(*.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)
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* eps (- (* -2/3 (pow eps 2)) 2))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(fma.f64 (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal -2/5 binary64) #s(literal -2 binary64)) eps (*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal -2/3 binary64)))
(* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))
(*.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)
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* eps (- (* -2/3 (pow eps 2)) 2))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* eps (- (* -2/3 (pow eps 2)) 2))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* eps (- (* -2/3 (pow eps 2)) 2))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
-2
#s(literal -2 binary64)
(- (* -2/3 (pow eps 2)) 2)
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
(- (* -2/3 (pow eps 2)) 2)
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
(- (* -2/3 (pow eps 2)) 2)
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* eps (- (* -2/3 (pow eps 2)) 2))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(fma.f64 (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal -2/5 binary64) #s(literal -2 binary64)) eps (*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal -2/3 binary64)))
(* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))
(*.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)
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* eps (- (* -2/3 (pow eps 2)) 2))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(fma.f64 (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal -2/5 binary64) #s(literal -2 binary64)) eps (*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal -2/3 binary64)))
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(fma.f64 (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal -2/5 binary64) #s(literal -2 binary64)) eps (*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal -2/3 binary64)))
-2
#s(literal -2 binary64)
(- (* -2/3 (pow eps 2)) 2)
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
(- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2)
(fma.f64 (fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64))
(- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2)
(fma.f64 (fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64))
-2/3
#s(literal -2/3 binary64)
(- (* -2/5 (pow eps 2)) 2/3)
(fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64))
(- (* -2/5 (pow eps 2)) 2/3)
(fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64))
(- (* -2/5 (pow eps 2)) 2/3)
(fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64))
(log -1)
(log.f64 #s(literal -1 binary64))
(- (log -1) (* 2 (/ 1 eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 #s(literal 2 binary64) eps))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (+.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal 2 binary64)) eps))
(- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))
(-.f64 (/.f64 #s(literal -2 binary64) eps) (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 2/5 binary64) (*.f64 eps eps)) #s(literal 2/3 binary64)) (pow.f64 eps #s(literal 3 binary64))) (log.f64 #s(literal -1 binary64))))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(log -1)
(log.f64 #s(literal -1 binary64))
(- (log -1) (* 2 (/ 1 eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 #s(literal 2 binary64) eps))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (+.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal 2 binary64)) eps))
(- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))
(-.f64 (/.f64 #s(literal -2 binary64) eps) (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 2/5 binary64) (*.f64 eps eps)) #s(literal 2/3 binary64)) (pow.f64 eps #s(literal 3 binary64))) (log.f64 #s(literal -1 binary64))))
(* -2/3 (pow eps 3))
(*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal -2/3 binary64))
(* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* -2/3 (pow eps 2))
(*.f64 (*.f64 eps eps) #s(literal -2/3 binary64))
(* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
(* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
(* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(log -1)
(log.f64 #s(literal -1 binary64))
(- (log -1) (* 2 (/ 1 eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 #s(literal 2 binary64) eps))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (+.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal 2 binary64)) eps))
(- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))
(-.f64 (/.f64 #s(literal -2 binary64) eps) (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 2/5 binary64) (*.f64 eps eps)) #s(literal 2/3 binary64)) (pow.f64 eps #s(literal 3 binary64))) (log.f64 #s(literal -1 binary64))))
(* -2/5 (pow eps 5))
(*.f64 (pow.f64 eps #s(literal 5 binary64)) #s(literal -2/5 binary64))
(* -1 (* (pow eps 5) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(*.f64 (-.f64 #s(literal -2/5 binary64) (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps))) (pow.f64 eps #s(literal 5 binary64)))
(* (pow eps 5) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (pow.f64 eps #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal 2/5 binary64))) (pow.f64 eps #s(literal 5 binary64)))
(* (pow eps 5) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (pow.f64 eps #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal 2/5 binary64))) (pow.f64 eps #s(literal 5 binary64)))
(* -2/5 (pow eps 4))
(*.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal -2/5 binary64))
(* -1 (* (pow eps 4) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64)) (*.f64 eps eps))
(* (pow eps 4) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(fma.f64 (fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64))
(* (pow eps 4) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(fma.f64 (fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64))
(* -2/5 (pow eps 2))
(*.f64 #s(literal -2/5 binary64) (*.f64 eps eps))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64))
(log -1)
(log.f64 #s(literal -1 binary64))
(- (log -1) (* 2 (/ 1 eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 #s(literal 2 binary64) eps))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (+.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal 2 binary64)) eps))
(+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (+.f64 (+.f64 (/.f64 #s(literal 2/5 binary64) (pow.f64 eps #s(literal 4 binary64))) #s(literal 2 binary64)) (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps))) eps))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(log -1)
(log.f64 #s(literal -1 binary64))
(- (log -1) (* 2 (/ 1 eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 #s(literal 2 binary64) eps))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (+.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal 2 binary64)) eps))
(+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (+.f64 (+.f64 (/.f64 #s(literal 2/5 binary64) (pow.f64 eps #s(literal 4 binary64))) #s(literal 2 binary64)) (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps))) eps))
(* -2/3 (pow eps 3))
(*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal -2/3 binary64))
(* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* -1 (* (pow eps 3) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* -2/3 (pow eps 2))
(*.f64 (*.f64 eps eps) #s(literal -2/3 binary64))
(* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
(* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
(* -1 (* (pow eps 2) (+ 2/3 (* 2 (/ 1 (pow eps 2))))))
(fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64))
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(log -1)
(log.f64 #s(literal -1 binary64))
(- (log -1) (* 2 (/ 1 eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 #s(literal 2 binary64) eps))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (+.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal 2 binary64)) eps))
(+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (+.f64 (+.f64 (/.f64 #s(literal 2/5 binary64) (pow.f64 eps #s(literal 4 binary64))) #s(literal 2 binary64)) (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps))) eps))
(* -2/5 (pow eps 5))
(*.f64 (pow.f64 eps #s(literal 5 binary64)) #s(literal -2/5 binary64))
(* -1 (* (pow eps 5) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(*.f64 (-.f64 #s(literal -2/5 binary64) (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps))) (pow.f64 eps #s(literal 5 binary64)))
(* -1 (* (pow eps 5) (+ 2/5 (+ (* 2/3 (/ 1 (pow eps 2))) (/ 2 (pow eps 4))))))
(*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (pow.f64 eps #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal 2/5 binary64))) (pow.f64 eps #s(literal 5 binary64)))
(* -1 (* (pow eps 5) (+ 2/5 (+ (* 2/3 (/ 1 (pow eps 2))) (/ 2 (pow eps 4))))))
(*.f64 (-.f64 (/.f64 #s(literal -2 binary64) (pow.f64 eps #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal 2/5 binary64))) (pow.f64 eps #s(literal 5 binary64)))
(* -2/5 (pow eps 4))
(*.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal -2/5 binary64))
(* -1 (* (pow eps 4) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64)) (*.f64 eps eps))
(* (pow eps 4) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(fma.f64 (fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64))
(* (pow eps 4) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(fma.f64 (fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64))
(* -2/5 (pow eps 2))
(*.f64 #s(literal -2/5 binary64) (*.f64 eps eps))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(fma.f64 (*.f64 #s(literal -2/5 binary64) eps) eps #s(literal -2/3 binary64))

rewrite451.0ms (7.2%)

Memory
-198.2MiB live, 276.4MiB allocated
Rules
7 548×lower-fma.f32
7 542×lower-fma.f64
5 400×lower-*.f32
5 392×lower-*.f64
3 690×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
019101
029101
1117101
2819101
0851995
Stop Event
iter limit
node limit
iter limit
Counts
10 → 287
Calls
Call 1
Inputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
(*.f64 eps #s(literal -2 binary64))
#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(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))
(*.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)
(fma.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (*.f64 eps eps) #s(literal -2 binary64))
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval58.0ms (0.9%)

Memory
21.6MiB live, 98.2MiB allocated
Compiler

Compiled 9 268 to 1 374 computations (85.2% saved)

prune15.0ms (0.2%)

Memory
-14.1MiB live, 29.1MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New4561457
Fresh000
Picked044
Done000
Total4565461
Accuracy
100.0%
Counts
461 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)))
100.0%
#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))
99.9%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
99.6%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
5.4%
#s(literal 0 binary64)
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify164.0ms (2.6%)

Memory
-0.0MiB live, 38.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
cost-diff0
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
cost-diff0
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)))
cost-diff320
(fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))
Rules
2 464×lower-fma.f32
2 460×lower-fma.f64
1 398×unsub-neg
1 072×lower-*.f32
1 066×lower-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01563
02263
14261
27261
315061
430961
538361
642161
756561
877161
9101761
10124761
11219261
12321861
13337561
14337661
15338461
16338461
17338861
0338859
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)))
(fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
#s(literal -2/5 binary64)
(*.f64 eps eps)
eps
#s(literal -2/3 binary64)
(*.f64 #s(literal -2 binary64) eps)
#s(literal -2 binary64)
Outputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/5 binary64) #s(literal -2/3 binary64)) eps) eps #s(literal -2 binary64)) eps))
(fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))
(*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/5 binary64) #s(literal -2/3 binary64)) eps) eps #s(literal -2 binary64)) eps)
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/5 binary64) #s(literal -2/3 binary64)) eps)
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
(fma.f64 (*.f64 eps eps) #s(literal -2/5 binary64) #s(literal -2/3 binary64))
#s(literal -2/5 binary64)
(*.f64 eps eps)
eps
#s(literal -2/3 binary64)
(*.f64 #s(literal -2 binary64) eps)
#s(literal -2 binary64)

localize142.0ms (2.3%)

Memory
29.9MiB live, 65.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 eps eps)
accuracy0
(*.f64 #s(literal -2 binary64) eps)
accuracy0
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)))
accuracy0.33984375
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
Samples
80.0ms159×1valid
48.0ms90×2valid
1.0ms0valid
Compiler

Compiled 53 to 18 computations (66% saved)

Precisions
Click to see histograms. Total time spent on operations: 114.0ms
ival-mult: 44.0ms (38.6% of total)
ival-log: 33.0ms (28.9% of total)
adjust: 10.0ms (8.8% of total)
const: 10.0ms (8.8% of total)
ival-add: 7.0ms (6.1% of total)
ival-div: 4.0ms (3.5% of total)
ival-sub: 4.0ms (3.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series6.0ms (0.1%)

Memory
3.3MiB live, 3.3MiB allocated
Counts
6 → 72
Calls
Call 1
Inputs
#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) #<representation binary64>) () ())
#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (patch (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) #<representation binary64>) () ())
#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal -2 binary64) eps) (patch (*.f64 #s(literal -2 binary64) eps) #<representation binary64>) () ())
#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())
Outputs
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* -2/3 (pow eps 2)) 2)) (taylor 0 eps) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2)) (taylor 0 eps) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2)) (taylor 0 eps) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* -2/3 (pow eps 2)) 2)) (taylor 0 eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2)) (taylor 0 eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2)) (taylor 0 eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (* -2/3 eps) (taylor 0 eps) (#s(alt (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (patch (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* -2/5 (pow eps 2)) 2/3)) (taylor 0 eps) (#s(alt (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (patch (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* -2/5 (pow eps 2)) 2/3)) (taylor 0 eps) (#s(alt (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (patch (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* eps (- (* -2/5 (pow eps 2)) 2/3)) (taylor 0 eps) (#s(alt (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (patch (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt -2/3 (taylor 0 eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -2/5 (pow eps 2)) 2/3) (taylor 0 eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -2/5 (pow eps 2)) 2/3) (taylor 0 eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (* -2/5 (pow eps 2)) 2/3) (taylor 0 eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt (*.f64 #s(literal -2 binary64) eps) (patch (*.f64 #s(literal -2 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt (*.f64 #s(literal -2 binary64) eps) (patch (*.f64 #s(literal -2 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt (*.f64 #s(literal -2 binary64) eps) (patch (*.f64 #s(literal -2 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor 0 eps) (#s(alt (*.f64 #s(literal -2 binary64) eps) (patch (*.f64 #s(literal -2 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor 0 eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor 0 eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor 0 eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor 0 eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (* -2/5 (pow eps 5)) (taylor inf eps) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 5) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (* (pow eps 5) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5)) (taylor inf eps) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (* (pow eps 5) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5)) (taylor inf eps) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (log -1) (taylor inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (- (log -1) (* 2 (/ 1 eps))) (taylor inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps))) (taylor inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps))) (taylor inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (* -2/5 (pow eps 3)) (taylor inf eps) (#s(alt (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (patch (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (patch (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (patch (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (patch (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -2/5 (pow eps 2)) (taylor inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor inf eps) (#s(alt (*.f64 #s(literal -2 binary64) eps) (patch (*.f64 #s(literal -2 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor inf eps) (#s(alt (*.f64 #s(literal -2 binary64) eps) (patch (*.f64 #s(literal -2 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor inf eps) (#s(alt (*.f64 #s(literal -2 binary64) eps) (patch (*.f64 #s(literal -2 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor inf eps) (#s(alt (*.f64 #s(literal -2 binary64) eps) (patch (*.f64 #s(literal -2 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (* -2/5 (pow eps 5)) (taylor -inf eps) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 5) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 5) (+ 2/5 (+ (* 2/3 (/ 1 (pow eps 2))) (/ 2 (pow eps 4)))))) (taylor -inf eps) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 5) (+ 2/5 (+ (* 2/3 (/ 1 (pow eps 2))) (/ 2 (pow eps 4)))))) (taylor -inf eps) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)) #<representation binary64>) () ())) ())
#s(alt (log -1) (taylor -inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (- (log -1) (* 2 (/ 1 eps))) (taylor -inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps))) (taylor -inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps))) (taylor -inf eps) (#s(alt #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) (patch #s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))) #<representation binary64>) () ())) ())
#s(alt (* -2/5 (pow eps 3)) (taylor -inf eps) (#s(alt (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (patch (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (patch (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (patch (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (patch (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) #<representation binary64>) () ())) ())
#s(alt (* -2/5 (pow eps 2)) (taylor -inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2)))))) (taylor -inf eps) (#s(alt (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) (patch (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor -inf eps) (#s(alt (*.f64 #s(literal -2 binary64) eps) (patch (*.f64 #s(literal -2 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor -inf eps) (#s(alt (*.f64 #s(literal -2 binary64) eps) (patch (*.f64 #s(literal -2 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor -inf eps) (#s(alt (*.f64 #s(literal -2 binary64) eps) (patch (*.f64 #s(literal -2 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (* -2 eps) (taylor -inf eps) (#s(alt (*.f64 #s(literal -2 binary64) eps) (patch (*.f64 #s(literal -2 binary64) eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor -inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor -inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor -inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
#s(alt (pow eps 2) (taylor -inf eps) (#s(alt (*.f64 eps eps) (patch (*.f64 eps eps) #<representation binary64>) () ())) ())
Calls

3 calls:

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

simplify176.0ms (2.8%)

Memory
-25.2MiB live, 93.3MiB allocated
Algorithm
egg-herbie
Rules
14 628×lower-fma.f64
14 628×lower-fma.f32
3 208×lower-*.f64
3 208×lower-*.f32
1 844×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
077516
1197512
2604508
31568506
43467506
56897506
08116477
Stop Event
iter limit
node limit
Counts
72 → 72
Calls
Call 1
Inputs
(* -2 eps)
(* eps (- (* -2/3 (pow eps 2)) 2))
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(* -2 eps)
(* eps (- (* -2/3 (pow eps 2)) 2))
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))
(* -2/3 eps)
(* eps (- (* -2/5 (pow eps 2)) 2/3))
(* eps (- (* -2/5 (pow eps 2)) 2/3))
(* eps (- (* -2/5 (pow eps 2)) 2/3))
-2/3
(- (* -2/5 (pow eps 2)) 2/3)
(- (* -2/5 (pow eps 2)) 2/3)
(- (* -2/5 (pow eps 2)) 2/3)
(* -2 eps)
(* -2 eps)
(* -2 eps)
(* -2 eps)
(pow eps 2)
(pow eps 2)
(pow eps 2)
(pow eps 2)
(* -2/5 (pow eps 5))
(* -1 (* (pow eps 5) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* (pow eps 5) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(* (pow eps 5) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(log -1)
(- (log -1) (* 2 (/ 1 eps)))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))
(* -2/5 (pow eps 3))
(* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -2/5 (pow eps 2))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -2 eps)
(* -2 eps)
(* -2 eps)
(* -2 eps)
(pow eps 2)
(pow eps 2)
(pow eps 2)
(pow eps 2)
(* -2/5 (pow eps 5))
(* -1 (* (pow eps 5) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 5) (+ 2/5 (+ (* 2/3 (/ 1 (pow eps 2))) (/ 2 (pow eps 4))))))
(* -1 (* (pow eps 5) (+ 2/5 (+ (* 2/3 (/ 1 (pow eps 2))) (/ 2 (pow eps 4))))))
(log -1)
(- (log -1) (* 2 (/ 1 eps)))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))
(* -2/5 (pow eps 3))
(* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -2/5 (pow eps 2))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(* -2 eps)
(* -2 eps)
(* -2 eps)
(* -2 eps)
(pow eps 2)
(pow eps 2)
(pow eps 2)
(pow eps 2)
Outputs
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* eps (- (* -2/3 (pow eps 2)) 2))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(*.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)
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(*.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)
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* eps (- (* -2/3 (pow eps 2)) 2))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps)
(* eps (- (* (pow eps 2) (- (* -2/5 (pow eps 2)) 2/3)) 2))
(*.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)
(* eps (- (* (pow eps 2) (- (* (pow eps 2) (- (* -2/7 (pow eps 2)) 2/5)) 2/3)) 2))
(*.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)
(* -2/3 eps)
(*.f64 #s(literal -2/3 binary64) eps)
(* eps (- (* -2/5 (pow eps 2)) 2/3))
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
(* eps (- (* -2/5 (pow eps 2)) 2/3))
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
(* eps (- (* -2/5 (pow eps 2)) 2/3))
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
-2/3
#s(literal -2/3 binary64)
(- (* -2/5 (pow eps 2)) 2/3)
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
(- (* -2/5 (pow eps 2)) 2/3)
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
(- (* -2/5 (pow eps 2)) 2/3)
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(* -2/5 (pow eps 5))
(*.f64 (pow.f64 eps #s(literal 5 binary64)) #s(literal -2/5 binary64))
(* -1 (* (pow eps 5) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(*.f64 (-.f64 #s(literal -2/5 binary64) (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps))) (pow.f64 eps #s(literal 5 binary64)))
(* (pow eps 5) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(*.f64 (-.f64 (/.f64 (/.f64 (-.f64 #s(literal -2/3 binary64) (/.f64 #s(literal 2 binary64) (*.f64 eps eps))) eps) eps) #s(literal 2/5 binary64)) (pow.f64 eps #s(literal 5 binary64)))
(* (pow eps 5) (- (* -1 (/ (+ 2/3 (* 2 (/ 1 (pow eps 2)))) (pow eps 2))) 2/5))
(*.f64 (-.f64 (/.f64 (/.f64 (-.f64 #s(literal -2/3 binary64) (/.f64 #s(literal 2 binary64) (*.f64 eps eps))) eps) eps) #s(literal 2/5 binary64)) (pow.f64 eps #s(literal 5 binary64)))
(log -1)
(log.f64 #s(literal -1 binary64))
(- (log -1) (* 2 (/ 1 eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 #s(literal 2 binary64) eps))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (-.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal -2 binary64)) eps))
(- (+ (log -1) (* -1 (/ (+ 2/3 (* 2/5 (/ 1 (pow eps 2)))) (pow eps 3)))) (* 2 (/ 1 eps)))
(-.f64 (/.f64 #s(literal -2 binary64) eps) (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 2/5 binary64) (*.f64 eps eps)) #s(literal -2/3 binary64)) (pow.f64 eps #s(literal 3 binary64))) (log.f64 #s(literal -1 binary64))))
(* -2/5 (pow eps 3))
(*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal -2/5 binary64))
(* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
(* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
(* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
(* -2/5 (pow eps 2))
(*.f64 #s(literal -2/5 binary64) (*.f64 eps eps))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(* -2/5 (pow eps 5))
(*.f64 (pow.f64 eps #s(literal 5 binary64)) #s(literal -2/5 binary64))
(* -1 (* (pow eps 5) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(*.f64 (-.f64 #s(literal -2/5 binary64) (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps))) (pow.f64 eps #s(literal 5 binary64)))
(* -1 (* (pow eps 5) (+ 2/5 (+ (* 2/3 (/ 1 (pow eps 2))) (/ 2 (pow eps 4))))))
(*.f64 (-.f64 (-.f64 #s(literal -2/5 binary64) (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps))) (/.f64 #s(literal 2 binary64) (pow.f64 eps #s(literal 4 binary64)))) (pow.f64 eps #s(literal 5 binary64)))
(* -1 (* (pow eps 5) (+ 2/5 (+ (* 2/3 (/ 1 (pow eps 2))) (/ 2 (pow eps 4))))))
(*.f64 (-.f64 (-.f64 #s(literal -2/5 binary64) (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps))) (/.f64 #s(literal 2 binary64) (pow.f64 eps #s(literal 4 binary64)))) (pow.f64 eps #s(literal 5 binary64)))
(log -1)
(log.f64 #s(literal -1 binary64))
(- (log -1) (* 2 (/ 1 eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 #s(literal 2 binary64) eps))
(+ (log -1) (* -1 (/ (+ 2 (* 2/3 (/ 1 (pow eps 2)))) eps)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (-.f64 (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps)) #s(literal -2 binary64)) eps))
(+ (log -1) (* -1 (/ (+ 2 (+ (/ 2/5 (pow eps 4)) (* 2/3 (/ 1 (pow eps 2))))) eps)))
(+.f64 (/.f64 (-.f64 (-.f64 #s(literal -2 binary64) (/.f64 #s(literal 2/3 binary64) (*.f64 eps eps))) (/.f64 #s(literal 2/5 binary64) (pow.f64 eps #s(literal 4 binary64)))) eps) (log.f64 #s(literal -1 binary64)))
(* -2/5 (pow eps 3))
(*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal -2/5 binary64))
(* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
(* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
(* -1 (* (pow eps 3) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
(* -2/5 (pow eps 2))
(*.f64 #s(literal -2/5 binary64) (*.f64 eps eps))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
(* -1 (* (pow eps 2) (+ 2/5 (* 2/3 (/ 1 (pow eps 2))))))
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(* -2 eps)
(*.f64 eps #s(literal -2 binary64))
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)
(pow eps 2)
(*.f64 eps eps)

rewrite257.0ms (4.1%)

Memory
20.0MiB live, 94.5MiB allocated
Rules
8 916×lower-fma.f32
8 912×lower-fma.f64
6 154×lower-*.f32
6 148×lower-*.f64
3 996×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01559
02259
19557
271957
0881253
Stop Event
iter limit
node limit
iter limit
Counts
6 → 248
Calls
Call 1
Inputs
(fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)))
(*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps)
(fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64))
(*.f64 #s(literal -2 binary64) eps)
(*.f64 eps eps)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval96.0ms (1.5%)

Memory
6.9MiB live, 95.0MiB allocated
Compiler

Compiled 9 925 to 1 223 computations (87.7% saved)

prune31.0ms (0.5%)

Memory
-13.2MiB live, 24.8MiB allocated
Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New3450345
Fresh000
Picked011
Done044
Total3455350
Accuracy
100.0%
Counts
350 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)))
100.0%
#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))
99.9%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
99.6%
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
5.4%
#s(literal 0 binary64)
Compiler

Compiled 96 to 56 computations (41.7% saved)

regimes7.0ms (0.1%)

Memory
11.7MiB live, 11.7MiB allocated
Counts
6 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
#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))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #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))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #s(literal -2 binary64) eps)))
Calls

3 calls:

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

Compiled 16 to 12 computations (25% saved)

regimes30.0ms (0.5%)

Memory
-27.9MiB live, 11.7MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
#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))
Outputs
#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))
Calls

3 calls:

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

Compiled 16 to 12 computations (25% saved)

regimes5.0ms (0.1%)

Memory
9.7MiB live, 9.7MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 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
99.9%1eps
99.9%1(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
99.9%1(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
Compiler

Compiled 16 to 12 computations (25% saved)

regimes4.0ms (0.1%)

Memory
8.7MiB live, 8.7MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
Outputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
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
99.6%1eps
99.6%1(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
99.6%1(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
Compiler

Compiled 16 to 12 computations (25% saved)

regimes4.0ms (0.1%)

Memory
7.0MiB live, 7.0MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
Outputs
#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.4%1eps
5.4%1(log.f64 (/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps)))
5.4%1(/.f64 (-.f64 #s(literal 1 binary64) eps) (+.f64 #s(literal 1 binary64) eps))
Compiler

Compiled 16 to 12 computations (25% saved)

simplify50.0ms (0.8%)

Memory
-17.7MiB live, 30.5MiB allocated
Algorithm
egg-herbie
Rules
*-commutative-binary64-*.f64
1-exp-binary32-exp.f32
1-exp-binary64-exp.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02476
13076
Stop Event
saturated
Calls
Call 1
Inputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #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 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
#s(literal 0 binary64)
Outputs
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (fma.f64 (*.f64 (fma.f64 #s(literal -2/5 binary64) (*.f64 eps eps) #s(literal -2/3 binary64)) eps) (*.f64 eps eps) (*.f64 #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 (*.f64 eps eps) #s(literal -2/3 binary64) #s(literal -2 binary64)) eps))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 eps #s(literal -2 binary64)))
#s(approx (log (/ (- 1 eps) (+ 1 eps))) (*.f64 #s(literal -2 binary64) eps))
#s(literal 0 binary64)

soundness646.0ms (10.3%)

Memory
-12.0MiB live, 343.8MiB allocated
Rules
8 508×lower-fma.f64
8 508×lower-fma.f32
7 548×lower-fma.f32
7 542×lower-fma.f64
5 400×lower-*.f32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0621
01021
14421
232821
345598
0100968
089295
1220282
2488274
31298270
42829270
56030270
08583258
019101
029101
1117101
2819101
0851995
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 95 to 52 computations (45.3% saved)

preprocess48.0ms (0.8%)

Memory
24.8MiB live, 103.1MiB allocated
Compiler

Compiled 116 to 58 computations (50% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...