Rust f64::asinh

Time bar (total: 4.4s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
100%100%0%0%0%0%0%1
Compiler

Compiled 4 to 3 computations (25% saved)

sample581.0ms (13.2%)

Results
571.0ms8256×body256valid
Bogosity

preprocess13.0ms (0.3%)

Algorithm
egg-herbie
Rules
sub-neg
fma-def
+-commutative
*-commutative
associate--r+
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0614
11114
21314
31514
42014
52414
62914
Stop Event
saturated
Calls
Call 1
Inputs
(asinh.f64 x)
(asinh.f64 (neg.f64 x))
Outputs
(asinh.f64 x)
(asinh.f64 (neg.f64 x))
Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative
1-exp
hypot-1-def
fma-def
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01233
11827
21927
Stop Event
saturated
Counts
1 → 3
Calls
Call 1
Inputs
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x)
Outputs
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x)
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (fma.f64 x x 1)))) x)
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (hypot.f64 1 x))) x)

eval1.0ms (0%)

Compiler

Compiled 33 to 20 computations (39.4% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New213
Fresh101
Picked000
Done000
Total314
Accurracy
54.7%
Counts
4 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
54.7%
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (hypot.f64 1 x))) x)
54.7%
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (hypot.f64 1 x))) x)
Compiler

Compiled 20 to 14 computations (30% saved)

localize104.0ms (2.3%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (fabs.f64 x) (hypot.f64 1 x))
54.7%
(log.f64 (+.f64 (fabs.f64 x) (hypot.f64 1 x)))
Compiler

Compiled 31 to 18 computations (41.9% saved)

series3.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(log.f64 (+.f64 (fabs.f64 x) (hypot.f64 1 x)))
1.0ms
x
@inf
(log.f64 (+.f64 (fabs.f64 x) (hypot.f64 1 x)))
0.0ms
x
@-inf
(log.f64 (+.f64 (fabs.f64 x) (hypot.f64 1 x)))
0.0ms
x
@-inf
(+.f64 (fabs.f64 x) (hypot.f64 1 x))
0.0ms
x
@inf
(+.f64 (fabs.f64 x) (hypot.f64 1 x))

rewrite61.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
1644×pow1
1516×add-exp-log
1516×log1p-expm1-u
1516×expm1-log1p-u
1480×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0938
117930
2231430
Stop Event
node limit
Counts
2 → 56
Calls
Call 1
Inputs
(log.f64 (+.f64 (fabs.f64 x) (hypot.f64 1 x)))
(+.f64 (fabs.f64 x) (hypot.f64 1 x))
Outputs
(+.f64 0 (log.f64 (+.f64 x (hypot.f64 1 x))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) 2)) (log.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x)))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 x (hypot.f64 1 x)))) (log.f64 (sqrt.f64 (+.f64 x (hypot.f64 1 x)))))
(-.f64 (log.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3))) (log.f64 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
(-.f64 (log.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x)))) (log.f64 (-.f64 x (hypot.f64 1 x))))
(-.f64 (+.f64 1 (log.f64 (+.f64 x (hypot.f64 1 x)))) 1)
(*.f64 1 (log.f64 (+.f64 x (hypot.f64 1 x))))
(*.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 1)
(*.f64 (cbrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))) (cbrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 2)) (cbrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(*.f64 (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))) (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 1)
(pow.f64 (cbrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))) 3)
(pow.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 3) 1/3)
(pow.f64 (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))) 2)
(sqrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 2))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 3))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(exp.f64 (log.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(log1p.f64 (-.f64 (+.f64 x (hypot.f64 1 x)) 1))
(-.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) 1)
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (hypot.f64 1 x))) (/.f64 (+.f64 1 (*.f64 x x)) (-.f64 x (hypot.f64 1 x))))
(*.f64 1 (+.f64 x (hypot.f64 1 x)))
(*.f64 (+.f64 x (hypot.f64 1 x)) 1)
(*.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) 2) (cbrt.f64 (+.f64 x (hypot.f64 1 x))))
(*.f64 (sqrt.f64 (+.f64 x (hypot.f64 1 x))) (sqrt.f64 (+.f64 x (hypot.f64 1 x))))
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (/.f64 1 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
(*.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x))) (/.f64 1 (-.f64 x (hypot.f64 1 x))))
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x))) (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3))))
(/.f64 1 (/.f64 (-.f64 x (hypot.f64 1 x)) (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x)))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (+.f64 (+.f64 1 (*.f64 x x)) (-.f64 (*.f64 x x) (*.f64 x (hypot.f64 1 x)))))
(/.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x))) (-.f64 x (hypot.f64 1 x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3))) (neg.f64 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x)))) (neg.f64 (-.f64 x (hypot.f64 1 x))))
(/.f64 (-.f64 (+.f64 1 (*.f64 x x)) (*.f64 x x)) (-.f64 (hypot.f64 1 x) x))
(pow.f64 (+.f64 x (hypot.f64 1 x)) 1)
(pow.f64 (E.f64) (log.f64 (+.f64 x (hypot.f64 1 x))))
(pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) 3)
(pow.f64 (pow.f64 (+.f64 x (hypot.f64 1 x)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 x (hypot.f64 1 x))) 2)
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 2))) (cbrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x))))) (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(sqrt.f64 (pow.f64 (+.f64 x (hypot.f64 1 x)) 2))
(log.f64 (exp.f64 (+.f64 x (hypot.f64 1 x))))
(cbrt.f64 (pow.f64 (+.f64 x (hypot.f64 1 x)) 3))
(expm1.f64 (log1p.f64 (+.f64 x (hypot.f64 1 x))))
(exp.f64 (log.f64 (+.f64 x (hypot.f64 1 x))))
(log1p.f64 (expm1.f64 (+.f64 x (hypot.f64 1 x))))
(fma.f64 1 x (hypot.f64 1 x))
(fma.f64 1 (hypot.f64 1 x) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (hypot.f64 1 x))
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 1 x)) 2) (cbrt.f64 (hypot.f64 1 x)) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (hypot.f64 1 x))
(fma.f64 (sqrt.f64 (hypot.f64 1 x)) (sqrt.f64 (hypot.f64 1 x)) x)

simplify128.0ms (2.9%)

