ln(1 + x)

Time bar (total: 5.7s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze1.0ms (0%)

Memory
2.4MiB live, 2.4MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
50%50%50%0%0%0%0%2
66.7%50%25%0%0%25%0%3
83.3%62.5%12.5%0%0%25%0%4
91.7%68.7%6.2%0%0%25%0%5
95.8%71.8%3.1%0%0%25%0%6
97.9%73.4%1.6%0%0%25%0%7
99%74.2%0.8%0%0%25%0%8
99.5%74.6%0.4%0%0%25%0%9
99.7%74.8%0.2%0%0%25%0%10
99.9%74.9%0.1%0%0%25%0%11
99.9%74.9%0%0%0%25%0%12
Compiler

Compiled 6 to 4 computations (33.3% saved)

sample399.0ms (6.9%)

Memory
28.4MiB live, 476.9MiB allocated
Samples
225.0ms8 256×0valid
0.0ms0invalid
Precisions
Click to see histograms. Total time spent on operations: 91.0ms
ival-log1p: 84.0ms (91.8% of total)
ival-true: 5.0ms (5.5% of total)
ival-assert: 3.0ms (3.3% of total)
Bogosity

explain50.0ms (0.9%)

Memory
-11.5MiB live, 63.6MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1740-0-(log.f64 (+.f64 #s(literal 1 binary64) x))
00-0-(+.f64 #s(literal 1 binary64) x)
00-0-#s(literal 1 binary64)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f64(log.f64 (+.f64 #s(literal 1 binary64) x))sensitivity1740
Confusion
Predicted +Predicted -
+1740
-082
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+17400
-0082
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
082
1174
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
20.0ms512×0valid
Compiler

Compiled 35 to 20 computations (42.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-log1p: 6.0ms (59.1% of total)
ival-add: 3.0ms (29.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess12.0ms (0.2%)

Memory
17.1MiB live, 17.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
1159
2229
3309
4409
5539
6669
7699
044
064
194
092
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
Outputs
(log1p.f64 x)
Compiler

Compiled 4 to 4 computations (0% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
37.0%
(log.f64 (+.f64 #s(literal 1 binary64) x))
Compiler

Compiled 4 to 4 computations (0% saved)

simplify3.0ms (0%)

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

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 #s(literal 1 binary64) x)
cost-diff192
(log.f64 (+.f64 #s(literal 1 binary64) x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049
069
199
097
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
Outputs
(log1p.f64 x)
(+.f64 x #s(literal 1 binary64))
#s(literal 1 binary64)
x

localize16.0ms (0.3%)

Memory
-18.9MiB live, 18.6MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 #s(literal 1 binary64) x)
accuracy40.302546049487376
(log.f64 (+.f64 #s(literal 1 binary64) x))
Samples
12.0ms256×0valid
Compiler

Compiled 20 to 10 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-log1p: 2.0ms (49.3% of total)
ival-add: 1.0ms (24.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0%)

Memory
2.7MiB live, 2.7MiB allocated
Counts
2 → 24
Calls
Call 1
Inputs
#s(alt #<batchref> (patch (log.f64 (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log.f64 (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log.f64 (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
((log (+ 1 x)) (+ 1 x))
0.0ms
x
@-inf
((log (+ 1 x)) (+ 1 x))
0.0ms
x
@0
((log (+ 1 x)) (+ 1 x))

simplify304.0ms (5.3%)

Memory
19.1MiB live, 136.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
062169
1171155
2363150
3979148
42422144
54452144
65392144
76689144
87472144
97620144
107664144
117666144
127666144
137909144
08006138
Stop Event
iter limit
node limit
Counts
24 → 21
Calls
Call 1
Inputs
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
1
(+ 1 x)
(+ 1 x)
(+ 1 x)
(* -1 (log (/ 1 x)))
(+ (* -1 (log (/ 1 x))) (/ 1 x))
(- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))
(- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
Outputs
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) x)
(+.f64 #s(literal 1 binary64) x)
(+.f64 #s(literal 1 binary64) x)
(log.f64 x)
(-.f64 (log.f64 x) (/.f64 #s(literal -1 binary64) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
x
(+.f64 #s(literal 1 binary64) x)
(+.f64 #s(literal 1 binary64) x)
(+.f64 #s(literal 1 binary64) x)
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
x
(+.f64 #s(literal 1 binary64) x)
(+.f64 #s(literal 1 binary64) x)
(+.f64 #s(literal 1 binary64) x)

rewrite200.0ms (3.5%)

Memory
-1.7MiB live, 155.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047
067
1227
21317
39847
086205
Stop Event
iter limit
node limit
iter limit
Counts
2 → 344
Calls
Call 1
Inputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval85.0ms (1.5%)

Memory
-16.7MiB live, 99.3MiB allocated
Compiler

Compiled 9 173 to 1 133 computations (87.6% saved)

prune6.0ms (0.1%)

Memory
22.5MiB live, 22.5MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New3614365
Fresh000
Picked101
Done000
Total3624366
Accuracy
100.0%
Counts
366 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(log1p.f64 x)
68.1%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
68.9%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
67.7%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
Compiler

Compiled 44 to 35 computations (20.5% saved)

simplify29.0ms (0.5%)

Memory
-26.1MiB live, 12.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(log1p.f64 x)
cost-diff0
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
cost-diff0
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
cost-diff0
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
cost-diff0
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
cost-diff0
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
cost-diff0
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
cost-diff0
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
cost-diff0
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
cost-diff0
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
cost-diff0
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
cost-diff0
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020114
035114
153114
291114
3198114
4427114
5691114
6754114
0754114
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
#s(literal -1/2 binary64)
x
#s(literal 1 binary64)
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
#s(literal 1/3 binary64)
x
#s(literal -1/2 binary64)
#s(literal 1 binary64)
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
#s(literal -1/4 binary64)
x
#s(literal 1/3 binary64)
#s(literal -1/2 binary64)
#s(literal 1 binary64)
(log1p.f64 x)
x
Outputs
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
#s(literal -1/2 binary64)
x
#s(literal 1 binary64)
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
#s(literal 1/3 binary64)
x
#s(literal -1/2 binary64)
#s(literal 1 binary64)
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
#s(literal -1/4 binary64)
x
#s(literal 1/3 binary64)
#s(literal -1/2 binary64)
#s(literal 1 binary64)
(log1p.f64 x)
x

localize56.0ms (1%)

Memory
35.8MiB live, 73.1MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0
(log1p.f64 x)
accuracy0.01171875
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
accuracy0.0234375
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
accuracy0.02734375
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
accuracy20.425134168643872
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
accuracy0.0234375
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
accuracy0.078125
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
accuracy0.13671875
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
accuracy19.894311290767863
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
accuracy0
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
accuracy0.0078125
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
accuracy20.66246092945047
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
Samples
39.0ms256×0valid
Compiler

Compiled 230 to 44 computations (80.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
ival-mult: 13.0ms (48.3% of total)
ival-add: 7.0ms (26% of total)
const: 4.0ms (14.9% of total)
ival-log1p: 3.0ms (11.2% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series20.0ms (0.3%)

Memory
-23.9MiB live, 21.0MiB allocated
Counts
13 → 156
Calls
Call 1
Inputs
#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (log1p.f64 x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log1p.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log1p.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log1p.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (log1p.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log1p.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log1p.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log1p.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (log1p.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log1p.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log1p.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log1p.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (log1p.f64 x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

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

simplify162.0ms (2.8%)

Memory
-18.5MiB live, 181.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01351310
13851238
211791214
340661182
478901182
082911053
Stop Event
iter limit
node limit
Counts
156 → 149
Calls
Call 1
Inputs
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* -1/2 x)))
1
(+ 1 (* -1/2 x))
(+ 1 (* -1/2 x))
(+ 1 (* -1/2 x))
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
1
(+ 1 (* -1/2 x))
(+ 1 (* x (- (* 1/3 x) 1/2)))
(+ 1 (* x (- (* 1/3 x) 1/2)))
-1/2
(- (* 1/3 x) 1/2)
(- (* 1/3 x) 1/2)
(- (* 1/3 x) 1/2)
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
1
(+ 1 (* -1/2 x))
(+ 1 (* x (- (* 1/3 x) 1/2)))
(+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2)))
-1/2
(- (* 1/3 x) 1/2)
(- (* x (+ 1/3 (* -1/4 x))) 1/2)
(- (* x (+ 1/3 (* -1/4 x))) 1/2)
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
1/3
(+ 1/3 (* -1/4 x))
(+ 1/3 (* -1/4 x))
(+ 1/3 (* -1/4 x))
(* -1 (log (/ 1 x)))
(+ (* -1 (log (/ 1 x))) (/ 1 x))
(- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))
(- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))
(* -1/2 (pow x 2))
(* (pow x 2) (- (/ 1 x) 1/2))
(* (pow x 2) (- (/ 1 x) 1/2))
(* (pow x 2) (- (/ 1 x) 1/2))
(* -1/2 x)
(* x (- (/ 1 x) 1/2))
(* x (- (/ 1 x) 1/2))
(* x (- (/ 1 x) 1/2))
(* -1 (log (/ 1 x)))
(+ (* -1 (log (/ 1 x))) (/ 1 x))
(- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))
(- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))
(* 1/3 (pow x 3))
(* (pow x 3) (- 1/3 (* 1/2 (/ 1 x))))
(* (pow x 3) (- (+ 1/3 (/ 1 (pow x 2))) (* 1/2 (/ 1 x))))
(* (pow x 3) (- (+ 1/3 (/ 1 (pow x 2))) (* 1/2 (/ 1 x))))
(* 1/3 (pow x 2))
(* (pow x 2) (- 1/3 (* 1/2 (/ 1 x))))
(* (pow x 2) (- (+ 1/3 (/ 1 (pow x 2))) (* 1/2 (/ 1 x))))
(* (pow x 2) (- (+ 1/3 (/ 1 (pow x 2))) (* 1/2 (/ 1 x))))
(* 1/3 x)
(* x (- 1/3 (* 1/2 (/ 1 x))))
(* x (- 1/3 (* 1/2 (/ 1 x))))
(* x (- 1/3 (* 1/2 (/ 1 x))))
(* -1 (log (/ 1 x)))
(+ (* -1 (log (/ 1 x))) (/ 1 x))
(- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))
(- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))
(* -1/4 (pow x 4))
(* (pow x 4) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 4) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))
(* (pow x 4) (- (+ (* 1/3 (/ 1 x)) (/ 1 (pow x 3))) (+ 1/4 (/ 1/2 (pow x 2)))))
(* -1/4 (pow x 3))
(* (pow x 3) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 3) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))
(* (pow x 3) (- (+ (* 1/3 (/ 1 x)) (/ 1 (pow x 3))) (+ 1/4 (/ 1/2 (pow x 2)))))
(* -1/4 (pow x 2))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 2) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))
(* (pow x 2) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))
(* -1 (log (/ 1 x)))
(+ (* -1 (log (/ 1 x))) (/ 1 x))
(- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))
(- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))
(* -1/4 x)
(* x (- (* 1/3 (/ 1 x)) 1/4))
(* x (- (* 1/3 (/ 1 x)) 1/4))
(* x (- (* 1/3 (/ 1 x)) 1/4))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))
(* -1/2 (pow x 2))
(* (pow x 2) (- (/ 1 x) 1/2))
(* (pow x 2) (- (/ 1 x) 1/2))
(* (pow x 2) (- (/ 1 x) 1/2))
(* -1/2 x)
(* -1 (* x (- 1/2 (/ 1 x))))
(* -1 (* x (- 1/2 (/ 1 x))))
(* -1 (* x (- 1/2 (/ 1 x))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))
(* 1/3 (pow x 3))
(* -1 (* (pow x 3) (- (* 1/2 (/ 1 x)) 1/3)))
(* -1 (* (pow x 3) (- (* -1 (/ (- (/ 1 x) 1/2) x)) 1/3)))
(* -1 (* (pow x 3) (- (* -1 (/ (- (/ 1 x) 1/2) x)) 1/3)))
(* 1/3 (pow x 2))
(* (pow x 2) (- 1/3 (* 1/2 (/ 1 x))))
(* (pow x 2) (+ 1/3 (* -1 (/ (- 1/2 (/ 1 x)) x))))
(* (pow x 2) (+ 1/3 (* -1 (/ (- 1/2 (/ 1 x)) x))))
(* 1/3 x)
(* -1 (* x (- (* 1/2 (/ 1 x)) 1/3)))
(* -1 (* x (- (* 1/2 (/ 1 x)) 1/3)))
(* -1 (* x (- (* 1/2 (/ 1 x)) 1/3)))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))
(* -1/4 (pow x 4))
(* (pow x 4) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 4) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/3) x)) 1/4))
(* (pow x 4) (- (* -1 (/ (- (* -1 (/ (- (/ 1 x) 1/2) x)) 1/3) x)) 1/4))
(* -1/4 (pow x 3))
(* -1 (* (pow x 3) (- 1/4 (* 1/3 (/ 1 x)))))
(* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (- 1/3 (* 1/2 (/ 1 x))) x)))))
(* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (+ 1/3 (* -1 (/ (- 1/2 (/ 1 x)) x))) x)))))
(* -1/4 (pow x 2))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 2) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/3) x)) 1/4))
(* (pow x 2) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/3) x)) 1/4))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))
(* -1/4 x)
(* -1 (* x (- 1/4 (* 1/3 (/ 1 x)))))
(* -1 (* x (- 1/4 (* 1/3 (/ 1 x)))))
(* -1 (* x (- 1/4 (* 1/3 (/ 1 x)))))
Outputs
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) (*.f64 x x) x)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
#s(literal 1 binary64)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) (*.f64 x x) x)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) (*.f64 x x) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) (*.f64 x x) x)
#s(literal 1 binary64)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
#s(literal -1/2 binary64)
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) (*.f64 x x) x)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) (*.f64 x x) x)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
#s(literal 1 binary64)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
#s(literal -1/2 binary64)
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) (*.f64 x x) x)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
#s(literal 1/3 binary64)
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
(log.f64 x)
(-.f64 (log.f64 x) (/.f64 #s(literal -1 binary64) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 (*.f64 x x) #s(literal -1/2 binary64))
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 #s(literal -1/2 binary64) x)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(log.f64 x)
(-.f64 (log.f64 x) (/.f64 #s(literal -1 binary64) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/3 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) (*.f64 x x) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) (*.f64 x x) x)
(*.f64 (*.f64 x x) #s(literal 1/3 binary64))
(*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(*.f64 #s(literal 1/3 binary64) x)
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
(log.f64 x)
(-.f64 (log.f64 x) (/.f64 #s(literal -1 binary64) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/4 binary64))
(*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 (-.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) x)) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(*.f64 (*.f64 x x) #s(literal -1/4 binary64))
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
(log.f64 x)
(-.f64 (log.f64 x) (/.f64 #s(literal -1 binary64) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 #s(literal -1/4 binary64) x)
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 (*.f64 x x) #s(literal -1/2 binary64))
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 #s(literal -1/2 binary64) x)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/3 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) (*.f64 x x) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) (*.f64 x x) x)
(*.f64 (*.f64 x x) #s(literal 1/3 binary64))
(*.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(*.f64 #s(literal 1/3 binary64) x)
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/4 binary64))
(*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 (-.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) x)) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(*.f64 (*.f64 x x) #s(literal -1/4 binary64))
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 #s(literal -1/4 binary64) x)
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))

rewrite437.0ms (7.6%)

Memory
22.6MiB live, 218.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020101
035101
1134101
2982101
08466101
Stop Event
iter limit
node limit
iter limit
Counts
13 → 455
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64))
(log1p.f64 x)
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval205.0ms (3.6%)

Memory
-1.5MiB live, 152.0MiB allocated
Compiler

Compiled 16 199 to 2 242 computations (86.2% saved)

prune171.0ms (3%)

Memory
4.5MiB live, 43.7MiB allocated
Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New6013604
Fresh000
Picked134
Done000
Total6026608
Accuracy
100.0%
Counts
608 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(log1p.f64 x)
67.7%
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x))
68.1%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
68.9%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
68.1%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
68.9%
#s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x))
Compiler

Compiled 95 to 72 computations (24.2% saved)

simplify232.0ms (4%)

Memory
-11.5MiB live, 230.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)
cost-diff0
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x))
cost-diff0
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
cost-diff0
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
cost-diff128
(neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)))
cost-diff320
(fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x))
cost-diff0
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64))
cost-diff0
(*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)
cost-diff0
#s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032201
048201
182198
2153195
3411195
41399193
52799193
65281193
77308193
08028175
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x))
(*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64))
#s(literal 1 binary64)
x
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
(*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)
(fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x))
(neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)))
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
#s(literal 1/4 binary64)
(*.f64 x x)
x
#s(literal -1 binary64)
(/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
#s(literal 1 binary64)
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
#s(literal 1/2 binary64)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
#s(literal -1/4 binary64)
#s(literal 1/3 binary64)
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x))
(fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)
(*.f64 x x)
x
#s(literal -1/2 binary64)
Outputs
#s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x))
(*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64))
#s(literal 1 binary64)
x
#s(approx (log (+ 1 x)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) (/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) (/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x (/.f64 (fma.f64 (*.f64 x x) #s(literal -1/4 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))))
(fma.f64 (*.f64 x x) #s(literal -1/4 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
#s(literal 1/4 binary64)
(*.f64 x x)
x
#s(literal -1 binary64)
(/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
#s(literal 1 binary64)
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
#s(literal 1/2 binary64)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
#s(literal -1/4 binary64)
#s(literal 1/3 binary64)
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x))
(fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)
(*.f64 x x)
x
#s(literal -1/2 binary64)

