Hyperbolic arc-(co)tangent

Time bar (total: 8.4s)

analyze18.0ms (0.2%)

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

Compiled 28 to 21 computations (25% saved)

sample8.3s (98.8%)

Memory
-80.8MiB live, 1 777.7MiB allocated
Samples
2.2s6 049×1valid-baseline
1.4s6 049×1valid-sollya
1.2s6 049×1valid-rival
1.1s1 963×2valid-baseline
714.0ms1 963×2valid-sollya
601.0ms1 963×2valid-rival
24.0ms243×0valid-baseline
19.0ms243×0valid-sollya
16.0ms243×0valid-rival
Precisions
Click to see Rival histograms. Total time spent on operations: 1.7s
ival-log: 902.0ms (52.3% of total)
ival-div: 413.0ms (23.9% of total)
adjust: 127.0ms (7.4% of total)
ival-mult: 107.0ms (6.2% of total)
ival-add: 82.0ms (4.8% of total)
ival-sub: 75.0ms (4.3% of total)
...in/eval/compile.rkt:76:19: 8.0ms (0.5% of total)
ival-true: 8.0ms (0.5% of total)
ival-assert: 3.0ms (0.2% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 2.5s
ival-log: 1.5s (58.6% of total)
ival-div: 441.0ms (17.7% of total)
ival-mult: 206.0ms (8.3% of total)
ival-add: 172.0ms (6.9% of total)
ival-sub: 168.0ms (6.7% of total)
const: 46.0ms (1.8% of total)
Bogosity

preprocess65.0ms (0.8%)

Memory
4.2MiB live, 19.8MiB allocated
Algorithm
egg-herbie
Rules
305×fma-define
221×fmm-def
96×times-frac
77×div-sub
50×associate-*l*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022148
144140
269140
3118140
4214140
5451140
61138140
71430140
81596140
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (log.f64 (/.f64 (+.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) x))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (log.f64 (/.f64 (+.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) x))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (log.f64 (/.f64 (+.f64 #s(literal 1 binary64) (neg.f64 x)) (-.f64 #s(literal 1 binary64) (neg.f64 x)))))
(neg.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (log.f64 (/.f64 (+.f64 #s(literal 1 binary64) (neg.f64 x)) (-.f64 #s(literal 1 binary64) (neg.f64 x))))))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (log.f64 (/.f64 (+.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) x))))
(*.f64 #s(literal 1/2 binary64) (log.f64 (/.f64 (+.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) x))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (log.f64 (/.f64 (+.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) x))))
(*.f64 #s(literal 1/2 binary64) (log.f64 (/.f64 (+.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) x))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (log.f64 (/.f64 (+.f64 #s(literal 1 binary64) (neg.f64 x)) (-.f64 #s(literal 1 binary64) (neg.f64 x)))))
(*.f64 #s(literal 1/2 binary64) (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) (neg.f64 x)))))
(*.f64 #s(literal 1/2 binary64) (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) (+.f64 #s(literal 1 binary64) x))))
(neg.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (log.f64 (/.f64 (+.f64 #s(literal 1 binary64) (neg.f64 x)) (-.f64 #s(literal 1 binary64) (neg.f64 x))))))
(*.f64 #s(literal -1/2 binary64) (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) (neg.f64 x)))))
(*.f64 (log.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) (+.f64 #s(literal 1 binary64) x))) #s(literal -1/2 binary64))
Compiler

Compiled 13 to 9 computations (30.8% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0%)

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

Compiled 26 to 18 computations (30.8% saved)

simplify2.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
egg-herbie
Rules
1-exp
+-commutative
sub-neg
*-commutative
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01535
12435
22835
33035
43135
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (log.f64 (/.f64 (+.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) x))))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (log.f64 (/.f64 (+.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) x))))
(*.f64 #s(literal 1/2 binary64) (log.f64 (/.f64 (+.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) x))))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 11 to 8 computations (27.3% saved)

preprocess18.0ms (0.2%)

Memory
7.8MiB live, 23.3MiB allocated
Compiler

Compiled 48 to 34 computations (29.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...