Algorithm
egg-herbie
Rules
1802×fma-def
1310×fma-neg
744×unswap-sqr
508×distribute-lft-in
496×associate-+r+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02232866
15932444
218822068
377702064
Stop Event
node limit
Counts
80 → 149
Calls
Call 1
Inputs
(log.f64 (+.f64 1 (fabs.f64 x)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x))))
(+.f64 (*.f64 -1/24 (*.f64 (+.f64 (*.f64 3 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))) (pow.f64 x 4))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x)))))
(+.f64 (*.f64 -1/24 (*.f64 (+.f64 (*.f64 3 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))) (pow.f64 x 4))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 45 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (+.f64 (*.f64 30 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 3))) (*.f64 45 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))))) (pow.f64 x 6))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x))))))
(*.f64 -1 (log.f64 (/.f64 1 x)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x)))
(+.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 -3 (fabs.f64 x)) (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x))))
(*.f64 -1 (log.f64 (/.f64 -1 x)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (*.f64 -1 (/.f64 (fabs.f64 x) x)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (*.f64 -1 (/.f64 (fabs.f64 x) x))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (*.f64 -1 (/.f64 (fabs.f64 x) x)) (*.f64 -1/6 (/.f64 (+.f64 (*.f64 2 (pow.f64 (fabs.f64 x) 3)) (*.f64 -3 (fabs.f64 x))) (pow.f64 x 3))))))
(+.f64 1 (fabs.f64 x))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (fabs.f64 x)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (fabs.f64 x))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/16 (pow.f64 x 6)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (fabs.f64 x)))))
x
(+.f64 (fabs.f64 x) x)
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))
(*.f64 -1 x)
(+.f64 (fabs.f64 x) (*.f64 -1 x))
(-.f64 (+.f64 (fabs.f64 x) (*.f64 -1 x)) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (+.f64 (fabs.f64 x) (*.f64 -1 x))) (*.f64 1/2 (/.f64 1 x)))
(+.f64 0 (log.f64 (+.f64 x (hypot.f64 1 x))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) 2)) (log.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x)))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 x (hypot.f64 1 x)))) (log.f64 (sqrt.f64 (+.f64 x (hypot.f64 1 x)))))
(-.f64 (log.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3))) (log.f64 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
(-.f64 (log.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x)))) (log.f64 (-.f64 x (hypot.f64 1 x))))
(-.f64 (+.f64 1 (log.f64 (+.f64 x (hypot.f64 1 x)))) 1)
(*.f64 1 (log.f64 (+.f64 x (hypot.f64 1 x))))
(*.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 1)
(*.f64 (cbrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))) (cbrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 2)) (cbrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(*.f64 (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))) (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 1)
(pow.f64 (cbrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))) 3)
(pow.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 3) 1/3)
(pow.f64 (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))) 2)
(sqrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 2))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 3))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(exp.f64 (log.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(log1p.f64 (-.f64 (+.f64 x (hypot.f64 1 x)) 1))
(-.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) 1)
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (hypot.f64 1 x))) (/.f64 (+.f64 1 (*.f64 x x)) (-.f64 x (hypot.f64 1 x))))
(*.f64 1 (+.f64 x (hypot.f64 1 x)))
(*.f64 (+.f64 x (hypot.f64 1 x)) 1)
(*.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) 2) (cbrt.f64 (+.f64 x (hypot.f64 1 x))))
(*.f64 (sqrt.f64 (+.f64 x (hypot.f64 1 x))) (sqrt.f64 (+.f64 x (hypot.f64 1 x))))
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (/.f64 1 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
(*.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x))) (/.f64 1 (-.f64 x (hypot.f64 1 x))))
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x))) (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3))))
(/.f64 1 (/.f64 (-.f64 x (hypot.f64 1 x)) (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x)))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (+.f64 (+.f64 1 (*.f64 x x)) (-.f64 (*.f64 x x) (*.f64 x (hypot.f64 1 x)))))
(/.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x))) (-.f64 x (hypot.f64 1 x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3))) (neg.f64 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x)))) (neg.f64 (-.f64 x (hypot.f64 1 x))))
(/.f64 (-.f64 (+.f64 1 (*.f64 x x)) (*.f64 x x)) (-.f64 (hypot.f64 1 x) x))
(pow.f64 (+.f64 x (hypot.f64 1 x)) 1)
(pow.f64 (E.f64) (log.f64 (+.f64 x (hypot.f64 1 x))))
(pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) 3)
(pow.f64 (pow.f64 (+.f64 x (hypot.f64 1 x)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 x (hypot.f64 1 x))) 2)
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 2))) (cbrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x))))) (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(sqrt.f64 (pow.f64 (+.f64 x (hypot.f64 1 x)) 2))
(log.f64 (exp.f64 (+.f64 x (hypot.f64 1 x))))
(cbrt.f64 (pow.f64 (+.f64 x (hypot.f64 1 x)) 3))
(expm1.f64 (log1p.f64 (+.f64 x (hypot.f64 1 x))))
(exp.f64 (log.f64 (+.f64 x (hypot.f64 1 x))))
(log1p.f64 (expm1.f64 (+.f64 x (hypot.f64 1 x))))
(fma.f64 1 x (hypot.f64 1 x))
(fma.f64 1 (hypot.f64 1 x) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (hypot.f64 1 x))
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 1 x)) 2) (cbrt.f64 (hypot.f64 1 x)) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (hypot.f64 1 x))
(fma.f64 (sqrt.f64 (hypot.f64 1 x)) (sqrt.f64 (hypot.f64 1 x)) x)
Outputs
(log.f64 (+.f64 1 (fabs.f64 x)))
(log1p.f64 (fabs.f64 x))
(log1p.f64 x)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x))))
(fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 (fabs.f64 x))) (log1p.f64 (fabs.f64 x)))
(fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (log1p.f64 x))
(+.f64 (*.f64 -1/24 (*.f64 (+.f64 (*.f64 3 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))) (pow.f64 x 4))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x)))))
(fma.f64 -1/24 (*.f64 (+.f64 (/.f64 3 (+.f64 1 (fabs.f64 x))) (/.f64 3 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))) (pow.f64 x 4)) (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 (fabs.f64 x))) (log1p.f64 (fabs.f64 x))))
(fma.f64 (pow.f64 x 4) (+.f64 (/.f64 -1/8 (+.f64 1 x)) (/.f64 -1/8 (pow.f64 (+.f64 1 x) 2))) (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (log1p.f64 x)))
(+.f64 (*.f64 -1/24 (*.f64 (+.f64 (*.f64 3 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))) (pow.f64 x 4))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 45 (/.f64 1 (+.f64 1 (fabs.f64 x)))) (+.f64 (*.f64 30 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 3))) (*.f64 45 (/.f64 1 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))))) (pow.f64 x 6))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (+.f64 1 (fabs.f64 x)))) (log.f64 (+.f64 1 (fabs.f64 x))))))
(fma.f64 -1/24 (*.f64 (+.f64 (/.f64 3 (+.f64 1 (fabs.f64 x))) (/.f64 3 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))) (pow.f64 x 4)) (fma.f64 1/720 (*.f64 (+.f64 (/.f64 45 (+.f64 1 (fabs.f64 x))) (+.f64 (/.f64 30 (pow.f64 (+.f64 1 (fabs.f64 x)) 3)) (/.f64 45 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)))) (pow.f64 x 6)) (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 (fabs.f64 x))) (log1p.f64 (fabs.f64 x)))))
(fma.f64 -1/24 (*.f64 (+.f64 (/.f64 3 (+.f64 1 (fabs.f64 x))) (/.f64 3 (pow.f64 (+.f64 1 (fabs.f64 x)) 2))) (pow.f64 x 4)) (fma.f64 1/720 (*.f64 (+.f64 (/.f64 30 (pow.f64 (+.f64 1 (fabs.f64 x)) 3)) (+.f64 (/.f64 45 (pow.f64 (+.f64 1 (fabs.f64 x)) 2)) (/.f64 45 (+.f64 1 (fabs.f64 x))))) (pow.f64 x 6)) (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 (fabs.f64 x))) (log1p.f64 (fabs.f64 x)))))
(fma.f64 (pow.f64 x 4) (+.f64 (/.f64 -1/8 (+.f64 1 x)) (/.f64 -1/8 (pow.f64 (+.f64 1 x) 2))) (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (fma.f64 (pow.f64 x 6) (fma.f64 1/720 (+.f64 (/.f64 45 (+.f64 1 x)) (/.f64 30 (pow.f64 (+.f64 1 x) 3))) (/.f64 1/16 (pow.f64 (+.f64 1 x) 2))) (log1p.f64 x))))
(*.f64 -1 (log.f64 (/.f64 1 x)))
(neg.f64 (neg.f64 (log.f64 x)))
(log.f64 x)
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x))
(fma.f64 -1 (neg.f64 (log.f64 x)) (/.f64 (fabs.f64 x) x))
(+.f64 (log.f64 x) (/.f64 (fabs.f64 x) x))
(+.f64 1 (log.f64 x))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x)))
(fma.f64 1/2 (/.f64 (+.f64 1 (neg.f64 (pow.f64 (fabs.f64 x) 2))) (*.f64 x x)) (fma.f64 -1 (neg.f64 (log.f64 x)) (/.f64 (fabs.f64 x) x)))
(+.f64 (/.f64 (fabs.f64 x) x) (fma.f64 1/2 (/.f64 (-.f64 1 (*.f64 x x)) (*.f64 x x)) (log.f64 x)))
(fma.f64 1/2 (/.f64 (-.f64 1 (*.f64 x x)) (*.f64 x x)) (+.f64 1 (log.f64 x)))
(+.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 -3 (fabs.f64 x)) (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 (fabs.f64 x) x))))
(fma.f64 1/6 (/.f64 (fma.f64 2 (pow.f64 (fabs.f64 x) 3) (*.f64 (fabs.f64 x) -3)) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 (+.f64 1 (neg.f64 (pow.f64 (fabs.f64 x) 2))) (*.f64 x x)) (fma.f64 -1 (neg.f64 (log.f64 x)) (/.f64 (fabs.f64 x) x))))
(fma.f64 1/6 (/.f64 (fma.f64 (fabs.f64 x) -3 (*.f64 2 (pow.f64 (fabs.f64 x) 3))) (pow.f64 x 3)) (+.f64 (/.f64 (fabs.f64 x) x) (fma.f64 1/2 (/.f64 (-.f64 1 (*.f64 x x)) (*.f64 x x)) (log.f64 x))))
(fma.f64 1/2 (/.f64 (-.f64 1 (*.f64 x x)) (*.f64 x x)) (fma.f64 1/6 (/.f64 (fma.f64 2 (pow.f64 x 3) (*.f64 x -3)) (pow.f64 x 3)) (+.f64 1 (log.f64 x))))
(*.f64 -1 (log.f64 (/.f64 -1 x)))
(neg.f64 (log.f64 (/.f64 -1 x)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (*.f64 -1 (/.f64 (fabs.f64 x) x)))
(*.f64 -1 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 (fabs.f64 x) x)))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (/.f64 (fabs.f64 x) x))
(-.f64 -1 (log.f64 (/.f64 -1 x)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (*.f64 -1 (/.f64 (fabs.f64 x) x))))
(fma.f64 1/2 (/.f64 (+.f64 1 (neg.f64 (pow.f64 (fabs.f64 x) 2))) (*.f64 x x)) (*.f64 -1 (+.f64 (log.f64 (/.f64 -1 x)) (/.f64 (fabs.f64 x) x))))
(-.f64 (-.f64 (*.f64 (/.f64 1/2 x) (/.f64 (-.f64 1 (*.f64 x x)) x)) (log.f64 (/.f64 -1 x))) (/.f64 (fabs.f64 x) x))
(-.f64 (fma.f64 (/.f64 1/2 x) (/.f64 (-.f64 1 (*.f64 x x)) x) -1) (log.f64 (/.f64 -1 x)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (*.f64 -1 (pow.f64 (fabs.f64 x) 2))) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (*.f64 -1 (/.f64 (fabs.f64 x) x)) (*.f64 -1/6 (/.f64 (+.f64 (*.f64 2 (pow.f64 (fabs.f64 x) 3)) (*.f64 -3 (fabs.f64 x))) (pow.f64 x 3))))))
(fma.f64 1/2 (/.f64 (+.f64 1 (neg.f64 (pow.f64 (fabs.f64 x) 2))) (*.f64 x x)) (fma.f64 -1 (log.f64 (/.f64 -1 x)) (fma.f64 -1 (/.f64 (fabs.f64 x) x) (*.f64 (/.f64 (fma.f64 2 (pow.f64 (fabs.f64 x) 3) (*.f64 (fabs.f64 x) -3)) (pow.f64 x 3)) -1/6))))
(fma.f64 1/2 (/.f64 (-.f64 1 (*.f64 x x)) (*.f64 x x)) (-.f64 (-.f64 (/.f64 -1/6 (/.f64 (pow.f64 x 3) (fma.f64 (fabs.f64 x) -3 (*.f64 2 (pow.f64 (fabs.f64 x) 3))))) (/.f64 (fabs.f64 x) x)) (log.f64 (/.f64 -1 x))))
(-.f64 (fma.f64 1/2 (/.f64 (-.f64 1 (*.f64 x x)) (*.f64 x x)) (fma.f64 (/.f64 (fma.f64 2 (pow.f64 x 3) (*.f64 x -3)) (pow.f64 x 3)) -1/6 -1)) (log.f64 (/.f64 -1 x)))
(+.f64 1 (fabs.f64 x))
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (fabs.f64 x)))
(+.f64 1 (fma.f64 1/2 (*.f64 x x) (fabs.f64 x)))
(+.f64 1 (fma.f64 x (*.f64 x 1/2) x))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (fabs.f64 x))))
(+.f64 1 (fma.f64 1/2 (*.f64 x x) (fma.f64 -1/8 (pow.f64 x 4) (fabs.f64 x))))
(+.f64 1 (fma.f64 1/2 (*.f64 x x) (fma.f64 (pow.f64 x 4) -1/8 (fabs.f64 x))))
(+.f64 1 (fma.f64 (pow.f64 x 4) -1/8 (fma.f64 x (*.f64 x 1/2) x)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/16 (pow.f64 x 6)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (fabs.f64 x)))))
(+.f64 1 (fma.f64 1/2 (*.f64 x x) (fma.f64 1/16 (pow.f64 x 6) (fma.f64 -1/8 (pow.f64 x 4) (fabs.f64 x)))))
(+.f64 1 (fma.f64 1/2 (*.f64 x x) (fma.f64 (pow.f64 x 6) 1/16 (fma.f64 (pow.f64 x 4) -1/8 (fabs.f64 x)))))
(+.f64 1 (fma.f64 (pow.f64 x 6) 1/16 (fma.f64 (pow.f64 x 4) -1/8 (fma.f64 x (*.f64 x 1/2) x))))
x
(+.f64 (fabs.f64 x) x)
(+.f64 x (fabs.f64 x))
(+.f64 x x)
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x))
(+.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) x)
(+.f64 x (+.f64 (fabs.f64 x) (/.f64 1/2 x)))
(+.f64 x (+.f64 x (/.f64 1/2 x)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (fabs.f64 x) x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))
(-.f64 (+.f64 (+.f64 (/.f64 1/2 x) (fabs.f64 x)) x) (/.f64 1/8 (pow.f64 x 3)))
(+.f64 (+.f64 x (fabs.f64 x)) (+.f64 (/.f64 1/2 x) (/.f64 -1/8 (pow.f64 x 3))))
(+.f64 x (+.f64 x (+.f64 (/.f64 1/2 x) (/.f64 -1/8 (pow.f64 x 3)))))
(+.f64 (/.f64 1/2 x) (fma.f64 x 2 (/.f64 -1/8 (pow.f64 x 3))))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (fabs.f64 x) (*.f64 -1 x))
(+.f64 (fabs.f64 x) (neg.f64 x))
(-.f64 (fabs.f64 x) x)
0
(-.f64 (+.f64 (fabs.f64 x) (*.f64 -1 x)) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (fabs.f64 x) (-.f64 (neg.f64 x) (/.f64 1/2 x)))
(+.f64 (-.f64 (fabs.f64 x) x) (/.f64 -1/2 x))
(/.f64 -1/2 x)
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (+.f64 (fabs.f64 x) (*.f64 -1 x))) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (/.f64 1/8 (pow.f64 x 3)) (+.f64 (fabs.f64 x) (-.f64 (neg.f64 x) (/.f64 1/2 x))))
(+.f64 (/.f64 1/8 (pow.f64 x 3)) (+.f64 (-.f64 (fabs.f64 x) x) (/.f64 -1/2 x)))
(+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 -1/2 x))
(+.f64 0 (log.f64 (+.f64 x (hypot.f64 1 x))))
(log.f64 (+.f64 x (hypot.f64 1 x)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) 2)) (log.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x)))))
(log.f64 (+.f64 x (hypot.f64 1 x)))
(+.f64 (log.f64 (sqrt.f64 (+.f64 x (hypot.f64 1 x)))) (log.f64 (sqrt.f64 (+.f64 x (hypot.f64 1 x)))))
(log.f64 (+.f64 x (hypot.f64 1 x)))
(-.f64 (log.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3))) (log.f64 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
(-.f64 (log.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3))) (log.f64 (fma.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x) (*.f64 x x))))
(-.f64 (log.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x)))) (log.f64 (-.f64 x (hypot.f64 1 x))))
(-.f64 (log.f64 -1) (log.f64 (-.f64 x (hypot.f64 1 x))))
(-.f64 (+.f64 1 (log.f64 (+.f64 x (hypot.f64 1 x)))) 1)
(log.f64 (+.f64 x (hypot.f64 1 x)))
(*.f64 1 (log.f64 (+.f64 x (hypot.f64 1 x))))
(log.f64 (+.f64 x (hypot.f64 1 x)))
(*.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 1)
(log.f64 (+.f64 x (hypot.f64 1 x)))
(*.f64 (cbrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))) (cbrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 2)) (cbrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(*.f64 (cbrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))) (cbrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 2)))
(*.f64 (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))) (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(log.f64 (+.f64 x (hypot.f64 1 x)))
(pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 1)
(log.f64 (+.f64 x (hypot.f64 1 x)))
(pow.f64 (cbrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))) 3)
(log.f64 (+.f64 x (hypot.f64 1 x)))
(pow.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 3) 1/3)
(log.f64 (+.f64 x (hypot.f64 1 x)))
(pow.f64 (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))) 2)
(log.f64 (+.f64 x (hypot.f64 1 x)))
(sqrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 2))
(log.f64 (+.f64 x (hypot.f64 1 x)))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 3))
(log.f64 (+.f64 x (hypot.f64 1 x)))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(log.f64 (+.f64 x (hypot.f64 1 x)))
(exp.f64 (log.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(log.f64 (+.f64 x (hypot.f64 1 x)))
(log1p.f64 (-.f64 (+.f64 x (hypot.f64 1 x)) 1))
(log.f64 (+.f64 x (hypot.f64 1 x)))
(-.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) 1)
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (hypot.f64 1 x))) (/.f64 (+.f64 1 (*.f64 x x)) (-.f64 x (hypot.f64 1 x))))
(/.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x))) (-.f64 x (hypot.f64 1 x)))
(/.f64 1 (-.f64 (hypot.f64 1 x) x))
(*.f64 1 (+.f64 x (hypot.f64 1 x)))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(*.f64 (+.f64 x (hypot.f64 1 x)) 1)
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(*.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) 2))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) 2) (cbrt.f64 (+.f64 x (hypot.f64 1 x))))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(*.f64 (sqrt.f64 (+.f64 x (hypot.f64 1 x))) (sqrt.f64 (+.f64 x (hypot.f64 1 x))))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (/.f64 1 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x) (*.f64 x x)))
(*.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x))) (/.f64 1 (-.f64 x (hypot.f64 1 x))))
(/.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x))) (-.f64 x (hypot.f64 1 x)))
(/.f64 1 (-.f64 (hypot.f64 1 x) x))
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x))) (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3))))
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (/.f64 1 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x) (*.f64 x x)))
(/.f64 1 (/.f64 (-.f64 x (hypot.f64 1 x)) (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x)))))
(/.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x))) (-.f64 x (hypot.f64 1 x)))
(/.f64 1 (-.f64 (hypot.f64 1 x) x))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x))))
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (/.f64 1 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x) (*.f64 x x)))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (+.f64 (+.f64 1 (*.f64 x x)) (-.f64 (*.f64 x x) (*.f64 x (hypot.f64 1 x)))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (+.f64 (+.f64 1 (*.f64 x x)) (*.f64 x (-.f64 x (hypot.f64 1 x)))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 x (-.f64 x (hypot.f64 1 x)) (fma.f64 x x 1)))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 x (-.f64 (+.f64 x x) (hypot.f64 1 x)) 1))
(/.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x))) (-.f64 x (hypot.f64 1 x)))
(/.f64 1 (-.f64 (hypot.f64 1 x) x))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3))) (neg.f64 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (/.f64 1 (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x) (*.f64 x x)))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x)))) (neg.f64 (-.f64 x (hypot.f64 1 x))))
(/.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x))) (-.f64 x (hypot.f64 1 x)))
(/.f64 1 (-.f64 (hypot.f64 1 x) x))
(/.f64 (-.f64 (+.f64 1 (*.f64 x x)) (*.f64 x x)) (-.f64 (hypot.f64 1 x) x))
(/.f64 (-.f64 (*.f64 x x) (+.f64 1 (*.f64 x x))) (-.f64 x (hypot.f64 1 x)))
(/.f64 1 (-.f64 (hypot.f64 1 x) x))
(pow.f64 (+.f64 x (hypot.f64 1 x)) 1)
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(pow.f64 (E.f64) (log.f64 (+.f64 x (hypot.f64 1 x))))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 1 x))) 3)
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(pow.f64 (pow.f64 (+.f64 x (hypot.f64 1 x)) 3) 1/3)
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(pow.f64 (sqrt.f64 (+.f64 x (hypot.f64 1 x))) 2)
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) 2))) (cbrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x))))) (sqrt.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(sqrt.f64 (pow.f64 (+.f64 x (hypot.f64 1 x)) 2))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(log.f64 (exp.f64 (+.f64 x (hypot.f64 1 x))))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(cbrt.f64 (pow.f64 (+.f64 x (hypot.f64 1 x)) 3))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(expm1.f64 (log1p.f64 (+.f64 x (hypot.f64 1 x))))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(exp.f64 (log.f64 (+.f64 x (hypot.f64 1 x))))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(log1p.f64 (expm1.f64 (+.f64 x (hypot.f64 1 x))))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(fma.f64 1 x (hypot.f64 1 x))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(fma.f64 1 (hypot.f64 1 x) x)
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (hypot.f64 1 x))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 1 x)) 2) (cbrt.f64 (hypot.f64 1 x)) x)
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (hypot.f64 1 x))
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))
(fma.f64 (sqrt.f64 (hypot.f64 1 x)) (sqrt.f64 (hypot.f64 1 x)) x)
(+.f64 (+.f64 1 (+.f64 x (hypot.f64 1 x))) -1)
(+.f64 (+.f64 x (hypot.f64 1 x)) 0)
(+.f64 x (hypot.f64 1 x))