localize262.0ms (4.6%)

Memory
-2.2MiB live, 156.6MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)
accuracy0
(*.f64 x x)
accuracy20.66246092945047
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x))
accuracy0.125
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
accuracy0.19957004372720114
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
accuracy0.28515625
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
accuracy20.425134168643872
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
accuracy0.02734375
(*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)
accuracy20.425134168643872
#s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x))
accuracy20.865571497592608
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64))
Samples
242.0ms256×0valid
Compiler

Compiled 372 to 67 computations (82% saved)

Precisions
Click to see histograms. Total time spent on operations: 182.0ms
ival-mult: 164.0ms (90.1% of total)
ival-add: 8.0ms (4.4% of total)
const: 4.0ms (2.2% of total)
ival-log1p: 3.0ms (1.6% of total)
ival-div: 2.0ms (1.1% of total)
exact: 1.0ms (0.5% of total)
ival-neg: 1.0ms (0.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series14.0ms (0.2%)

Memory
9.9MiB live, 47.8MiB allocated
Counts
12 → 144
Calls
Call 1
Inputs
#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x) #<representation binary64>) () ())) ())
Calls

3 calls:

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

simplify281.0ms (4.9%)

Memory
24.8MiB live, 145.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01201237
13421168
29641156
330491118
468311118
081211021
Stop Event
iter limit
node limit
Counts
144 → 139
Calls
Call 1
Inputs
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
1
(+ 1 (* -1/2 x))
(+ 1 (* x (- (* 1/3 x) 1/2)))
(+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2)))
1
(+ 1 (* -1/2 x))
(+ 1 (* x (- (* 1/3 x) 1/2)))
(+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2)))
1
(+ 1 (* -1/4 (pow x 2)))
(+ 1 (* -1/4 (pow x 2)))
(+ 1 (* -1/4 (pow x 2)))
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
-1
(- (* 1/4 (pow x 2)) 1)
(- (* 1/4 (pow x 2)) 1)
(- (* 1/4 (pow x 2)) 1)
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* -1/2 x)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 1/3 x)
(* x (+ 1/3 (* -1/4 x)))
(* x (+ 1/3 (* -1/4 x)))
(* x (+ 1/3 (* -1/4 x)))
(* 1/3 (pow x 2))
(* (pow x 2) (+ 1/3 (* -1/4 x)))
(* (pow x 2) (+ 1/3 (* -1/4 x)))
(* (pow x 2) (+ 1/3 (* -1/4 x)))
(* -1 (log (/ 1 x)))
(+ (* -1 (log (/ 1 x))) (/ 1 x))
(- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))
(- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))
(* -1/4 (pow x 4))
(* (pow x 4) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 4) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))
(* (pow x 4) (- (+ (* 1/3 (/ 1 x)) (/ 1 (pow x 3))) (+ 1/4 (/ 1/2 (pow x 2)))))
(* -1/4 (pow x 3))
(* (pow x 3) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 3) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))
(* (pow x 3) (- (+ (* 1/3 (/ 1 x)) (/ 1 (pow x 3))) (+ 1/4 (/ 1/2 (pow x 2)))))
(* -1/4 (pow x 3))
(* (pow x 3) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 3) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))
(* (pow x 3) (- (+ (* 1/3 (/ 1 x)) (/ 1 (pow x 3))) (+ 1/4 (/ 1/2 (pow x 2)))))
(* -1/4 (pow x 2))
(* (pow x 2) (- (/ 1 (pow x 2)) 1/4))
(* (pow x 2) (- (/ 1 (pow x 2)) 1/4))
(* (pow x 2) (- (/ 1 (pow x 2)) 1/4))
(* -1 (log (/ 1 x)))
(+ (* -1 (log (/ 1 x))) (/ 1 x))
(- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))
(- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))
(* 1/4 (pow x 2))
(* (pow x 2) (- 1/4 (/ 1 (pow x 2))))
(* (pow x 2) (- 1/4 (/ 1 (pow x 2))))
(* (pow x 2) (- 1/4 (/ 1 (pow x 2))))
(* -1 (log (/ 1 x)))
(+ (* -1 (log (/ 1 x))) (/ 1 x))
(- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))
(- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))
(* -1/2 (pow x 2))
(* (pow x 2) (- (/ 1 x) 1/2))
(* (pow x 2) (- (/ 1 x) 1/2))
(* (pow x 2) (- (/ 1 x) 1/2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -1/4 (pow x 2))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* -1/4 (pow x 3))
(* (pow x 3) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 3) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 3) (- (* 1/3 (/ 1 x)) 1/4))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))
(* -1/4 (pow x 4))
(* (pow x 4) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 4) (- (* -1 (/ (- (* 1/2 (/ 1 x)) 1/3) x)) 1/4))
(* (pow x 4) (- (* -1 (/ (- (* -1 (/ (- (/ 1 x) 1/2) x)) 1/3) x)) 1/4))
(* -1/4 (pow x 3))
(* -1 (* (pow x 3) (- 1/4 (* 1/3 (/ 1 x)))))
(* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (- 1/3 (* 1/2 (/ 1 x))) x)))))
(* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (+ 1/3 (* -1 (/ (- 1/2 (/ 1 x)) x))) x)))))
(* -1/4 (pow x 3))
(* -1 (* (pow x 3) (- 1/4 (* 1/3 (/ 1 x)))))
(* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (- 1/3 (* 1/2 (/ 1 x))) x)))))
(* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (+ 1/3 (* -1 (/ (- 1/2 (/ 1 x)) x))) x)))))
(* -1/4 (pow x 2))
(* (pow x 2) (- (/ 1 (pow x 2)) 1/4))
(* (pow x 2) (- (/ 1 (pow x 2)) 1/4))
(* (pow x 2) (- (/ 1 (pow x 2)) 1/4))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))
(* 1/4 (pow x 2))
(* (pow x 2) (- 1/4 (/ 1 (pow x 2))))
(* (pow x 2) (- 1/4 (/ 1 (pow x 2))))
(* (pow x 2) (- 1/4 (/ 1 (pow x 2))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))
(* -1/2 (pow x 2))
(* (pow x 2) (- (/ 1 x) 1/2))
(* (pow x 2) (- (/ 1 x) 1/2))
(* (pow x 2) (- (/ 1 x) 1/2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -1/4 (pow x 2))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* -1/4 (pow x 3))
(* -1 (* (pow x 3) (- 1/4 (* 1/3 (/ 1 x)))))
(* -1 (* (pow x 3) (- 1/4 (* 1/3 (/ 1 x)))))
(* -1 (* (pow x 3) (- 1/4 (* 1/3 (/ 1 x)))))
Outputs
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
#s(literal 1 binary64)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
#s(literal 1 binary64)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
#s(literal 1 binary64)
(fma.f64 (*.f64 x x) #s(literal -1/4 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 x x) #s(literal -1/4 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 x x) #s(literal -1/4 binary64) #s(literal 1 binary64))
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
#s(literal -1 binary64)
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 #s(literal 1/3 binary64) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (*.f64 #s(literal 1/3 binary64) x) x)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(log.f64 x)
(-.f64 (log.f64 x) (/.f64 #s(literal -1 binary64) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/4 binary64))
(*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (-.f64 (/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1/2 binary64)) x) #s(literal -1/3 binary64)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x))) (*.f64 x x))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x))) (*.f64 x x) #s(literal 1 binary64))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x))) (*.f64 x x))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x))) (*.f64 x x) #s(literal 1 binary64))
(*.f64 (*.f64 x x) #s(literal -1/4 binary64))
(fma.f64 (*.f64 x x) #s(literal -1/4 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 x x) #s(literal -1/4 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 x x) #s(literal -1/4 binary64) #s(literal 1 binary64))
(log.f64 x)
(-.f64 (log.f64 x) (/.f64 #s(literal -1 binary64) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 #s(literal 1/4 binary64) (*.f64 x x))
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
(log.f64 x)
(-.f64 (log.f64 x) (/.f64 #s(literal -1 binary64) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 (*.f64 x x) #s(literal -1/2 binary64))
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 (*.f64 x x) #s(literal -1/4 binary64))
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/4 binary64))
(*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (-.f64 (/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1/2 binary64)) x) #s(literal -1/3 binary64)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x))) (*.f64 x x))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x))) (*.f64 x x) #s(literal 1 binary64))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x))) (*.f64 x x))
(fma.f64 (fma.f64 #s(literal -1/4 binary64) x (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x))) (*.f64 x x) #s(literal 1 binary64))
(*.f64 (*.f64 x x) #s(literal -1/4 binary64))
(fma.f64 (*.f64 x x) #s(literal -1/4 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 x x) #s(literal -1/4 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 x x) #s(literal -1/4 binary64) #s(literal 1 binary64))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 #s(literal 1/4 binary64) (*.f64 x x))
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 (*.f64 x x) #s(literal -1/2 binary64))
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 (*.f64 x x) #s(literal -1/4 binary64))
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)

rewrite290.0ms (5%)

Memory
1.7MiB live, 160.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032149
048147
1185133
21395133
08610118
Stop Event
iter limit
node limit
iter limit
Counts
12 → 338
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x))
(*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x)
#s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64))
(fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x))
(neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64)))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x))
(fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x)
(*.f64 x x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval145.0ms (2.5%)

Memory
-37.2MiB live, 204.1MiB allocated
Compiler

Compiled 17 585 to 1 955 computations (88.9% saved)

prune15.0ms (0.3%)

Memory
6.2MiB live, 53.4MiB allocated
Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New4961497
Fresh000
Picked123
Done033
Total4976503
Accuracy
100.0%
Counts
503 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(log1p.f64 x)
67.7%
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x))
68.1%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
68.1%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
68.9%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
68.9%
#s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x))
Compiler

Compiled 94 to 71 computations (24.5% saved)

simplify334.0ms (5.8%)

Memory
26.1MiB live, 238.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
cost-diff0
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
cost-diff320
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
019116
032116
151116
281116
3203116
4580111
51172111
62221111
74582111
86633111
97362111
107543111
117544111
127544111
137612111
147612111
157612111
08181104
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
(*.f64 (fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x)
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x))
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
(*.f64 x x)
x
#s(literal 1/4 binary64)
#s(literal -1 binary64)
(/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
#s(literal 1/2 binary64)
#s(literal 1 binary64)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
#s(literal -1/4 binary64)
#s(literal 1/3 binary64)
Outputs
#s(approx (log (+ 1 x)) (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) (/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) (/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x (/.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) x) x #s(literal 1 binary64)) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))))
(fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))
(*.f64 x x)
x
#s(literal 1/4 binary64)
#s(literal -1 binary64)
(/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
#s(literal 1/2 binary64)
#s(literal 1 binary64)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64))
#s(literal -1/4 binary64)
#s(literal 1/3 binary64)

localize138.0ms (2.4%)

Memory
-1.9MiB live, 119.0MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.125
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
accuracy0.19957004372720114
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
accuracy0.28515625
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
accuracy20.425134168643872
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
Samples
74.0ms256×0valid
Compiler

Compiled 224 to 43 computations (80.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 64.0ms
ival-mult: 50.0ms (78.3% of total)
ival-add: 5.0ms (7.8% of total)
const: 4.0ms (6.3% of total)
ival-log1p: 3.0ms (4.7% of total)
ival-div: 2.0ms (3.1% of total)
exact: 1.0ms (1.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series6.0ms (0.1%)

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

3 calls:

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

simplify219.0ms (3.8%)

Memory
-58.0MiB live, 144.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
096561
1283538
2798534
32558520
46979520
08062491
Stop Event
iter limit
node limit
Counts
72 → 71
Calls
Call 1
Inputs
1
(+ 1 (* -1/2 x))
(+ 1 (* x (- (* 1/3 x) 1/2)))
(+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2)))
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
-1
(- (* 1/4 (pow x 2)) 1)
(- (* 1/4 (pow x 2)) 1)
(- (* 1/4 (pow x 2)) 1)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 1/3 x)
(* x (+ 1/3 (* -1/4 x)))
(* x (+ 1/3 (* -1/4 x)))
(* x (+ 1/3 (* -1/4 x)))
(* 1/3 (pow x 2))
(* (pow x 2) (+ 1/3 (* -1/4 x)))
(* (pow x 2) (+ 1/3 (* -1/4 x)))
(* (pow x 2) (+ 1/3 (* -1/4 x)))
(* -1/4 (pow x 3))
(* (pow x 3) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 3) (- (* 1/3 (/ 1 x)) (+ 1/4 (/ 1/2 (pow x 2)))))
(* (pow x 3) (- (+ (* 1/3 (/ 1 x)) (/ 1 (pow x 3))) (+ 1/4 (/ 1/2 (pow x 2)))))
(* -1 (log (/ 1 x)))
(+ (* -1 (log (/ 1 x))) (/ 1 x))
(- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))
(- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))
(* 1/4 (pow x 2))
(* (pow x 2) (- 1/4 (/ 1 (pow x 2))))
(* (pow x 2) (- 1/4 (/ 1 (pow x 2))))
(* (pow x 2) (- 1/4 (/ 1 (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -1/4 (pow x 2))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* -1/4 (pow x 3))
(* (pow x 3) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 3) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 3) (- (* 1/3 (/ 1 x)) 1/4))
(* -1/4 (pow x 3))
(* -1 (* (pow x 3) (- 1/4 (* 1/3 (/ 1 x)))))
(* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (- 1/3 (* 1/2 (/ 1 x))) x)))))
(* -1 (* (pow x 3) (+ 1/4 (* -1 (/ (+ 1/3 (* -1 (/ (- 1/2 (/ 1 x)) x))) x)))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))
(* 1/4 (pow x 2))
(* (pow x 2) (- 1/4 (/ 1 (pow x 2))))
(* (pow x 2) (- 1/4 (/ 1 (pow x 2))))
(* (pow x 2) (- 1/4 (/ 1 (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -1/4 (pow x 2))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* (pow x 2) (- (* 1/3 (/ 1 x)) 1/4))
(* -1/4 (pow x 3))
(* -1 (* (pow x 3) (- 1/4 (* 1/3 (/ 1 x)))))
(* -1 (* (pow x 3) (- 1/4 (* 1/3 (/ 1 x)))))
(* -1 (* (pow x 3) (- 1/4 (* 1/3 (/ 1 x)))))
Outputs
#s(literal 1 binary64)
(fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64))
x
(*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x)
#s(literal -1 binary64)
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 #s(literal 1/3 binary64) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (*.f64 x x) #s(literal 1/3 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64))
(*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3 binary64)))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3 binary64)))
(fma.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64))
(log.f64 x)
(-.f64 (log.f64 x) (/.f64 #s(literal -1 binary64) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (log.f64 x) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 (*.f64 x x) #s(literal 1/4 binary64))
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 (*.f64 x x) #s(literal -1/4 binary64))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) x) x)
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) x) x)
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) x) x)
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64))
(*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3 binary64)))
(*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3 binary64)))
(*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64))
(*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3 binary64)))
(*.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3 binary64)))
(fma.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)) x))
(-.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) (/.f64 (-.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x)) x))
(*.f64 (*.f64 x x) #s(literal 1/4 binary64))
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 x x)
(*.f64 (*.f64 x x) #s(literal -1/4 binary64))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) x) x)
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) x) x)
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) x) x)
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/4 binary64))
(*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3 binary64)))
(*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3 binary64)))
(*.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3 binary64)))