eval56.0ms (1.3%)

Compiler

Compiled 2603 to 1683 computations (35.3% saved)

prune76.0ms (1.7%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New13811149
Fresh000
Picked101
Done000
Total13911150
Accurracy
100.0%
Counts
150 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
49.7%
(copysign.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (log1p.f64 x)) x)
64.2%
(copysign.f64 (log1p.f64 (fabs.f64 x)) x)
55.4%
(copysign.f64 (log1p.f64 x) x)
33.1%
(copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x)
29.0%
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
28.3%
(copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x x)) x)
19.2%
(copysign.f64 (log.f64 (+.f64 1 (fabs.f64 x))) x)
10.0%
(copysign.f64 (log.f64 (neg.f64 x)) x)
2.7%
(copysign.f64 (log.f64 0) x)
49.7%
(copysign.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (log1p.f64 x)) x)
64.2%
(copysign.f64 (log1p.f64 (fabs.f64 x)) x)
55.4%
(copysign.f64 (log1p.f64 x) x)
33.1%
(copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x)
29.0%
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
28.3%
(copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x x)) x)
19.2%
(copysign.f64 (log.f64 (+.f64 1 (fabs.f64 x))) x)
10.0%
(copysign.f64 (log.f64 (neg.f64 x)) x)
2.7%
(copysign.f64 (log.f64 0) x)
Compiler