rewrite348.0ms (6.1%)

Memory
1.2MiB live, 282.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01972
03272
112072
292758
0902452
Stop Event
iter limit
node limit
iter limit
Counts
6 → 425
Calls
Call 1
Inputs
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
(fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))
(*.f64 x x)
(*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x)
(*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)
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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval221.0ms (3.8%)

Memory
5.0MiB live, 199.4MiB allocated
Compiler

Compiled 19 719 to 2 216 computations (88.8% saved)

prune46.0ms (0.8%)

Memory
-12.7MiB live, 27.1MiB allocated
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New4960496
Fresh000
Picked011
Done055
Total4966502
Accuracy
100.0%
Counts
502 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(log1p.f64 x)
67.7%
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x))
68.1%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
68.1%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
68.9%
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
68.9%
#s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x))
Compiler

Compiled 232 to 126 computations (45.7% saved)

regimes9.0ms (0.2%)

Memory
8.4MiB live, 8.4MiB allocated
Counts
9 → 1
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
(log1p.f64 x)
(log.f64 (+.f64 #s(literal 1 binary64) x))
Outputs
(log1p.f64 x)
Calls

3 calls:

3.0ms
x
3.0ms
(log.f64 (+.f64 #s(literal 1 binary64) x))
3.0ms
(+.f64 #s(literal 1 binary64) x)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(log.f64 (+.f64 #s(literal 1 binary64) x))
100.0%1(+.f64 #s(literal 1 binary64) x)
Compiler

Compiled 8 to 8 computations (0% saved)

regimes8.0ms (0.1%)

Memory
7.7MiB live, 7.7MiB allocated
Accuracy

Total -1.0b remaining (-5%)

Threshold costs -1b (-5%)

Counts
7 → 1
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x #s(literal -1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
#s(approx (log (+ 1 x)) (*.f64 (fma.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal -1/4 binary64) x #s(literal 1/3 binary64)) x) x)) x))
Outputs
#s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x))
Calls

3 calls:

3.0ms
x
2.0ms
(+.f64 #s(literal 1 binary64) x)
2.0ms
(log.f64 (+.f64 #s(literal 1 binary64) x))
Results
AccuracySegmentsBranch
68.9%1x
68.9%1(log.f64 (+.f64 #s(literal 1 binary64) x))
68.9%1(+.f64 #s(literal 1 binary64) x)
Compiler

Compiled 8 to 8 computations (0% saved)

simplify41.0ms (0.7%)

Memory
-9.5MiB live, 27.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01724
12124
Stop Event
saturated
Calls
Call 1
Inputs
(log1p.f64 x)
#s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x))
Outputs
(log1p.f64 x)
#s(approx (log (+ 1 x)) (*.f64 #s(approx (+ (* (+ (* (+ (* -1/4 x) 1/3) x) -1/2) x) 1) #s(literal 1 binary64)) x))

soundness823.0ms (14.3%)

Memory
-1.7MiB live, 319.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01351310
13851238
211791214
340661182
478901182
082911053
047
067
1227
21317
39847
086205
062169
1171155
2363150
3979148
42422144
54452144
65392144
76689144
87472144
97620144
107664144
117666144
127666144
137909144
08006138
Stop Event
done
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 50 to 39 computations (22% saved)

preprocess156.0ms (2.7%)

Memory
18.3MiB live, 96.6MiB allocated
Compiler

Compiled 94 to 62 computations (34% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...