Compiled 356 to 240 computations (32.6% saved)

localize176.0ms (4%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
78.7%
(log.f64 (+.f64 1 (fabs.f64 x)))
100.0%
(log.f64 (/.f64 -1/2 x))
Compiler

Compiled 67 to 34 computations (49.3% saved)

series103.0ms (2.3%)

Counts
2 → 12
Calls

6 calls:

TimeVariablePointExpression
31.0ms
x
@0
(log.f64 (/.f64 -1/2 x))
25.0ms
x
@inf
(log.f64 (+.f64 1 (fabs.f64 x)))
15.0ms
x
@0
(log.f64 (+.f64 1 (fabs.f64 x)))
15.0ms
x
@-inf
(log.f64 (/.f64 -1/2 x))
12.0ms
x
@-inf
(log.f64 (+.f64 1 (fabs.f64 x)))

rewrite68.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1884×pow1
1744×add-exp-log
1742×log1p-expm1-u
1742×expm1-log1p-u
216×add-sqr-sqrt
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01120
122116
2267016
Stop Event
node limit
Counts
2 → 48
Calls
Call 1
Inputs
(log.f64 (/.f64 -1/2 x))
(log.f64 (+.f64 1 (fabs.f64 x)))
Outputs
(+.f64 0 (log.f64 (/.f64 -1/2 x)))
(+.f64 (log.f64 -1/2) (log.f64 (/.f64 1 x)))
(+.f64 (log.f64 -1/2) (neg.f64 (log.f64 x)))
(+.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 x))) (log.f64 (sqrt.f64 (/.f64 -1/2 x))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 -1/2 x)) 2)) (log.f64 (cbrt.f64 (/.f64 -1/2 x))))
(-.f64 (log.f64 1/2) (log.f64 (neg.f64 x)))
(-.f64 0 (log.f64 (*.f64 x -2)))
(-.f64 (log.f64 -1/2) (log.f64 x))
(-.f64 (+.f64 1 (log.f64 (/.f64 -1/2 x))) 1)
(*.f64 (log.f64 (/.f64 -1/2 x)) 1)
(*.f64 1 (log.f64 (/.f64 -1/2 x)))
(*.f64 (cbrt.f64 (log.f64 (/.f64 -1/2 x))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 -1/2 x))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 -1/2 x))) 2) (cbrt.f64 (log.f64 (/.f64 -1/2 x))))
(*.f64 (sqrt.f64 (log.f64 (/.f64 -1/2 x))) (sqrt.f64 (log.f64 (/.f64 -1/2 x))))
(/.f64 (-.f64 (pow.f64 (log.f64 -1/2) 3) (pow.f64 (log.f64 x) 3)) (+.f64 (*.f64 (log.f64 -1/2) (log.f64 -1/2)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 (log.f64 -1/2) (log.f64 x)))))
(/.f64 (-.f64 (*.f64 (log.f64 -1/2) (log.f64 -1/2)) (*.f64 (log.f64 x) (log.f64 x))) (+.f64 (log.f64 -1/2) (log.f64 x)))
(pow.f64 (log.f64 (/.f64 -1/2 x)) 1)
(pow.f64 (cbrt.f64 (log.f64 (/.f64 -1/2 x))) 3)
(pow.f64 (pow.f64 (log.f64 (/.f64 -1/2 x)) 3) 1/3)
(pow.f64 (sqrt.f64 (log.f64 (/.f64 -1/2 x))) 2)
(neg.f64 (log.f64 (*.f64 x -2)))
(sqrt.f64 (pow.f64 (log.f64 (/.f64 -1/2 x)) 2))
(cbrt.f64 (pow.f64 (log.f64 (/.f64 -1/2 x)) 3))
(expm1.f64 (log1p.f64 (log.f64 (/.f64 -1/2 x))))
(exp.f64 (log.f64 (log.f64 (/.f64 -1/2 x))))
(exp.f64 (*.f64 (log.f64 (log.f64 (/.f64 -1/2 x))) 1))
(log1p.f64 (-.f64 (/.f64 -1/2 x) 1))
(+.f64 0 (log1p.f64 x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 1 x)) 2)) (log.f64 (cbrt.f64 (+.f64 1 x))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 1 x))) (log.f64 (sqrt.f64 (+.f64 1 x))))
(-.f64 (log.f64 (-.f64 1 (*.f64 x x))) (log.f64 (-.f64 1 x)))
(-.f64 (log.f64 (+.f64 1 (pow.f64 x 3))) (log.f64 (+.f64 1 (-.f64 (*.f64 x x) x))))
(-.f64 (+.f64 1 (log1p.f64 x)) 1)
(*.f64 1 (log1p.f64 x))
(*.f64 (log1p.f64 x) 1)
(*.f64 (cbrt.f64 (log1p.f64 x)) (pow.f64 (cbrt.f64 (log1p.f64 x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 x)) 2) (cbrt.f64 (log1p.f64 x)))
(*.f64 (sqrt.f64 (log1p.f64 x)) (sqrt.f64 (log1p.f64 x)))
(pow.f64 (log1p.f64 x) 1)
(pow.f64 (cbrt.f64 (log1p.f64 x)) 3)
(pow.f64 (pow.f64 (log1p.f64 x) 3) 1/3)
(pow.f64 (sqrt.f64 (log1p.f64 x)) 2)
(sqrt.f64 (pow.f64 (log1p.f64 x) 2))
(cbrt.f64 (pow.f64 (log1p.f64 x) 3))
(expm1.f64 (log1p.f64 (log1p.f64 x)))
(exp.f64 (log.f64 (log1p.f64 x)))
(exp.f64 (*.f64 (log.f64 (log1p.f64 x)) 1))
(log1p.f64 x)

simplify66.0ms (1.5%)

Algorithm
egg-herbie
Rules
1270×fma-neg
872×fma-def
810×log-prod
536×unswap-sqr
520×div-sub
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0131806
1270762
2900762
33722762
46455762
Stop Event
node limit
Counts
60 → 67
Calls
Call 1
Inputs
(+.f64 (log.f64 -1/2) (*.f64 -1 (log.f64 x)))
(+.f64 (log.f64 -1/2) (*.f64 -1 (log.f64 x)))
(+.f64 (log.f64 -1/2) (*.f64 -1 (log.f64 x)))
(+.f64 (log.f64 -1/2) (*.f64 -1 (log.f64 x)))
(+.f64 (log.f64 -1/2) (log.f64 (/.f64 1 x)))
(+.f64 (log.f64 -1/2) (log.f64 (/.f64 1 x)))
(+.f64 (log.f64 -1/2) (log.f64 (/.f64 1 x)))
(+.f64 (log.f64 -1/2) (log.f64 (/.f64 1 x)))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2))
(+.f64 0 (log.f64 (/.f64 -1/2 x)))
(+.f64 (log.f64 -1/2) (log.f64 (/.f64 1 x)))
(+.f64 (log.f64 -1/2) (neg.f64 (log.f64 x)))
(+.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 x))) (log.f64 (sqrt.f64 (/.f64 -1/2 x))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 -1/2 x)) 2)) (log.f64 (cbrt.f64 (/.f64 -1/2 x))))
(-.f64 (log.f64 1/2) (log.f64 (neg.f64 x)))
(-.f64 0 (log.f64 (*.f64 x -2)))
(-.f64 (log.f64 -1/2) (log.f64 x))
(-.f64 (+.f64 1 (log.f64 (/.f64 -1/2 x))) 1)
(*.f64 (log.f64 (/.f64 -1/2 x)) 1)
(*.f64 1 (log.f64 (/.f64 -1/2 x)))
(*.f64 (cbrt.f64 (log.f64 (/.f64 -1/2 x))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 -1/2 x))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 -1/2 x))) 2) (cbrt.f64 (log.f64 (/.f64 -1/2 x))))
(*.f64 (sqrt.f64 (log.f64 (/.f64 -1/2 x))) (sqrt.f64 (log.f64 (/.f64 -1/2 x))))
(/.f64 (-.f64 (pow.f64 (log.f64 -1/2) 3) (pow.f64 (log.f64 x) 3)) (+.f64 (*.f64 (log.f64 -1/2) (log.f64 -1/2)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 (log.f64 -1/2) (log.f64 x)))))
(/.f64 (-.f64 (*.f64 (log.f64 -1/2) (log.f64 -1/2)) (*.f64 (log.f64 x) (log.f64 x))) (+.f64 (log.f64 -1/2) (log.f64 x)))
(pow.f64 (log.f64 (/.f64 -1/2 x)) 1)
(pow.f64 (cbrt.f64 (log.f64 (/.f64 -1/2 x))) 3)
(pow.f64 (pow.f64 (log.f64 (/.f64 -1/2 x)) 3) 1/3)
(pow.f64 (sqrt.f64 (log.f64 (/.f64 -1/2 x))) 2)
(neg.f64 (log.f64 (*.f64 x -2)))
(sqrt.f64 (pow.f64 (log.f64 (/.f64 -1/2 x)) 2))
(cbrt.f64 (pow.f64 (log.f64 (/.f64 -1/2 x)) 3))
(expm1.f64 (log1p.f64 (log.f64 (/.f64 -1/2 x))))
(exp.f64 (log.f64 (log.f64 (/.f64 -1/2 x))))
(exp.f64 (*.f64 (log.f64 (log.f64 (/.f64 -1/2 x))) 1))
(log1p.f64 (-.f64 (/.f64 -1/2 x) 1))
(+.f64 0 (log1p.f64 x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 1 x)) 2)) (log.f64 (cbrt.f64 (+.f64 1 x))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 1 x))) (log.f64 (sqrt.f64 (+.f64 1 x))))
(-.f64 (log.f64 (-.f64 1 (*.f64 x x))) (log.f64 (-.f64 1 x)))
(-.f64 (log.f64 (+.f64 1 (pow.f64 x 3))) (log.f64 (+.f64 1 (-.f64 (*.f64 x x) x))))
(-.f64 (+.f64 1 (log1p.f64 x)) 1)
(*.f64 1 (log1p.f64 x))
(*.f64 (log1p.f64 x) 1)
(*.f64 (cbrt.f64 (log1p.f64 x)) (pow.f64 (cbrt.f64 (log1p.f64 x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 x)) 2) (cbrt.f64 (log1p.f64 x)))
(*.f64 (sqrt.f64 (log1p.f64 x)) (sqrt.f64 (log1p.f64 x)))
(pow.f64 (log1p.f64 x) 1)
(pow.f64 (cbrt.f64 (log1p.f64 x)) 3)
(pow.f64 (pow.f64 (log1p.f64 x) 3) 1/3)
(pow.f64 (sqrt.f64 (log1p.f64 x)) 2)
(sqrt.f64 (pow.f64 (log1p.f64 x) 2))
(cbrt.f64 (pow.f64 (log1p.f64 x) 3))
(expm1.f64 (log1p.f64 (log1p.f64 x)))
(exp.f64 (log.f64 (log1p.f64 x)))
(exp.f64 (*.f64 (log.f64 (log1p.f64 x)) 1))
(log1p.f64 x)
Outputs
(+.f64 (log.f64 -1/2) (*.f64 -1 (log.f64 x)))
(log.f64 (/.f64 -1/2 x))
(+.f64 (log.f64 -1/2) (*.f64 -1 (log.f64 x)))
(log.f64 (/.f64 -1/2 x))
(+.f64 (log.f64 -1/2) (*.f64 -1 (log.f64 x)))
(log.f64 (/.f64 -1/2 x))
(+.f64 (log.f64 -1/2) (*.f64 -1 (log.f64 x)))
(log.f64 (/.f64 -1/2 x))
(+.f64 (log.f64 -1/2) (log.f64 (/.f64 1 x)))
(log.f64 (/.f64 -1/2 x))
(+.f64 (log.f64 -1/2) (log.f64 (/.f64 1 x)))
(log.f64 (/.f64 -1/2 x))
(+.f64 (log.f64 -1/2) (log.f64 (/.f64 1 x)))
(log.f64 (/.f64 -1/2 x))
(+.f64 (log.f64 -1/2) (log.f64 (/.f64 1 x)))
(log.f64 (/.f64 -1/2 x))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2))
(+.f64 0 (log.f64 (/.f64 -1/2 x)))
(log.f64 (/.f64 -1/2 x))
(+.f64 (log.f64 -1/2) (log.f64 (/.f64 1 x)))
(log.f64 (/.f64 -1/2 x))
(+.f64 (log.f64 -1/2) (neg.f64 (log.f64 x)))
(log.f64 (/.f64 -1/2 x))
(+.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 x))) (log.f64 (sqrt.f64 (/.f64 -1/2 x))))
(*.f64 2 (log.f64 (sqrt.f64 (/.f64 -1/2 x))))
(*.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 x))) 2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 -1/2 x)) 2)) (log.f64 (cbrt.f64 (/.f64 -1/2 x))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (/.f64 -1/2 x)))) (log.f64 (cbrt.f64 (/.f64 -1/2 x))))
(*.f64 3 (log.f64 (cbrt.f64 (/.f64 -1/2 x))))
(*.f64 (log.f64 (cbrt.f64 (/.f64 -1/2 x))) 3)
(-.f64 (log.f64 1/2) (log.f64 (neg.f64 x)))
(-.f64 0 (log.f64 (*.f64 x -2)))
(neg.f64 (log.f64 (*.f64 x -2)))
(-.f64 (log.f64 -1/2) (log.f64 x))
(log.f64 (/.f64 -1/2 x))
(-.f64 (+.f64 1 (log.f64 (/.f64 -1/2 x))) 1)
(log.f64 (/.f64 -1/2 x))
(*.f64 (log.f64 (/.f64 -1/2 x)) 1)
(log.f64 (/.f64 -1/2 x))
(*.f64 1 (log.f64 (/.f64 -1/2 x)))
(log.f64 (/.f64 -1/2 x))
(*.f64 (cbrt.f64 (log.f64 (/.f64 -1/2 x))) (pow.f64 (cbrt.f64 (log.f64 (/.f64 -1/2 x))) 2))
(log.f64 (/.f64 -1/2 x))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 -1/2 x))) 2) (cbrt.f64 (log.f64 (/.f64 -1/2 x))))
(log.f64 (/.f64 -1/2 x))
(*.f64 (sqrt.f64 (log.f64 (/.f64 -1/2 x))) (sqrt.f64 (log.f64 (/.f64 -1/2 x))))
(log.f64 (/.f64 -1/2 x))
(/.f64 (-.f64 (pow.f64 (log.f64 -1/2) 3) (pow.f64 (log.f64 x) 3)) (+.f64 (*.f64 (log.f64 -1/2) (log.f64 -1/2)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 (log.f64 -1/2) (log.f64 x)))))
(/.f64 (-.f64 (pow.f64 (log.f64 -1/2) 3) (pow.f64 (log.f64 x) 3)) (fma.f64 (log.f64 -1/2) (log.f64 -1/2) (*.f64 (log.f64 x) (+.f64 (log.f64 -1/2) (log.f64 x)))))
(/.f64 (-.f64 (pow.f64 (log.f64 -1/2) 3) (pow.f64 (log.f64 x) 3)) (fma.f64 (log.f64 x) (+.f64 (log.f64 -1/2) (log.f64 x)) (*.f64 (log.f64 -1/2) (log.f64 -1/2))))
(/.f64 (-.f64 (*.f64 (log.f64 -1/2) (log.f64 -1/2)) (*.f64 (log.f64 x) (log.f64 x))) (+.f64 (log.f64 -1/2) (log.f64 x)))
(log.f64 (/.f64 -1/2 x))
(pow.f64 (log.f64 (/.f64 -1/2 x)) 1)
(log.f64 (/.f64 -1/2 x))
(pow.f64 (cbrt.f64 (log.f64 (/.f64 -1/2 x))) 3)
(log.f64 (/.f64 -1/2 x))
(pow.f64 (pow.f64 (log.f64 (/.f64 -1/2 x)) 3) 1/3)
(log.f64 (/.f64 -1/2 x))
(pow.f64 (sqrt.f64 (log.f64 (/.f64 -1/2 x))) 2)
(log.f64 (/.f64 -1/2 x))
(neg.f64 (log.f64 (*.f64 x -2)))
(sqrt.f64 (pow.f64 (log.f64 (/.f64 -1/2 x)) 2))
(log.f64 (/.f64 -1/2 x))
(cbrt.f64 (pow.f64 (log.f64 (/.f64 -1/2 x)) 3))
(log.f64 (/.f64 -1/2 x))
(expm1.f64 (log1p.f64 (log.f64 (/.f64 -1/2 x))))
(log.f64 (/.f64 -1/2 x))
(exp.f64 (log.f64 (log.f64 (/.f64 -1/2 x))))
(log.f64 (/.f64 -1/2 x))
(exp.f64 (*.f64 (log.f64 (log.f64 (/.f64 -1/2 x))) 1))
(log.f64 (/.f64 -1/2 x))
(log1p.f64 (-.f64 (/.f64 -1/2 x) 1))
(log1p.f64 (+.f64 (/.f64 -1/2 x) -1))
(log1p.f64 (+.f64 -1 (/.f64 -1/2 x)))
(+.f64 0 (log1p.f64 x))
(log1p.f64 x)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 1 x)) 2)) (log.f64 (cbrt.f64 (+.f64 1 x))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (+.f64 x 1)))) (log.f64 (cbrt.f64 (+.f64 x 1))))
(*.f64 3 (log.f64 (cbrt.f64 (+.f64 x 1))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 1 x))) (log.f64 (sqrt.f64 (+.f64 1 x))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 x 1))))
(-.f64 (log.f64 (-.f64 1 (*.f64 x x))) (log.f64 (-.f64 1 x)))
(-.f64 (log1p.f64 (*.f64 x (neg.f64 x))) (log1p.f64 (neg.f64 x)))
(-.f64 (log.f64 (+.f64 1 (pow.f64 x 3))) (log.f64 (+.f64 1 (-.f64 (*.f64 x x) x))))
(-.f64 (log1p.f64 (pow.f64 x 3)) (log1p.f64 (-.f64 (*.f64 x x) x)))
(-.f64 (log1p.f64 (pow.f64 x 3)) (log1p.f64 (fma.f64 x x (neg.f64 x))))
(-.f64 (log1p.f64 (pow.f64 x 3)) (log1p.f64 (*.f64 x (+.f64 -1 x))))
(-.f64 (+.f64 1 (log1p.f64 x)) 1)
(log1p.f64 x)
(*.f64 1 (log1p.f64 x))
(log1p.f64 x)
(*.f64 (log1p.f64 x) 1)
(log1p.f64 x)
(*.f64 (cbrt.f64 (log1p.f64 x)) (pow.f64 (cbrt.f64 (log1p.f64 x)) 2))
(log1p.f64 x)
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 x)) 2) (cbrt.f64 (log1p.f64 x)))
(log1p.f64 x)
(*.f64 (sqrt.f64 (log1p.f64 x)) (sqrt.f64 (log1p.f64 x)))
(log1p.f64 x)
(pow.f64 (log1p.f64 x) 1)
(log1p.f64 x)
(pow.f64 (cbrt.f64 (log1p.f64 x)) 3)
(log1p.f64 x)
(pow.f64 (pow.f64 (log1p.f64 x) 3) 1/3)
(log1p.f64 x)
(pow.f64 (sqrt.f64 (log1p.f64 x)) 2)
(log1p.f64 x)
(sqrt.f64 (pow.f64 (log1p.f64 x) 2))
(log1p.f64 x)
(cbrt.f64 (pow.f64 (log1p.f64 x) 3))
(log1p.f64 x)
(expm1.f64 (log1p.f64 (log1p.f64 x)))
(log1p.f64 x)
(exp.f64 (log.f64 (log1p.f64 x)))
(log1p.f64 x)
(exp.f64 (*.f64 (log.f64 (log1p.f64 x)) 1))
(log1p.f64 x)
(log1p.f64 x)

eval14.0ms (0.3%)

Compiler

Compiled 694 to 476 computations (31.4% saved)

prune73.0ms (1.7%)

Pruning

15 alts after pruning (10 fresh and 5 done)

PrunedKeptTotal
New63467
Fresh066
Picked055
Done000
Total631578
Accurracy
100.0%
Counts
78 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
49.7%
(copysign.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (log1p.f64 x)) x)
29.0%
(copysign.f64 (-.f64 (+.f64 1 (log.f64 (/.f64 -1/2 x))) 1) x)
48.2%
(copysign.f64 (-.f64 (log1p.f64 (*.f64 x (neg.f64 x))) (log1p.f64 (neg.f64 x))) x)
29.0%
(copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x)
3.8%
(copysign.f64 (log1p.f64 (-.f64 (/.f64 -1/2 x) 1)) x)
64.2%
(copysign.f64 (log1p.f64 (fabs.f64 x)) x)
55.4%
(copysign.f64 (log1p.f64 x) x)
33.1%
(copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x)
29.0%
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
28.3%
(copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x x)) x)
19.2%
(copysign.f64 (log.f64 (+.f64 1 (fabs.f64 x))) x)
10.0%
(copysign.f64 (log.f64 (neg.f64 x)) x)
2.7%
(copysign.f64 (log.f64 0) x)
49.7%
(copysign.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (log1p.f64 x)) x)
29.0%
(copysign.f64 (-.f64 (+.f64 1 (log.f64 (/.f64 -1/2 x))) 1) x)
48.2%
(copysign.f64 (-.f64 (log1p.f64 (*.f64 x (neg.f64 x))) (log1p.f64 (neg.f64 x))) x)
29.0%
(copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x)
3.8%
(copysign.f64 (log1p.f64 (-.f64 (/.f64 -1/2 x) 1)) x)
64.2%
(copysign.f64 (log1p.f64 (fabs.f64 x)) x)
55.4%
(copysign.f64 (log1p.f64 x) x)
33.1%
(copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x)
29.0%
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
28.3%
(copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x x)) x)
19.2%
(copysign.f64 (log.f64 (+.f64 1 (fabs.f64 x))) x)
10.0%
(copysign.f64 (log.f64 (neg.f64 x)) x)
2.7%
(copysign.f64 (log.f64 0) x)
Compiler

Compiled 452 to 310 computations (31.4% saved)

localize223.0ms (5.1%)

Compiler

Compiled 117 to 77 computations (34.2% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune17.0ms (0.4%)

Pruning

15 alts after pruning (5 fresh and 10 done)

PrunedKeptTotal
New000
Fresh055
Picked055
Done055
Total01515
Accurracy
100.0%
Counts
15 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
49.7%
(copysign.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (log1p.f64 x)) x)
29.0%
(copysign.f64 (-.f64 (+.f64 1 (log.f64 (/.f64 -1/2 x))) 1) x)
48.2%
(copysign.f64 (-.f64 (log1p.f64 (*.f64 x (neg.f64 x))) (log1p.f64 (neg.f64 x))) x)
29.0%
(copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x)
3.8%
(copysign.f64 (log1p.f64 (-.f64 (/.f64 -1/2 x) 1)) x)
64.2%
(copysign.f64 (log1p.f64 (fabs.f64 x)) x)
55.4%
(copysign.f64 (log1p.f64 x) x)
33.1%
(copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x)
29.0%
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
28.3%
(copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x x)) x)
19.2%
(copysign.f64 (log.f64 (+.f64 1 (fabs.f64 x))) x)
10.0%
(copysign.f64 (log.f64 (neg.f64 x)) x)
2.7%
(copysign.f64 (log.f64 0) x)
49.7%
(copysign.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (log1p.f64 x)) x)
29.0%
(copysign.f64 (-.f64 (+.f64 1 (log.f64 (/.f64 -1/2 x))) 1) x)
48.2%
(copysign.f64 (-.f64 (log1p.f64 (*.f64 x (neg.f64 x))) (log1p.f64 (neg.f64 x))) x)
29.0%
(copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x)
3.8%
(copysign.f64 (log1p.f64 (-.f64 (/.f64 -1/2 x) 1)) x)
64.2%
(copysign.f64 (log1p.f64 (fabs.f64 x)) x)
55.4%
(copysign.f64 (log1p.f64 x) x)
33.1%
(copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x)
29.0%
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
28.3%
(copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x x)) x)
19.2%
(copysign.f64 (log.f64 (+.f64 1 (fabs.f64 x))) x)
10.0%
(copysign.f64 (log.f64 (neg.f64 x)) x)
2.7%
(copysign.f64 (log.f64 0) x)
Compiler

Compiled 366 to 248 computations (32.2% saved)

localize243.0ms (5.5%)

Compiler

Compiled 159 to 79 computations (50.3% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune10.0ms (0.2%)

Pruning

15 alts after pruning (0 fresh and 15 done)

PrunedKeptTotal
New000
Fresh000
Picked055
Done01010
Total01515
Accurracy
100.0%
Counts
15 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
49.7%
(copysign.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (log1p.f64 x)) x)
29.0%
(copysign.f64 (-.f64 (+.f64 1 (log.f64 (/.f64 -1/2 x))) 1) x)
48.2%
(copysign.f64 (-.f64 (log1p.f64 (*.f64 x (neg.f64 x))) (log1p.f64 (neg.f64 x))) x)
29.0%
(copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x)
3.8%
(copysign.f64 (log1p.f64 (-.f64 (/.f64 -1/2 x) 1)) x)
64.2%
(copysign.f64 (log1p.f64 (fabs.f64 x)) x)
55.4%
(copysign.f64 (log1p.f64 x) x)
33.1%
(copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x)
29.0%
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
28.3%
(copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
23.7%
(copysign.f64 (log.f64 (+.f64 x x)) x)
19.2%
(copysign.f64 (log.f64 (+.f64 1 (fabs.f64 x))) x)
10.0%
(copysign.f64 (log.f64 (neg.f64 x)) x)
2.7%
(copysign.f64 (log.f64 0) x)
Compiler

Compiled 265 to 172 computations (35.1% saved)

regimes40.0ms (0.9%)

Counts
17 → 3
Calls
Call 1
Inputs
(copysign.f64 (log.f64 0) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (neg.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 x x)) x)
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
(copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x)
(copysign.f64 (log1p.f64 (-.f64 (/.f64 -1/2 x) 1)) x)
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
(copysign.f64 (-.f64 (+.f64 1 (log.f64 (/.f64 -1/2 x))) 1) x)
(copysign.f64 (log1p.f64 (fabs.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 1 (fabs.f64 x))) x)
(copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)
(copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x)
(copysign.f64 (-.f64 (log1p.f64 (*.f64 x (neg.f64 x))) (log1p.f64 (neg.f64 x))) x)
(copysign.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (log1p.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (hypot.f64 1 x))) x)
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x)
Outputs
(copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x)
(copysign.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (log1p.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)
Calls

2 calls:

24.0ms
x
12.0ms
(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x)
Results
AccuracySegmentsBranch
100.0%3x
100.0%3(copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x)
Compiler

Compiled 151 to 93 computations (38.4% saved)

regimes25.0ms (0.6%)

Counts
14 → 3
Calls
Call 1
Inputs
(copysign.f64 (log.f64 0) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (neg.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 x x)) x)
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
(copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x)
(copysign.f64 (log1p.f64 (-.f64 (/.f64 -1/2 x) 1)) x)
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
(copysign.f64 (-.f64 (+.f64 1 (log.f64 (/.f64 -1/2 x))) 1) x)
(copysign.f64 (log1p.f64 (fabs.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 1 (fabs.f64 x))) x)
(copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)
(copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x)
(copysign.f64 (-.f64 (log1p.f64 (*.f64 x (neg.f64 x))) (log1p.f64 (neg.f64 x))) x)
Outputs
(copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)
Calls

1 calls:

22.0ms
x
Results
AccuracySegmentsBranch
99.7%3x
Compiler

Compiled 104 to 66 computations (36.5% saved)

regimes54.0ms (1.2%)

Counts
12 → 3
Calls
Call 1
Inputs
(copysign.f64 (log.f64 0) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (neg.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 x x)) x)
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
(copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x)
(copysign.f64 (log1p.f64 (-.f64 (/.f64 -1/2 x) 1)) x)
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
(copysign.f64 (-.f64 (+.f64 1 (log.f64 (/.f64 -1/2 x))) 1) x)
(copysign.f64 (log1p.f64 (fabs.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 1 (fabs.f64 x))) x)
(copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)
Outputs
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
(copysign.f64 (log1p.f64 (fabs.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)
Calls

1 calls:

51.0ms
x
Results
AccuracySegmentsBranch
98.6%3x
Compiler

Compiled 83 to 54 computations (34.9% saved)

regimes23.0ms (0.5%)

Counts
11 → 3
Calls
Call 1
Inputs
(copysign.f64 (log.f64 0) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (neg.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 x x)) x)
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
(copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x)
(copysign.f64 (log1p.f64 (-.f64 (/.f64 -1/2 x) 1)) x)
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
(copysign.f64 (-.f64 (+.f64 1 (log.f64 (/.f64 -1/2 x))) 1) x)
(copysign.f64 (log1p.f64 (fabs.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 1 (fabs.f64 x))) x)
Outputs
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
(copysign.f64 (log1p.f64 (fabs.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
Calls

1 calls:

21.0ms
x
Results
AccuracySegmentsBranch
98.4%3x
Compiler

Compiled 75 to 49 computations (34.7% saved)

regimes18.0ms (0.4%)

Counts
9 → 3
Calls
Call 1
Inputs
(copysign.f64 (log.f64 0) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (neg.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 x x)) x)
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
(copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x)
(copysign.f64 (log1p.f64 (-.f64 (/.f64 -1/2 x) 1)) x)
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
(copysign.f64 (-.f64 (+.f64 1 (log.f64 (/.f64 -1/2 x))) 1) x)
Outputs
(copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)
Calls

1 calls:

16.0ms
x
Results
AccuracySegmentsBranch
98.4%3x
Compiler

Compiled 63 to 42 computations (33.3% saved)

regimes14.0ms (0.3%)

Counts
7 → 3
Calls
Call 1
Inputs
(copysign.f64 (log.f64 0) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (neg.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 x x)) x)
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
(copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x)
(copysign.f64 (log1p.f64 (-.f64 (/.f64 -1/2 x) 1)) x)
Outputs
(copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (+.f64 x x)) x)
Calls

1 calls:

13.0ms
x
Results
AccuracySegmentsBranch
98.3%3x
Compiler

Compiled 43 to 28 computations (34.9% saved)

regimes13.0ms (0.3%)

Counts
5 → 3
Calls
Call 1
Inputs
(copysign.f64 (log.f64 0) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (neg.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 x x)) x)
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
Outputs
(copysign.f64 (log.f64 (/.f64 -1/2 x)) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (+.f64 x x)) x)
Calls

1 calls:

12.0ms
x
Results
AccuracySegmentsBranch
98.3%3x
Compiler

Compiled 28 to 17 computations (39.3% saved)

regimes12.0ms (0.3%)

Counts
4 → 3
Calls
Call 1
Inputs
(copysign.f64 (log.f64 0) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (neg.f64 x)) x)
(copysign.f64 (log.f64 (+.f64 x x)) x)
Outputs
(copysign.f64 (log.f64 (neg.f64 x)) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (+.f64 x x)) x)
Calls

1 calls:

10.0ms
x
Results
AccuracySegmentsBranch
79.3%3x
Compiler

Compiled 22 to 13 computations (40.9% saved)

regimes7.0ms (0.2%)

Counts
3 → 2
Calls
Call 1
Inputs
(copysign.f64 (log.f64 0) x)
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 (neg.f64 x)) x)
Outputs
(copysign.f64 (log.f64 (neg.f64 x)) x)
(copysign.f64 (log1p.f64 x) x)
Calls

1 calls:

6.0ms
x
Results
AccuracySegmentsBranch
64.1%2x
Compiler

Compiled 16 to 10 computations (37.5% saved)

regimes4.0ms (0.1%)

Counts
2 → 1
Calls
Call 1
Inputs
(copysign.f64 (log.f64 0) x)
(copysign.f64 (log1p.f64 x) x)
Outputs
(copysign.f64 (log1p.f64 x) x)
Calls

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
55.4%1x
Compiler

Compiled 11 to 7 computations (36.4% saved)

regimes21.0ms (0.5%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(copysign.f64 (log.f64 0) x)
Outputs
(copysign.f64 (log.f64 0) x)
Calls

1 calls:

20.0ms
x
Results
AccuracySegmentsBranch
2.7%1x
Compiler

Compiled 7 to 5 computations (28.6% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.39510625273424e-11
1.5595692588989174
0.0ms
-0.3311409294886779
-3.0955571434714765e-10
Compiler

Compiled 17 to 12 computations (29.4% saved)

bsearch82.0ms (1.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
62.0ms
1.3951053971016792e-11
2.2732726308509883
20.0ms
-0.337226035402083
-3.0955564527376613e-10
Results
78.0ms304×body256valid
Compiler

Compiled 339 to 239 computations (29.5% saved)

bsearch34.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
21.0ms
1.3951053971016792e-11
2.2732726308509883
12.0ms
-3.497385448021491
-0.337226035402083
Results
30.0ms256×body256valid
Compiler

Compiled 277 to 198 computations (28.5% saved)

bsearch50.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
1.3951053971016792e-11
2.2732726308509883
30.0ms
-3.497385448021491
-0.337226035402083
Results
47.0ms256×body256valid
Compiler

Compiled 297 to 208 computations (30% saved)

bsearch41.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
1.3951053971016792e-11
2.2732726308509883
21.0ms
-0.337226035402083
-3.0955564527376613e-10
Results
37.0ms304×body256valid
Compiler

Compiled 332 to 231 computations (30.4% saved)

bsearch46.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
27.0ms
1.3951053971016792e-11
2.2732726308509883
18.0ms
-0.337226035402083
-3.0955564527376613e-10
Results
42.0ms304×body256valid
Compiler

Compiled 292 to 201 computations (31.2% saved)

bsearch39.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
1.3951053971016792e-11
2.2732726308509883
19.0ms
-0.337226035402083
-3.0955564527376613e-10
Results
34.0ms304×body256valid
Compiler

Compiled 283 to 192 computations (32.2% saved)

bsearch38.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
25.0ms
1.3951053971016792e-11
2.2732726308509883
12.0ms
-3.497385448021491
-0.337226035402083
Results
35.0ms256×body256valid
Compiler

Compiled 235 to 156 computations (33.6% saved)

bsearch12.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
12.0ms
-3.497385448021491
-0.337226035402083
Results
11.0ms96×body256valid
Compiler

Compiled 95 to 66 computations (30.5% saved)

simplify18.0ms (0.4%)

Algorithm
egg-herbie
Rules
18×+-commutative
sub-neg
*-commutative
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
087739
1100739
2105739
3107739
Stop Event
done
saturated
Calls
Call 1
Inputs
(if (<=.f64 (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x) -3602879701896397/18014398509481984) (copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x) (if (<=.f64 (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x) 6189700196426901/309485009821345068724781056) (copysign.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (log1p.f64 x)) x) (copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)))
(if (<=.f64 x -4533471823554859/302231454903657293676544) (copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x) (if (<=.f64 x 5440166188265831/604462909807314587353088) (copysign.f64 (log1p.f64 x) x) (copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)))
(if (<=.f64 x -1) (copysign.f64 (log.f64 (/.f64 -1/2 x)) x) (if (<=.f64 x 5440166188265831/604462909807314587353088) (copysign.f64 (log1p.f64 (fabs.f64 x)) x) (copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)))
(if (<=.f64 x -1) (copysign.f64 (log.f64 (/.f64 -1/2 x)) x) (if (<=.f64 x 5854679515581645/9007199254740992) (copysign.f64 (log1p.f64 (fabs.f64 x)) x) (copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)))
(if (<=.f64 x -5944751508129055/18014398509481984) (copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x) (if (<=.f64 x 5854679515581645/9007199254740992) (copysign.f64 (log1p.f64 x) x) (copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)))
(if (<=.f64 x -5944751508129055/18014398509481984) (copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x) (if (<=.f64 x 1) (copysign.f64 (log1p.f64 x) x) (copysign.f64 (log.f64 (+.f64 x x)) x)))
(if (<=.f64 x -5944751508129055/18014398509481984) (copysign.f64 (log.f64 (/.f64 -1/2 x)) x) (if (<=.f64 x 1) (copysign.f64 (log1p.f64 x) x) (copysign.f64 (log.f64 (+.f64 x x)) x)))
(if (<=.f64 x -1/2) (copysign.f64 (log.f64 (neg.f64 x)) x) (if (<=.f64 x 1) (copysign.f64 (log1p.f64 x) x) (copysign.f64 (log.f64 (+.f64 x x)) x)))
(if (<=.f64 x -1/2) (copysign.f64 (log.f64 (neg.f64 x)) x) (copysign.f64 (log1p.f64 x) x))
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 0) x)
Outputs
(if (<=.f64 (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x) -3602879701896397/18014398509481984) (copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x) (if (<=.f64 (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x) 6189700196426901/309485009821345068724781056) (copysign.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 1 x)) (log1p.f64 x)) x) (copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)))
(if (<=.f64 (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x) -3602879701896397/18014398509481984) (copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x) (if (<=.f64 (copysign.f64 (log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) 1)))) x) 6189700196426901/309485009821345068724781056) (copysign.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (+.f64 x 1)) (log1p.f64 x)) x) (copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)))
(if (<=.f64 x -4533471823554859/302231454903657293676544) (copysign.f64 (log.f64 (/.f64 1 (-.f64 (hypot.f64 1 x) x))) x) (if (<=.f64 x 5440166188265831/604462909807314587353088) (copysign.f64 (log1p.f64 x) x) (copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)))
(if (<=.f64 x -1) (copysign.f64 (log.f64 (/.f64 -1/2 x)) x) (if (<=.f64 x 5440166188265831/604462909807314587353088) (copysign.f64 (log1p.f64 (fabs.f64 x)) x) (copysign.f64 (log.f64 (+.f64 x (hypot.f64 1 x))) x)))
(if (<=.f64 x -1) (copysign.f64 (log.f64 (/.f64 -1/2 x)) x) (if (<=.f64 x 5854679515581645/9007199254740992) (copysign.f64 (log1p.f64 (fabs.f64 x)) x) (copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)))
(if (<=.f64 x -5944751508129055/18014398509481984) (copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x) (if (<=.f64 x 5854679515581645/9007199254740992) (copysign.f64 (log1p.f64 x) x) (copysign.f64 (log.f64 (+.f64 x (+.f64 x (/.f64 1/2 x)))) x)))
(if (<=.f64 x -5944751508129055/18014398509481984) (copysign.f64 (neg.f64 (log.f64 (*.f64 x -2))) x) (if (<=.f64 x 1) (copysign.f64 (log1p.f64 x) x) (copysign.f64 (log.f64 (+.f64 x x)) x)))
(if (<=.f64 x -5944751508129055/18014398509481984) (copysign.f64 (log.f64 (/.f64 -1/2 x)) x) (if (<=.f64 x 1) (copysign.f64 (log1p.f64 x) x) (copysign.f64 (log.f64 (+.f64 x x)) x)))
(if (<=.f64 x -1/2) (copysign.f64 (log.f64 (neg.f64 x)) x) (if (<=.f64 x 1) (copysign.f64 (log1p.f64 x) x) (copysign.f64 (log.f64 (+.f64 x x)) x)))
(if (<=.f64 x -1/2) (copysign.f64 (log.f64 (neg.f64 x)) x) (copysign.f64 (log1p.f64 x) x))
(copysign.f64 (log1p.f64 x) x)
(copysign.f64 (log.f64 0) x)
Compiler

Compiled 280 to 184 computations (34.3% saved)

soundness1.5s (34.7%)

Rules
1884×pow1
1802×fma-def
1802×fma-def
1802×fma-def
1802×fma-def
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01233
11827
21927
0938
117930
2231430
02232866
15932444
218822068
377702064
02232866
15932444
218822068
377702064
0938
117930
2231430
02232866
15932444
218822068
377702064
02232866
15932444
218822068
377702064
02232866
15932444
218822068
377702064
02232866
15932444
218822068
377702064
02232866
15932444
218822068
377702064
02232866
15932444
218822068
377702064
01120
122116
2267016
0131806
1270762
2900762
33722762
46455762
02232866
15932444
218822068
377702064
02232866
15932444
218822068
377702064
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
saturated
Compiler

Compiled 1957 to 1275 computations (34.8% saved)

end0.0ms (0%)

preprocess262.0ms (5.9%)

Compiler

Compiled 608 to 340 computations (44.1% saved)

Profiling

Loading profile data...